Filodrammatica ViVa di Vigolo Vattaro - Altopiano della Vigolana (Trento) - Italia

Menu  Menu
Notizie
Attivitą
Tabella attivitą
Rassegne
Spettacoli
Scritti
Notizie dall'interno
Guide
Software/Hardware libero
Miei progetti
Mappa sito
Foto
Download
Mio curriculum
Dove siamo

Vedi anche  Vedi anche
 Orologio con Arduino
 Due Arduino in wireless

Guide » Arduino » Due Arduino in wireless

Arduino Uno e Arduino Leonardo collegati in wireless con 2 moduli ACP220

Gli schemi per l'Arduino Uno e Leonardo sono identici:

La comunicazione con il modulo APC220 avviene tramite i pin 0 (RX), (RX1 su Leonardo) e 1 (TX), (TX1 su Leonardo). Il piedino 2 alimenta il led tramite una resistenza da 470 ohm e il piedino 3 legge la condizione del deviatore a levetta (switch) usato come interruttore con una resitenza di pull-down da 10 kohm collegata tra l'uscita del pulsante e massa.

Schetch per Arduino Uno:

// set pin:
const int switchPin = 3;     // pin dove è collegato lo switch
const int ledPin =  2;       // pin dov'è collegato il LED
 
// variabili:
int switchState = 0;         // memorizza lo stato dello switch
int intSerialVal = 0;        // memorizza il Serial Value
 
// inizializza
void setup() {
  pinMode(ledPin, OUTPUT);      
  pinMode(switchPin, INPUT);
  Serial.begin(9600);
  // legge lo stato iniziale dello switch
  switchState = digitalRead(switchPin);
}
 
// programma loop
void loop()
{   
  // accende o spegne il led in base al valore letto sulla seriale
  intSerialVal = Serial.read();     // legge il valore "0" o "1" sulla seriale
  switch (intSerialVal) {
    case '0':
      digitalWrite(ledPin,LOW);     // spegne il led
      break;
    case '1': 
      digitalWrite(ledPin,HIGH);    // accende il led
      break;
  } 
 
  // se lo stato dello switch è cambiato invia sulla seriale il valore "0" oppure "1"
  switch (digitalRead(switchPin)) { // legge lo stato del pin 3 (condizione dello switch)
    case HIGH:
      if (switchState == LOW) {     // se la variabile switchState è LOW e lo switch è aperto
        Serial.println("0");               // invia "0" sulla seriale
        switchState = HIGH;           // pone la variabile switchState a HIGH
      }
      break;
    case LOW:
      if (switchState == HIGH) {    // se la variabile switchState è HIGH e lo switch è chiuso
        Serial.println("1");               //  invia "0" sulla seriale
        switchState = LOW;            // pone la variabile switchState a LOW
      }
      break;  
  }
}
 
Il programma per Arduino Leonardo è identico bisogna solo sostituire tutti i comandi Serial. con Serial1.
Serial.begin(9600) con Serial1.begin(9600)
Serial.read() in Serial1.read()
Serial.println("0") in Serial1.println("0")
Serial.println("1") in Serial1.println("1")
 

Giuseppe Tamanini

print
Calendario  Calendario
Gennaio 2019
L M M G V S D
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31

Data: 17/01/2019
Ora: 10:47
Accadde Oggi:
17 - 1 - 1991 Con il bombardamento di Bagdad hanno inizio i combattimenti della guerra del Golfo.

Santi Cattolici:
* Santa Neosnadia, vergine

Meteo  Meteo
Meteo Vigolo