ARDUINO: INTRODUZIONE ALLA PROGRAMMAZIONE DALL’INSTALLAZIONE AL PRIMO PROGETTO PASSI - Installazione software processing; - Librerie, funzioni e variabili; - Impariamo la struttura del codice; - Hello World!; - Il nostro primo progetto. INSTALLAZIONE SOFTWARE PROCESSING Per interfacciarci con arduino e gestire le uscite e gli ingressi utilizzeremo il software open source Processing. Processing non è altro che un programma simile a notepad dove possiamo scrivere in maniera testuale le nostre istruzioni e caricarle su Arduino. Il linguaggio di programmazione utilizzato si chiama C. (anche se in realtà è una piccola variante del c/c++) VARIABILI VARIABILI Le variabili sono contenitori di numeri e caratteri. Esempio: variabile Pippo = 3; numero variabile Pluto = s; caratteri Prima di riempire un contenitore bisogna prima specificare cosa andrà a contenere, se vogliamo che contenga numeri interi, con la virgola, caratteri, parole, ecc. Quindi l’istruzione corretta degli esempi sopra elencati per riempire le variabili sono: Varibile con numeri interi Numeri interi int Pippo; Pippo = 3; Variabile con carattere caratteri char Pippo; Pippo = c; Numeri con virgola float Pippo; Pippo = 13,5 Ci sono 16 possibili definizioni di variabili, ma a parte progetti molto complessi le tre appena elencate soddisferanno tutti i progetti realizzabili. In realtà è utile anche la definizione VOID che vuol dire che non contiene nulla. FUNZIONI Le funzioni più semplici che conosciamo sono quelle della calcolatrice: somma, divisione, radice quadra, ecc. Con il linguaggio c se dovessimo trovare la radice quadra di 64 faremmo nei seguenti modi: MODO1 int pippo; pippo = sqrt(64); MODO2 int pippo; int pluto; pluto = 64; pippo = sqrt(pluto); Le funzioni che interessano a noi sono: - pinMode(); // definisce quale pin di arduino utilizziamo e se lo utilizziamo come input o output - digitalRead(); // legge il valore sul pin che scegliamo; - digitalWrite(); // Imposta valore in uscita sul pin che scegliamo - delay(); // imposta un tempo scelto per ritardare la funzione LIBRERIE Le librerie sono contenitori di funzioni, ogni libreria contiene un insieme di funzioni della stessa categoria. Per esempio prima abbiamo utilizzato la funzione sqrt. Affinchè il nostro programmatore capisca cosa vuol dire sqrt dobbiamo inserire la libreria delle funzioni matematiche (math.h)nel seguente modo: #include <math.h> IMPARIAMO LA STRUTTURA DEL CODICE Il codice di arduino è composto da 3 parti: definizione librerie e variabili Setup() { definizione pin arduino } Loop() { funzioni } HELLO WORLD! Facciamo lampeggiare un led Codice: int led = 13; setup() { pinMode(led, OUTPUT); } loop() { digitalWrite(led, HIGH); delay(1000); digitalWrite(led, LOW); delay(1000); } p i n 1 3 FUNZIONI IF E FOR if(variabile condizione variabile) { } esempio: if(pippo = 10) { digitalWrite(led, HIGH); } la funzione FOR è praticamente uguale alla funzione LOOP, cioè ripete sempre quello che scriviamo alle parentesi graffe fino al conseguimento di un azione. for(i ; i<10 ; i++) { } esempio: for(i;i<10;i++) { digitalWrite(led, HIGH); delay(1000); digitalWrite(led, LOW); delay(1000); } IL NOSTRO PRIMO PROGETTO Creiamo un termometro digitale con 3 led. Nel nostro progetto utilizzeremo un sensore di temperatura e 3 LED (1 verde, 1 giallo, 1 rosso). Quando la temperatura sarà ambiente sarà illuminato solo il led verde, quando salirà sopra i 25° si illuminerà il led giallo e quando sarà sopra i 50° si illuminerà il led rosso. CIRCUITO CODICE int led1 =