Tutorial Setup Blynk untuk Arduino / Nodemcu ESP8266 / Wemos D1
Pada kesempatan kali ini saya akan menjelaskan mengenai step by step setup blynk agar terhubung ke arduino melalui internet. caranya sangatlah mudah yang pertama yaitu harus instal terlebih dahulu aplikasi blynknya bisa di playstore atau di Appstore. setelah instal aplikasinya teman-teman bisa ikuti cara lebih jelasnya yang ada di video dibawah ini. untuk koding contohnya bisa saya kasih lihat seperti dibawah ini.
a. Nodemcu ESP8266 / Wemos D1
b. Contoh Program Arduino
#include <Wire.h>
#define BLYNK_PRINT Serial
#include <SPI.h>
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
#include <SimpleTimer.h>
#include "MAX30105.h"
#include <LiquidCrystal_I2C.h>
#include "heartRate.h"
#include <Adafruit_MLX90614.h>
LiquidCrystal_I2C lcd(0x27, 16,2);
MAX30105 particleSensor;
Adafruit_MLX90614 mlx = Adafruit_MLX90614();
float TargetC;
const byte RATE_SIZE = 4; //Increase this for more averaging. 4 is good.
byte rates[RATE_SIZE]; //Array of heart rates
byte rateSpot = 0;
long lastBeat = 0; //Time at which the last beat occurred
float beatsPerMinute;
int beatAvg;
int counter;
char auth[] = "hgjhgjTJUIYRgfhjjhrerewiuoiuokjhkjgfh";
char ssid[] = "myHotspot";
char pass[] = "1234567";
SimpleTimer timer;
const int speakerPin = 12;
int ledmerah = 14;
int ledhijau = 2;
void sendSensor()
{
Blynk.virtualWrite(V5, TargetC);
Blynk.virtualWrite(V6, beatsPerMinute);
delay(1000);
}
void setup()
{
lcd.clear();
lcd.begin();
lcd.noCursor();
Serial.begin(115200);
Serial.println("Initializing...");
pinMode(ledmerah,OUTPUT);
pinMode(ledhijau,OUTPUT);
pinMode(speakerPin, OUTPUT);
digitalWrite(ledmerah,LOW);
digitalWrite(ledhijau,LOW);
Blynk.begin(auth, ssid, pass);
timer.setInterval(1000L, sendSensor);
}
void loop()
{
// Initialize sensor
if (!particleSensor.begin(Wire, I2C_SPEED_FAST)) //Use default I2C port, 400kHz speed
{
Serial.println("MAX30105 was not found. Please check wiring/power. ");
while (1);
}
Serial.println("Place your index finger on the sensor with steady pressure.");
particleSensor.setup(); //Configure sensor with default settings
particleSensor.setPulseAmplitudeRed(0x0A); //Turn Red LED to low to indicate sensor is running
particleSensor.setPulseAmplitudeGreen(0); //Turn off Green LED
long irValue = particleSensor.getIR();
if (checkForBeat(irValue) == true)
{
//We sensed a beat!
long delta = millis() - lastBeat;
lastBeat = millis();
beatsPerMinute = 60 / (delta / 1000.0);
if (beatsPerMinute < 255 && beatsPerMinute > 20)
{
rates[rateSpot++] = (byte)beatsPerMinute; //Store this reading in the array
rateSpot %= RATE_SIZE; //Wrap variable
//Take average of readings
beatAvg = 0;
for (byte x = 0 ; x < RATE_SIZE ; x++)
beatAvg += rates[x];
beatAvg /= RATE_SIZE;
}
}
counter++;
if(counter > 100){
counter = 0;
mlx.begin();
TargetC = mlx.readObjectTempC();
lcd.setCursor(0,1);
lcd.print("Temp= ");
lcd.print(TargetC);
lcd.println(" 'C ");
if (TargetC <= 37.5) {
digitalWrite(speakerPin, LOW);
digitalWrite(ledmerah,LOW);
digitalWrite(ledhijau,HIGH);
}
if (TargetC > 37.5 ) {
digitalWrite(speakerPin, HIGH);
digitalWrite(ledmerah,HIGH);
digitalWrite(ledhijau,LOW);
delay (3000);
}
Blynk.run();
timer.run();
}
lcd.setCursor(0,0);
lcd.print("BPM= ");
lcd.print(beatsPerMinute);
lcd.println(" ");
Serial.print("IR=");
Serial.print(irValue);
Serial.print(", BPM=");
Serial.print(beatsPerMinute);
Serial.print(", Avg BPM=");
Serial.print(beatAvg);
if (irValue < 50000)
Serial.print(" No finger?");
Serial.println();
}
c. VIDEO TUTORIAL
No comments:
Post a Comment