Archivi tag: pin

Errori comuni nell’uso di Arduino – confondere pin analogici con pin digitali

Come sicuramente saprete i pin analogici di Arduino UNO, da A0 a A5 possono essere utilizzati anche in modalità digitale e questa caratteristica alcune volte crea qualche confusione in quanto i pin se vengono utilizzati in modalità analogica non è necessario dichiararne il pinMode all’interno del setup(), ciò ovviamente non accade se bisogna usarli in modalità digitale.
Dopo un po’ questa funzionalità viene memorizzata, un modo per non dimenticare questa caratteristica potrebbe essere quella di inserire una dichiarazione “inutile” che ne rammenta la modalità di utilizzo:

void setup() {
   Serial.begin(9600);
   analogRead(A2); // Sensore di luminosità
   pinMode(13, OUTPUT);
   pinMode(2, INPUT);
}

In ogni caso, per i miei studenti chiedo di ricordare a mente senza aggiungere dichiarazioni inutili, ma se si è all’inizio tale notazione può essere accettata.

Un’altra cosa che noto  confonde è l’uso della notazione Ax per i pin digitali e non del valore decimale.
In Arduino.h viene definito ad esempio A2 come una costante di tipo intero. Su Arduino UNO ad A2 è assegnato il valore numerico 16 e poiché è una costante di tipo intero possiamo trattare a tutti gli effetti A2 come se si trattasse del numero 16.

Per completezza ricordo che:

  • A0 -> 14
  • A1 -> 15
  • A2 -> 16
  • A3 -> 17
  • A4 -> 18
  • A5 -> 19

In generale sconsiglio di indicare i pin analogici con il loro valore numerico per due motivi:

  1. la notazione Ax immediatamente mette in evidenza che si tratta di pin analogico,
  2. se utilizziamo su una scheda con più pin I/O, come un Arduino Mega non andremo in confusione e non rischieremo far andare in collisione un pin digitale con un pin analogico nel caso ad esempio che stessimo mettendo mano ad uno sketch funzionante su Arduino Uno e che vogliamo far funzionare sul Mega, infatti su Arduino UNO l’A0 corrisponde al pin 14 della scheda mentre sull’Arduino Mega corrsiponde al pin 54 della scheda, se usiamo la notazione Ax non ci sbagliamo.

Ricordate inoltre che se all’interno del nostro loop() passiamo ad una digitalRead un valore da 0 a 5 non intendiamo segnalare un pin digitale da 0 a 5, ma uno dei pin da A0 ad A5.

Buon lavoro 🙂

LightBlue Bean – usarlo su breadboard

Una brevissima segnalazione per operare comodamente con il LightBlue Bean e ai tanti che mi hanno scritto per avere ulteriori dettagli e che desiderano sperimentare con questa piccola scheda.

Qualche giorno fa vi ho segnalato LightBlue Bean, nell’articolo ho mostrato come poterlo utilizzare comodamente con una breadboard. Di seguito vi inserisco nuovamente limmagine con il dettaglio dei piedini di collegamento.

01-saldatura-pin-su-bean

Come avrete potuto leggere dalle specifiche tecniche, la prima riga di fori fa riferimento ai pin analogici e digitali, i restanti fori di questa minuscola millefiori vengono utilizzati per saldare altri componenti, ma non sono in alcun modo connessi elettricamente alla prima riga di fori. Laggiunta di una fila di pin maschi mi permette di effettuare il collegamento su breadboard, ma connessi come nellimmagine sopra la scheda occuperebbe una parte dellarea utile della breadboard, inoltre non permetterebbe di agire comodamente sulla batteria di alimentazione della scheda.

Io ho preferito collegare i pin nellultima fila di fori del LightBlue Bean, ma ci obbliga nelleffettuare un ponticello elettrico alla prima fila di fori, cos come mostrato nellimmagine.
Se abili nella saldatura elettrica tutto ci vi porter via circa una ventina di minuti di tempo, ma credo che sar pi comodo operare con il dispositivo.

02-saldatura-pin-su-bean

03-saldatura-pin-su-bean

Per assicurare l’isolamento elettrico con altri componenti e connettori esterni alla scheda ho utilizzato del nastro isolante per isolare i ponticelli elettrici e le saldature:

04-saldatura-pin-su-bean

05-saldatura-pin-su-bean

Questo il risultato:

06-saldatura-pin-su-bean

Un grazie particolare ai colleghi Giuseppe V. che lavora presso una scuola media e Francesco R. che lavora presso un ITIS che dopo aver letto il mio articolo hanno deciso di incominciare una sperimentazione nelle loro classi.

Buona sperimentazione a tutti. 🙂

Arduino: una piattina IDE per semplificare il lavoro di sperimentazione

Recentemente la mia scuola ha rottamato diverse parti di computer, accumulati durante gli anni, ma prima di alienare la vetusta e rotta tecnologia abbiamo provveduto a recuperare quegli elementi che potrebbero tornare utili per realizzare alcune sperimentazioni in laboratori:

  • motorini interni dei cd-rom
  • alimentatori per computer per ricavarne alimentatori da banco
  • viti
  • cavi elettrici e jumper
  • piattine IDE
  • ventole di raffreddamento
  • scanner rotti per realizzare dei piccoli bromografi

E proprio le piattine IDE hanno risolto per me un problema organizzativo didattico importante.

In questo anno scolastico sto svolgendo due corsi su Arduino uno per la classe 4′ ed uno per la classe 5′, la disponibilit di schede Arduino non mi consente di munire ogni singolo allievo di 4′ e 5′ di una scheda.

A breve far richiesta di acquisto di altre schede Arduino e ne costruiremo alcune, ma l’urgenza immediata quella di far si che tutti gli allievi possano continuare le loro sperimentazioni in pi giorni senza la necessit di smontare i progetti, consentendo ad altre classi di operare sulle schede.

Per ovviare momentaneamente al problema ho utilizzate le piattine IDE recuperate dai computer rottamati per realizzare collegamenti diretti sulla breadboard in modo da mappare direttamente tutti (quasi) i pin di Arduino sulla breadboard, in questo modo l’allievo operer direttamente sui collegamenti sulla breadboard, permettendomi agevolmente di collegare e scollegare “alla bisogna” la scheda.

Tutti i collegamenti resteranno intatti e i progetti potranno continuare anche per pi giorni avendo (per ora) un numero non sufficiente di schede.

Ma come realizzare questa spartana soluzione?

Continua a leggere