In questo progetto vedremo come controllare una scheda Arduino tramite un’altra scheda Arduino. Per questo utilizzeremo una libreria chiamata Software Serial che consentirà la comunicazione tra i due tramite collegamento UART. Questa libreria esiste già nell’IDE Arduino e non richiede alcun download.
Per poter controllare la prima scheda utilizzeremo il monitor seriale. Questo ci consentirà di controllare il LED dalla prima scheda Arduino. Questa connessione consentirà di accendere o spegnere un LED.
Adesso recupereremo il materiale necessario per il progetto:
Per comunicare tramite UART tra le due schede vengono utilizzati due pin: TX e RX della scheda Arduino ricevente e due pin digitali della scheda trasmittente. Utilizziamo quindi i due monitor seriali delle due schede per poter gestire la comunicazione tra di esse.
Con questo programma, per accendere il LED, basta aggiungere 1 nel monitor seriale e poi 0 per spegnerlo:
#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');
}
}
La libreria Software Serial è già inclusa nell’IDE Arduino, quindi non sarà necessario installarla.
Questo programma attualmente consente di accendere o spegnere il LED. Tuttavia, è possibile adattare questo programma al proprio progetto, facendolo accendere un motore o un altro componente.
Per attivare un componente puoi aggiungere qualsiasi cosa tu voglia nel parametro if. Puoi anche sostituire 1 con qualcos’altro come “On”:
if (input == 1){
Serial.println('1');
serial1.println('1');
}
Per poter disattivare questo componente, è necessario farlo in “input = 0”. È possibile modificare lo 0 in Off, ad esempio:
if (input == 0){
Serial.println('0');
serial1.println('0');
}