Her er en motorstyring for start og stopp av to motorer med felles stopp. Motorene kan enten startes og stoppes fra lokalt betjeningspanel eller fra mobiltelefon via Blynk-applikasjon.
Man må også lage en app på mobiltelefonen pluss at man må konfigurere riktig port i filen C:\Users\Win\Documents\Arduino\libraries\Blynk\scripts\blynk-ser.bat
Skisse av oppkobling 5V del (230V Del kommer i tillegg):
Programkode for Arduino:
#include <BlynkSimpleStream.h> char auth[] = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"; void setup() { pinMode(2, INPUT); pinMode(3, INPUT); pinMode(4, INPUT); pinMode(9, OUTPUT); pinMode(10, OUTPUT); Serial.begin(9600); Blynk.begin(Serial, auth); } int rstart1; BLYNK_WRITE(V1) { rstart1 = param.asInt(); } int rstart2; BLYNK_WRITE(V2) { rstart2 = param.asInt(); } int rstop; BLYNK_WRITE(V3) { rstop = param.asInt(); } void loop() { Blynk.run(); if (digitalRead(2) || rstart1){digitalWrite(9,1);} if (digitalRead(3) || rstart2){digitalWrite(10,1);} if (digitalRead(4) || rstop){digitalWrite(9,0); digitalWrite(10,0); } if (digitalRead(9)){Blynk.virtualWrite(V4, 255);} if (!digitalRead(9)){Blynk.virtualWrite(V4, 0);} if (digitalRead(10)){Blynk.virtualWrite(V5, 255);} if (!digitalRead(10)){Blynk.virtualWrite(V5, 0);} delay(20); }
Vi vil også ha behov for Blynk dokumentasjon i forbindelse med utvikling av selve Mobil-appen.
Her er en forbedret programkode som bare oppdaterer 1 gang i sekundet.
#include <BlynkSimpleStream.h> char auth[] = "zbjoXyfO2Za3FtFLSrD_x52HXBzo__vd"; BlynkTimer timer; // Read start-1 signal from phone int rstart1; BLYNK_WRITE(V1) { rstart1 = param.asInt(); } // Read Start-2 signal from phone int rstart2; BLYNK_WRITE(V2) { rstart2 = param.asInt(); } // Read stop signal from phone int rstop; BLYNK_WRITE(V3) { rstop = param.asInt(); } void myTimerEvent() { if (digitalRead(2) || rstart1){digitalWrite(9,1);} if (digitalRead(3) || rstart2){digitalWrite(10,1);} if (digitalRead(4) || rstop){digitalWrite(9,0); digitalWrite(10,0);} // Write confirmation feedback on V4 and V5: if (digitalRead(9)){Blynk.virtualWrite(V4, 255);} else {Blynk.virtualWrite(V4, 0);} if (digitalRead(10)){Blynk.virtualWrite(V5, 255);} else {Blynk.virtualWrite(V5, 0);} } void setup() { pinMode(2, INPUT); pinMode(3, INPUT); pinMode(4, INPUT); pinMode(9, OUTPUT); pinMode(10, OUTPUT); Serial.begin(9600); Blynk.begin(Serial, auth); timer.setInterval(1000L, myTimerEvent); } void loop() { Blynk.run(); timer.run(); }
For styrestrøm og hovedstrøm, se denne linken.