Archivi categoria: arduino

Simulatori Arduino

La richiesta di informazioni sull’esistenza di simulatori di Arduino su PC e tra le domande che più di sovente mi vengono poste via e-mail, a questa domanda ho appena risposto con un commento a Giuseppe, che ringrazio.

Riporto di seguito i link per renderli maggiormente rintracciabile da chi interessato li aggiungerò anche nella sezine Arduino di questo sito.

Arduino: Il mio stack su delicious


Ho appena segnalato su vocescuola.it la nuova ed utilissima funzionalità di delicious: Stacks:

Non solo collezioni testuali di link, ma vere è proprie pile di link con immagini e filmati da collezionare e condividere con chi volete. Certamente un modo rapidissimo di collezionare informazioni da condividere rapidamente con i vostri allievi. Immagino ad esempio alla realizzazione di cacce al tesoro per i vostri allievi, oppure ad una collezione di volumi di link suddivisi per argomento da utilizzare come sitografia di studio da proporre in modo più interessante ai propri allievi.

E quindi non potevo non realizzare, per i miei studenti e per i moltissimi che utilizzano le mie lezioni su questo sito uno Stak su delicious tutto dedicato ad Arduino dal titolo:

Arduino: The best web resources for learning Arduino

Ho collezionato quelle che ritengo le migliori risorse didattiche per imparare ad utilizzare Arduino. Cercherò di mantenere aggiornato questo Stack e lo utilizzerò come punto di riferimento per la realizzazione di corsi on-line, approfondimenti e consigli di studio per i miei studenti.

Per rimanere aggiornati sugli aggiornamenti del mio stak su delicious fate click sul pulsante

follow staks

nella colonna destra della mia pagina delicious.

Oppure per vedere gli staks che sto creando seguite il link.

La lista di tutti i miei link su delicious la trovate al seguente link: http://delicious.com/vocescuola

Leggete e sperimentate!

Massimo Banzi ci spiega il futuro di Arduino

Da Elettronica Open Source il video sottotitolato in italiano dell’intervento di Massimo Banzi al MakerFaire2011 di New York dove è stato presentato ArduinoDue.

Risorse web per imparare a programmare in C

Mi è giunto pochi minuti fa un messaggio via facebook da parte di Eric G. che mi chiede informazioni su libri didattici per imparare a programmare C:

… sono un ex studente di un istituto professionale IPSIA di Gorizia. Complimenti per le nozioni del suo corso Arduino che ho trovato molto utili. Nel suo corso si parla di avere almeno una base di nozioni di programmazione, quando ero studente io ho seguito solo corsi di elettronica cablata con i C MOS e operazionali, il mondo Arduino mi affascina, ho acquistato le schede e ho fatto le varie prove con successo, ma vorrei imparare a costruirmi un programma da solo, ma mi mancano le basi. Quello che vorrei da lei è un consiglio su che libri scolastici (e i riferimenti per rintracciarli sul mercato) posso acquistare per imparare le basi della programmazione da autodidatta, sapendo che Arduino lavora con il C. La ringrazio fin da ora per il suo tempo e i suoi consigli. Saluti cordiali.

Gentile Eric grazie per avermi contattato, il tuo messaggio giunge proprio in un momento in cui mi accingo a preparare il corso di C per i miei studenti di 5′ e quindi di seguito ti segnalo una serie di link molto utili, che consiglierò ai miei studenti e da cui estrarrò alcune parti per strutturare il corso.

Alcune precisazioni su Arduino e la sua programmazione:

Gli sketch di Arduino sono in un C semplificato, con una sintassi un po’ diversa dall’ANSI C. Per essere precisi il linguaggio che si usa è una versione basata su Wiring che consente di rendere semplice la scrittura di programmi in C e C++. L’ambiente di sviluppo è basato su Processing.
Quando scrivi uno sketck in Arduino, nel momento in cui fai click sul pulsante di upload, il tuo sketch viene tradotto in linguaggio C, passato al compilatore avr-gcc che trasforma in linguaggio macchina comprensibile al microcontrollore posto sulla scheda Arduino.
In ogni caso se impari a programmare in C sarà sicuramente semplicissimo implementare gli sketch di Arduino.

Visto che il tuo interesse è Arduino potrebbe interessarti prima di ogni cosa l’ottimo libro gratuito: Arduino Programming Notebook ottimo per imparare a programmare Arduino nel linguaggio derivato (e simile) dal C.

