Alat Monitoring Sudut Kemiringan Dataran (Tilt Level) ONLINE BLYNK
Pada kesempatan kali ini saya akan menjelaskan mengenai bagaimana cara membuat sebuah alat yang dapat digunakan untuk monitoring sudut kemiringan dataran secara online dengan menggunakan blynk sebagai aplikasi untuk pemantauannya. untuk lebih jelasnya berikut adalah daftar komponen dan kodingnya.
a. Nodemcu ESP8266
b. Sensor Potensio Slider
c. Sensor Tilt
d. Sensor Accelero MPU-6050
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#define BLYNK_PRINT Serial
#include <SPI.h>
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
#include <SimpleTimer.h>
LiquidCrystal_I2C lcd(0x27, 20, 4);
char auth[] = "hgu6576576gjhvjhgk9898gfalikgh8977hbh";
char ssid[] = "MyHotspot";
char pass[] = "123456789";
const int MPU_addr=0x68; // I2C address of the MPU-6050
int16_t AcX,AcY,AcZ,Tmp,GyX,GyY,GyZ;
SimpleTimer timer;
int out;
int miring = 16 ;
int bacaSensor;
const int analogInPin = A0; // Analog input pin that the potentiometer is attached to
int nilai;
int buzzer = D3;
float sudut;
void sendSensor()
{
Blynk.virtualWrite(V4, sudut);
Blynk.virtualWrite(V6, bacaSensor);
Blynk.virtualWrite(V5, out);
delay(1000);
}
void setup(){
Serial.begin(9600);
lcd.begin();
lcd.clear();
pinMode(miring, INPUT);
pinMode(buzzer, OUTPUT);
Blynk.begin(auth, ssid, pass);
timer.setInterval(100L, sendSensor);
Wire.begin();
Wire.beginTransmission(MPU_addr);
Wire.write(0x6B); // PWR_MGMT_1 register
Wire.write(0); // set to zero (wakes up the MPU-6050)
Wire.endTransmission(true);
digitalWrite(buzzer, LOW);
}
void loop(){
Wire.beginTransmission(MPU_addr);
Wire.write(0x3B); // starting with register 0x3B (ACCEL_XOUT_H)
Wire.endTransmission(false);
Wire.requestFrom(MPU_addr,14,true); // request a total of 14 registers
AcX=Wire.read()<<8|Wire.read(); // 0x3B (ACCEL_XOUT_H) & 0x3C (ACCEL_XOUT_L)
AcY=Wire.read()<<8|Wire.read(); // 0x3D (ACCEL_YOUT_H) & 0x3E (ACCEL_YOUT_L)
Serial.print(AcX); Serial.println('a');
Serial.print(AcY); Serial.println('b');
sudut = (AcX + 15013)/163.6;
lcd.setCursor(0,2);
lcd.print("Sudut : ");
lcd.print(sudut);
lcd.print(" ");
nilai = analogRead(analogInPin);
out = map(nilai,0,1024,0,100);
lcd.setCursor(0,0);
lcd.print("slider : ");
lcd.print(out);
lcd.print(" ");
bacaSensor = digitalRead(miring);// read TILT sensor
if(bacaSensor == 1){
lcd.setCursor(0,1);
lcd.print("Tilt: ");
lcd.print(bacaSensor);
lcd.print(" Miring ");
digitalWrite(buzzer, HIGH);
}
if(bacaSensor == 0){
lcd.setCursor(0,1);
lcd.print("Tilt: ");
lcd.print(bacaSensor);
lcd.print(" Normal ");
digitalWrite(buzzer, LOW);
}
Blynk.run();
timer.run();
delay(100);
}
f. VIDEO HASILNYA
No comments:
Post a Comment