Blynk Motorstyring – 2 – motorer

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.