Questa parte della prefazione del libro:

This notebook serves as a convenient, easy to use programming reference for the command structure and basic syntax of the Arduino microcontroller. To keep it simple, certain exclusions were made that make this a beginner’s reference best used as a secondary source alongside other websites, books, workshops, or classes. This decision has lead to a slight emphasis on using the Arduino for standalone purposes and, for example, excludes the more complex uses of arrays or advanced forms of serial communication.

Beginning with the basic structure of Arduino’s C derived programming language, this notebook continues on to describe the syntax of the most common elements of the language and illustrates their usage with examples and code fragments. This includes many functions of the core library followed by an appendix with sample schematics and starter programs. The overall format compliments O’Sullivan and Igoe’s Physical Computing where possible…

Per quanto riguarda la lista di manuali selezionati, questa è la lista:

Ringrazio mia sorella, Maria Grazia Maffucci, insegnante di informatica, per avermi segnalato parte della lista sopra indicata.

Arduino LilyPad – lezione 05: sensore di luce

In questa lezione vi mostrerò come utilizzare il sensore luminoso: LilyPad Light Sensor acquistato presso SparkFun.

Passo 1

Come per le lezioni precedenti utilizziamo un cartocino di forma circolare per proteggere il circuito e per aumentare la presa dei morsetti a coccodrillo.

Passo 2

Collegate come rappresentato nell’immagine il + del sensore luminoso a al + di LilyPad, il – del sensore luminoso al – di LilyPad e il piedino S del sensore al piedino A0 di LilyPad:

Passo 3

Avviate l’IDE Arduino

Passo 4

Copiate il codice allegato all’interno di una nuova finestra dell’IDE.

/* Arduino LilyPad: lezione 05: sensore di luce
 * Uso del modulo LilyPad Light Sensor
 * Michele Maffucci
 * https://www.maffucci.it/
 * Progetto originale:
 * http://web.media.mit.edu/~leah/LilyPad/08_sensors.html
 */

int ledPin = 13;	// il LED e' collegato al pin digitale 13
int sensorPin = 0;	// il sensore di luce e connesso al piedino analogico 0
int sensorValue;	// variabile per memorizzare il valore rilevato dal sensore

void setup()
{
         pinMode(ledPin, OUTPUT);	// imposta ledPin come pin di output
         Serial.begin(9600);	//inizializza la porta seriale
         digitalWrite(ledPin, HIGH);	// accende il LED
}

void loop()
{
          sensorValue = analogRead(sensorPin);	// legge il valore dal sensore
          Serial.println(sensorValue);	// invia il valore al computer
          delay(100);	// ritardo di 1/10 di secondo
}

Passo 5

Chiarimenti sul codice.

Vi ricordo che con l’istruzione:

Serial.begin(9600);

apriamo la porta seriale USB e la inizializziamo a 9600 bps.

Per una spiegazione esaustiva dell’utilizzo del “Serial monitor” vi invito alla lettura della lezione: Arduino – lezione 04: realizzare un programma che identifica le variazioni di stato

Sempre nella lezione sopra indicata potete trovare dettagli sull’uso di:

Serial.println(sensorValue);

stampa sulla console di uscita il testo o il valore specificato tra parentesi:

Serial.print(78) stampa “78″
Serial.print(1.23456) stampa “1.23″
Serial.print(byte(78)) stampa “N” (il cui valore ASCII e’ 78)
Serial.print(‘N’) stampa “N”
Serial.print(“Hello world.”) stampa “Hello world.”

nel nostro caso “Serial.print(sensorValue);” stamperà sulla console di uscita il valore memorizzato nella variabile “sensorValue“.

Ricordo inoltre, come spiegato nella lezione: Arduino – lezione 02: facciamo lampeggiare un led

delay() è un’istruzione molto semplice che non fa altro che interrompere per un determinato tempo l’esecuzione del programma.
L’istruzione ha un solo argomento numerico che indica il numero di millisecondi di attesa.

Quindi “delay(100)” vuol dire 100 millisecondi,
cioè 100/1000 secondi
ovvero 1/10 di secondo.

Passo 6

Compilate il codice ed effettuate l’upload su LilyPad, aprite la console di uscita:

Non appena il LED si accende su LilyPad, si vedranno i valori del sensore comparire nella console di uscita e l’intervallo di valori oscillerà tra 0 (buio assoluto) a 1024 (luce piena):