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;
© Copyright 2024 Paperzz