În acest proiect vom vedea cum se controlează o placă Arduino cu o altă placă Arduino. Pentru aceasta vom folosi o bibliotecă numită Software Serial care va permite comunicarea între cele două prin legătură UART. Această bibliotecă există deja în Arduino IDE fără nimic de descărcat.

Pentru a putea controla prima placă vom folosi monitorul serial. Acest lucru ne va permite să controlăm LED-ul de pe prima placă Arduino. Această conexiune vă va permite să aprindeți sau să stingeți un LED.

Dificultate:

Echipamentul necesar

Acum vom obține materialele necesare pentru proiect:

  • O placă Arduino Uno
  • Un LED roșu
  • O rezistență de 220 ohmi
  • 3 fire de conectare

Schița proiectului

Cum funcționează?

Pentru a comunica prin UART între cele două plăci, se utilizează doi pini: TX și RX ai plăcii Arduino de recepție și doi pini digitali ai plăcii de transmisie. Apoi folosim cele două monitoare seriale ale celor două plăci pentru a putea gestiona comunicarea dintre ele.

Programul proiectului

Cu acest program, pentru a porni LED-ul, trebuie doar să adăugați un 1 în monitorul serial, apoi un 0 pentru a-l opri:
Iată programul:
#include "SoftwareSerial.h" 
SoftwareSerial serial1(2,3); 

int input; 

void setup()
{
  Serial.begin(9600); 
  serial1.begin(9600); 
}

void loop() 
{
  while (Serial.available()>0){
    input = Serial.parseInt(); 
  if (input == 1){
    Serial.println('1');
    serial1.println('1');
  }
  if (input == 0){
    Serial.println('0');
    serial1.println('0');
  }
}

Cum se instalează biblioteca serială de software?

Biblioteca Software Serial este deja inclusă în Arduino IDE, deci nu va trebui să o instalați.

Cum se modifică programul?

Acest program vă permite în prezent să aprindeți sau să stingeți LED-ul. Totuși, puteți adapta acest program la proiectul dvs., făcându-l să pornească un motor sau o altă componentă.

Pentru a activa o componentă, puteți adăuga orice doriți în fișierul if. De asemenea, puteți înlocui 1 cu altceva, cum ar fi „Activat”:

  if (input == 1){
    Serial.println('1');
    serial1.println('1');
  }

Pentru a putea dezactiva această componentă, trebuie să o faceți în „input = 0”. Puteți schimba 0 la Off, de exemplu:

 if (input == 0){
    Serial.println('0');
    serial1.println('0');
  }

Simulare de proiect

Iată simularea proiectului pe Tinkercad: