Galih Agung Pratama 99661
Published

Engine oil monitoring system on motorbikes

The transmission oil pressure switch reads the transmission oil pressure and transfers this information to the car's computer.

BeginnerWork in progress4 hours1,063
Engine oil monitoring system on motorbikes

Things used in this project

Hardware components

Wemos D1 Mini
Espressif Wemos D1 Mini
×1
RGB Backlight LCD - 16x2
Adafruit RGB Backlight LCD - 16x2
×1
Arduino Temperatur Sensor & Oil Pressure Switch Liugong - 30B0849-TSensor
×1

Software apps and online services

Arduino IDE
Arduino IDE

Hand tools and fabrication machines

Soldering iron (generic)
Soldering iron (generic)

Story

Read more

Schematics

_xrdofoeef9_i1CIlPrWWw.jpeg

Code

project final

Arduino
#include <GDBStub.h>

include <ESP8266WiFi.h>
include <ESP8266WiFiMulti.h>
include <ESP8266HTTPClient.h>
include <WiFiClient.h>
ESP8266WiFiMulti WiFiMulti; boolean connectionWasAlive = true; char ssid[] = "ISTANA_BONEKA"; char pass[] = "terminal";

include <Arduino.h>
include <ArduinoJson.h>

include <Wire.h>
include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2); int data; int kmSekarang; int kmAkhir; int kmService; int serviceTime = 5000; String datas; String url; String payload; String payload2; String dataIsi; bool pertama = true; const char *host = "http://reminder.96.lt/ambilData.php";

void setup() {
{
   Wire.begin(D4,D3);
   Serial.begin(115200);
   pinMode(A0,INPUT);
   lcd.init();
   lcd.backlight();
   lcd.setCursor(0,0);
   lcd.print("Reminder Oli SM");
   lcd.setCursor(1,0);
   lcd.print("");
   delay(500);
   }
 {
 Serial.begin(115200);
 delay(10);
 Serial.println();
 Serial.print("Menghubungkan WiFi = ");
 Serial.println(ssid);
 WiFi.begin(ssid, pass);
 while (WiFi.status() != WL_CONNECTED)
 {
   delay(500);
   Serial.print(".");
   }
 Serial.println("");
 Serial.println("WiFi Terhubung");
 Serial.println("=============================================");
 }
 {
   Serial.println("Mengambil Data Dari Server");
   {
     url = "http://reminder.96.lt/ambilData.php";
     Serial.println(url);
     }
     HTTPClient http;
     Serial.print("[HTTP] begin...\n");
     http.begin(url);
     Serial.print("[HTTP] GET...\n");
     int httpCode = http.GET();
     if (httpCode > 0)
     {
       Serial.printf("[HTTP] GET... code: %d\n", httpCode);
       if (httpCode == HTTP_CODE_OK)
       {
         const size_t capacity = JSON_OBJECT_SIZE(3) + JSON_ARRAY_SIZE(2) + 88;
         DynamicJsonBuffer jsonBuffer(capacity);
         payload2 = http.getString();
         JsonObject& root = jsonBuffer.parseObject(payload2);
         if (!root.success())
         {
           Serial.println(F("Parsing failed!"));
           return;
           }
           Serial.print("KM Awal = ");
           Serial.println(root["data"][0]["
kmAwal"].as<char*>());
           Serial.println("=============================================");
           Serial.println();
         }
         else
         {
           Serial.printf("[HTTP] GET... failed, error: %s\n", http.errorToString(httpCode).c_str());
           }
       }
       http.end();
 }

}

void loop() {
{
   int dataCetak = ambildataSensor();
   Serial.flush();
   kmSekarang =  dataCetak;
   kmService += kmSekarang;
   Serial.println(kmService);
   if(kmService > serviceTime)
   {
     Serial.println("Waktunya Service");
     lcd.clear();
     lcd.setCursor(0,0);
     lcd.print("Service Time");
     serviceTime += 5000;
     lcd.clear();
     lcd.print("Service:");
     lcd.setCursor(10,0);
     lcd.print(serviceTime);
     }
     else
     {
       lcd.setCursor(0,1);
       lcd.print("Km:");
       lcd.setCursor(4,1);
       lcd.print(kmService);
       }
       datas = String(ambildataSensor());
       tulisDataSdCard(datas);
       delay(1000);
       httpGet();
       delay(1000); 
  }

}

void httpGet() {
{
   Serial.println("Mengirim Data Ke Server");
   String noPol= "b2525via";
   int dataSensor = ambildataSensor();
   if (pertama)
   {
     url = "http://reminder.96.lt/pertama.php?no=b2525via";
     pertama = false;
     Serial.println(url);
     }
     else
     {
     url = "http://reminder.96.lt/SETTER2.php?km="+String(kmService);
     Serial.println (url);
     String urlPlat = "&no="+noPol;
     }
     HTTPClient http;
     Serial.print("[HTTP] begin...\n");
     http.begin(url);
     Serial.print("[HTTP] GET...\n");
     int httpCode = http.GET();
     if (httpCode > 0)
     {
       Serial.printf("[HTTP] GET... code: %d\n", httpCode);
       if (httpCode == HTTP_CODE_OK)
       {
         payload = http.getString();
         Serial.println(payload);
         Serial.println("=============================================");
         Serial.println();
         }
         else
         {
           Serial.printf("[HTTP] GET... failed, error: %s\n", http.errorToString(httpCode).c_str());
           }
       }
       http.end();
    }
    delay(1000);

}

int ambildataSensor() {
Serial.println("Mengambil Data Sensor Jarak Tempuh/Jam");
 int dataKmRata2 = 0;
 for(int i = 0 ;i < 100;i++)
 {
   int data = analogRead(A0);
   int dataDalamKm = map(data,100,1024,0,120);
   dataKmRata2 += dataDalamKm;
   delay(10);
   }
   if(dataKmRata2/100 <= 0 || dataKmRata2/100 >= 120)
   {
     Serial.println("Rata-Rata Data Sensor = 0 ");
     Serial.println("=============================================");
     return 0;
     }
     else
     {
       Serial.println("Rata-Rata Data Sensor = "+String(dataKmRata2/100));
       Serial.println("=============================================");
       return dataKmRata2/100+200;
       }
       delay(1000);

}

Credits

Galih Agung Pratama 99661

Galih Agung Pratama 99661

2 projects • 0 followers

Comments