CORSO ARDUINO

CORSO ARDUINO
Giulio Fieramosca
Stefano Panichi
Corsi GOLEM 2014
Di cosa parliamo oggi...
Sensoristica complessa: i protocolli di comunicazione;
Shield per Arduino: circuiti avanzati pronti all'uso.
Protocolli di comunicazione
I microcontrollori dispongono di alcune periferiche in
grado di gestire dei protocolli di comunicazione
complessi:
●
Seriale: TX/RX
●
I 2C: SDA/SCK
●
OneWire: DAT
●
SPI: MISO/MOSI/CLK/SS
DHT11 – Sensore di temperatura e umidità
●
●
Sensore che comunica
con protocollo OneWire;
Le informazioni in output,
ricevute sul pin 2 di
Arduino, vanno
decodificate attraverso
un'apposita libreria
DHT11 - listato
#include <dht11.h>
dht11 DHT;
#define DHT11_PIN 4
void setup(){
Serial.begin(9600);
Serial.println("DHT TEST PROGRAM
");
Serial.print("LIBRARY VERSION: ");
Serial.println(DHT11LIB_VERSION);
Serial.println();
Serial.println("Type,\tstatus,\tHumid
ity (%),\tTemperature (C)");
}
void loop(){
int chk;
Serial.print("DHT11, \t");
chk = DHT.read(DHT11_PIN);
switch (chk){
case DHTLIB_OK:
Serial.print("OK,\t");
break;
case DHTLIB_ERROR_CHECKSUM:
Serial.print("Checksum error,\t");
break;
case DHTLIB_ERROR_TIMEOUT:
Serial.print("Time
out error,\t");
break;
default:
Serial.print("Unknown
error,\t");
break;
}
Serial.print(DHT.humidity,1);
Serial.print(",\t");
Serial.println(DHT.temperature,1);
}
delay(1000);
Xbee – Wireless
●
●
●
Sono moduli per la comunicazione senza fili, che
comunicano con Arduino via seriale;
Si collegano con un adattatore o uno shield appositi;
Si usano a coppie, e hanno un loro linguaggo per la
prima programmazione, dopodiché basta inviare dati
via seriale;
Xbee – Listato
const short sensore = 0;
void setup() {
Serial.begin(9600);
}
void loop() {
Serial.print("Lettura:");
Serial.println(analogRead(sensore));
delay(1000);
}
Accelerometro MPU 6050
●
●
Sensore I2C con giroscopio e accelerometro 3 assi
Anche in questo caso è necessaria una libreria che
decodifichi le informazioni, secondo tale protocollo;
Shields
Sono schede progettate appositamente per essere inserite
su Arduino, hanno infatti una piedinatura corrispondente.
Più shields possono essere impilati uno sull'altro.
Ethernet Shield
●
●
Scheda che aggiunge un collegamento ethernet ad
Arduino, con cui è possibile sia leggere informazioni su
server esterni, sia inviare dati in rete;
Comunica in SPI, è presente nell'IDE l'apposita libreria;