Tässä projektissa näemme, miten Arduino-levyä ohjataan toisella Arduino-levyllä. Tätä varten käytämme kirjastoa nimeltä Software Serial, joka mahdollistaa kahden välisen kommunikaation UART-linkin kautta. Tämä kirjasto on jo olemassa Arduino IDE:ssä ilman ladattavaa sisältöä. Ensimmäisen kortin hallitsemiseksi käytämme sarjaporttimonitoria. Näin voimme ohjata LEDiä ensimmäiseltä Arduino-levyltä. Tämän liitännän avulla voit kytkeä LEDin päälle tai pois päältä.

Vaikeusaste:

Tarvittavat varusteet

Nyt hankimme projektiin tarvittavat materiaalit:

  • Arduino Uno -levy
  • Punainen LED
  • 220 ohmin vastus
  • 3 liitäntäjohtoa

Hankkeen pääpiirteet

Miten se toimii?

Kahden kortin väliseen UART-tiedonsiirtoon käytetään kahta nastaa: vastaanottavan Arduino-kortin TX ja RX sekä lähettävässä kortin kahta digitaalista nastaa. Sitten käytämme kahden kortin kahta sarjamonitoria voidaksemme hallita niiden välistä kommunikaatiota.

Projektiohjelma

Tämän ohjelman avulla LED-valon kytkemiseksi päälle sinun tarvitsee vain lisätä sarjaporttinäyttöön luku 1 ja sitten luku 0 sen sammuttamiseksi:

Tässä on ohjelma:

#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');
  }
}

Kuinka asentaa ohjelmistosarjakirjasto?

Software Serial -kirjasto sisältyy jo Arduino IDE:hen, joten sinun ei tarvitse asentaa sitä.

Miten ohjelmaa muokataan?

Tällä hetkellä tällä ohjelmalla voit kytkeä LEDin päälle tai pois päältä. Voit kuitenkin mukauttaa tätä ohjelmaa projektiisi asettamalla sen käynnistämään moottorin tai muun komponentin.

Voit ottaa komponentin käyttöön lisäämällä if-operaattoriin mitä tahansa. Voit myös korvata 1:n jollain muulla, kuten ”On”:

  if (input == 1){
    Serial.println('1');
    serial1.println('1');
  }
Jotta voit kytkeä tämän komponentin pois päältä, sinun on tehtävä se kohdassa ”input = 0”. Voit muuttaa 0:n esimerkiksi laittaaksesi arvon pois päältä:
 if (input == 0){
    Serial.println('0');
    serial1.println('0');
  }

Projektin simulointi

Tässä on projektin simulaatio tinkercadilla: