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
Agosto 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: 19/08/2019
Ora: 16:24
Accadde Oggi:
19 - 8 - 1974 In Grecia ondata di risentimento antiamericano. Sembra certo che gli Stati Uniti dovranno chiudere le proprie basi militari nel paese.

Santi Cattolici:
* San Donato di Sisteron, eremita

Meteo  Meteo
Meteo Vigolo