Archivi tag: arduino

Impossibile selezionare la Serial Port sull’IDE di Arduino

Mi è capitato di rispondere questa mattina ad una richiesta di aiuto da parte di un amico collega, che seguendo il mio tutorial di qualche settimana fa: Installare Arduino 0023 su Ubuntu 11.10 (Oneric Ocelot), non riusciva a rilevare la Serial Port su un account non amministratore su Ubuntu.


Nel tutorial precedentemente realizzato davo per scontato di essere all’interno dell’account amministratore.

I computer del laboratorio su cui opera il collega sono dotati di due utenti (come anche nel mio laboratorio), uno amministratore ed uno “studente” quest’ultimo con privilegi limitati.

Il problema della non rilevazione della Serial Port da parte dell’IDE Arduino, dipende dal fatto che l’utente “studente” non appartiene allo stesso gruppo a cui appartiene la porta seriale, la ttyACM0, utilizzata da Arduino. Il gruppo di appartenenza della ttyACM0 è “dialout“. Bisogna quindi modificare il gruppo di appartenenza di “studente” utilizzando il comando Unix “groups“.

groups permette di conoscere i/il gruppi/o a cui appartiene un utente. Se sul terminale digitate solamente il comando groups vi verrà restituito l’elenco dei gruppi dell’utente col quale si è loggati al sistema.
Se però volete sapere l’elenco dei gruppi a cui appartiene un utente è sufficiente digitare:

groups nome_utente

Nell’immagine che segue per conoscere i gruppi a cui appartiene l’utente amministratore “Michele“, al prompt ho digitato: groups

Procedimento

1. passate sull’account amministratore

2. andate nella directory /dev e vedete qual’é il gruppo di appartenenza di ttyACM0, nel mio caso “dialout

3. da terminale cambiate il gruppo di appartenenza di “studente” in “dialout” (o nel gruppo cui appartiene la vostra ttyACM0):

inserite la password di amministratore con:

sudo su

digitate il comando:

usermod -g dialout studente

con

group studente

dovreste verificate che il nuovo gruppo di appartenenza di studente e dialout

4. effettuate il login come “studente”

5. lanciate Arduino a questo punto comparirà la Serial Port disponibile:

Problemi di comunicazione tra Arduino e computer – come risolverli

In questi giorni ho avuto uno scambio di battute con Max, in riferimento al suo problema di comunicazione tra Arduino e computer. Poiché l’argomento è importante e già in passato mi sono giunte mail di utenti che si trovavano con la scheda Arduino bloccata o impossibilitati nel comunicare via seriale con il computer, aggiungo questo post che rimanda alla serie di commenti tra me e Max, spero possa servire.
Saluti.

Ciao Michele,
sono alle prime armi con Arduino e ho trovato il tuo sito proprio cercando la soluzione al problema
“avrdude: stk500_recv(): programmer is not responding”.
Nessuna delle soluzioni trovate in rete sembrano fare al caso mio, posso chiederti se ne capisci qualcosa?
Ho Arduino Uno su un Macbook Pro 5,1 con OSX 10.5.8. Ad ogni tentativo di caricare uno sketch (di solito uso il “blink” test) la risposta è sempre
“avrdude: stk500_recv(): programmer is not responding”.
Il problema dev’essere software perché lo stesso Arduino Uno che sto usando funziona sia su altri computer che sul mio stesso Mac su Windows in bootcamp!
Ho provato diversi tempi di upload-reset e ad alimentare l’Uno esternamente ma niente da fare. Saranno 2 settimane che ci sbatto la testa senza uscirne! Ti ringrazio intanto per l’attenzione e complimenti per il tuo impegno!
Max

Per la soluzione del problema seguite il link.

Arduino factory tour

Sieti curiosi di vedere la fabbrica dove vengono realizzate le schede Arduino?
Date uno sguardo a questo slideshow di immagini e brevi filmati:

fonte: adafruit su flickr

Carnevale della matematica: Arduino e un po’ di informatica per sapere quanto sei “brillo” quando esci dalla discoteca

Il mio secondo contributo al 45° Carnevale della matematica.

Cerco di continuo appigli nel vivere quotidiano dei miei allievi per amplificare il loro spirito critico e di osservazione al fine di condurli verso la nascita di una passione per un interesse che potrebbe trasformarsi in un lavoro futuro o in una competenza utile.
In questi anni, come più volte dichiarato su queste pagine, insegno anche l’utilizzo di Arduino, un dispositivo elettronico che mi consente di far interagire tre mondi: l’elettronica, l’informatica e il mondo fisico che ci circonda. La potenzialità di Arduino risiede nel fatto che, se opportunamente utilizzato con specifiche sperimentazioni, amplifica la curiosità e la voglia di sperimentare, creando un sistema “reazionato mentale” (nel senso elettronico del termine 🙂 ) che induce la voglia di risolvere sempre più problemi tecnici anche complessi riducendo la paura della matematica, della logica e quindi dell’informatica.

In una delle mie lezioni introduttive sull’uso di Arduino ho illustrato come possa essere possibile con un po’ di senso pratico, elettronica e informatica progettare dispositivi complessie e tra i vari esempi ho parlato di rilevatori di gas e…

…addirittura potreste misurare quanto siete brilli quando uscite dalla discoteca costruendo un etilometro

La cosa ha suscitato talmente tanto interesse che la lezione ha avuto risvolti positivi… sperimentazione e studio anche a casa!

Ma perché ho parlato di etilometro?

Tutto nacque tempo fa quando confidai ad alcuni miei studenti di 5′ la preoccupazione nell’aver visto studenti di non più di 17 anni, che usciti da scuola, alla fermata del pullman, tirarono fuori dallo zaino di scuola un softdink.

Questa la risposta lapidaria della maggioranza dei ragazzi:

STUDENTE: Prof. bere a più non posso e fare casino in discoteca, sballarsi di alcolici e dare di stomaco sono cose che accadono di continuo fuori e dentro alle discoteche che frequentiamo, gente che si ritrova in festini che nascono al puro scopo di sballarsi di superalcolici…

IO: e tu come ti comporti?

STUDENTE: io sto alla larga da tutto ciò, ho un amico che è finito sulla sedia a rotelle per un incidente era pieno di alcool ed era alla guida, fortunatamente non ha ucciso nessuno.

Queste dichiarazioni alcune volte mi fanno rabbrividire, ma purtroppo sono confermate anche dalle statistiche dell’ISTAT che nella ricerca: L’uso e l’abuso di alcol in Italia viene detto che:

Nel 2010 la quota di popolazione di 11 anni e più che ha consumato almeno una bevanda alcolica durante l’anno è pari al 65,7%, in diminuzione rispetto al 2009 (68,5%); il 26,3% della popolazione (14 milioni 126 mila persone) beve alcolici quotidianamente, mentre il 38,4% ha consumato alcol almeno una volta fuori dai pasti.

Beve vino il 53,3% delle persone di 11 anni e più, birra il 45,9% e aperitivi alcolici, amari, superalcolici o liquori il 39,9%; beve vino tutti i giorni il 24,1% e birra il 4,3% della popolazione di riferimento.

Negli ultimi 10 anni tra i giovani sono aumentati i consumatori occasionali, quelli che bevono fuori pasto e di chi consuma altri alcolici oltre a vino e birra, mentre si sono ridotti i consumatori giornalieri e quelli che bevono solo vino e birra.

Nel complesso i comportamenti a rischio nel consumo di alcol (consumo giornaliero non moderato), binge drinking (sei o più bicchieri di bevande alcoliche in un’unica occasione) e consumo di alcol da parte dei ragazzi di 11-15 anni) riguardano 8 milioni e 624 mila persone, il 16,1% della popolazione di 11 anni e più. Tale quota appare stabile nel tempo.

per i dati completi si legga il pdf dell’intera ricerca che trovate seguendo il link.

Tutto ciò è molto preoccupante ed io cosa posso fare?

Posso incominciare a rendere il “bit fisico” a misurare la quantità di alcol che uno studente ha nel sangue, con la speranza di metterlo in allerta, sperando che lo strumento da lui costruito (che serve a lui) lo sensibilizzi ancora di più rispetto al problema alcol.
Allora come sempre dico: fare e costruire per prevenire… anche con l’informatica.

Quello che segue e la prima parte di un circuito ed un software più complesso che svilupperemo con i miei allievi nei prossimi mesi, è l’inizio di una unità didattica che ho chiamato:

Ecco come ti misuro con Arduino lo sballo alcolico che ti può uccidere.
Costruiamo un etilometro indossabile

L’idea e di creare un dispositivo elettronico molto piccolo ed indossabile che può misurare in tempo reale la quantità di alcol nel sangue. Questa è la parte preliminare di costruzione del primo prototipo. Gli sviluppi successivi prevedono:

  • una versione con una barra led che indica il livello di alcol
  • una versione con un display che indica numericamente il livello di alcol

Per la costruzione del primo prototipo di cosa abbiamo bisogno?

  • scheda Arduino UNO,
  • un sensore di alcol MQ-3
  • potenziometro da 100 KOhm
  • un pizzico di informatica

La visualizzazione della quantità di alcol verrà visualizzata in tempo reale sul computer.

Non mi dilungherò molto sulle caratteristiche fisiche del sensore per approfondimenti seguite i link:

Il sensore è molto sensibile all’alcol, è costituito, come mostrato in figura, da 6 piedini di cui però ne utilizzeremo solo 4 in quanto due piedini sono duplicati. I piedini A sono tra loro collegati così come i piedini B.

 

Il sensore per funzionare deve essere riscaldato e ciò avviene collegandolo tramite i piedini H ad una tensione di alimentazione di 5V.
A questo punto scegliete quali piedini utilizzare (A o B è la stessa cosa) seguendo lo schema elettrico sopra indicato. La Vout dovrà essere inviata al pin analogico 0 di Arduino e l’altro capo della RL a GND.

L’utilizzo di un potenziometro ci consentirà di aumentare e diminuire la sensibilità dello struento.

Questo il codice:

/*
etilometro ver. 1.0
Michele Maffucci: https://www.maffucci.it
derivato dal lavoro di TigPT: http://www.LusoRobotica.com
*/

const unsigned int PIN = 0; // pin a cui sarà collegato il sensore
const unsigned int BAUD_RATE = 9600; // definiamo il boud rate della porta seriale
unsigned int valore = 0; // variabile intera non negativa per il valore rilevato dal sensore

void setup() {
Serial.begin(BAUD_RATE); // apriamo la porta seriale USB e la inizializziamo a 9600 bps.
pinMode(PIN,INPUT); // dichiariamo di utilizzare il piedino PIN come ingresso
}

void loop() {
valore = analogRead(PIN); // in valore conserviamo la lettura che proviene da PIN
Serial.println(valore); // stampiamo sulla Serial monitor "valore"
delay(500); // aggiungiamo un ritardo tra le letture successive di mezzo secondo
}

Questo il filmato:

Pilotare una matrice di led con una tastiera PS2

Poiché in ambito didattico mi occupo anche di probematiche legate alla formazione di allievi diversamente abili ho la necessità di realizzare nelle prossime settimane per un allievo un dispositivo che mi permetta di scrivere del testo su un display molto grande, il testo deve poter essere scritto mediante una normalissima tastiera PS2, stavo incominciando a progettare il dispositivo, quando una ricerca su web mi ha regalato la soluzione e guarda caso proprio su uno dei miei siti preferiti instructables, fonte di ispirazione per moltissimi miei esperimenti. Il progetto che mi risolverà il problema è: PS/2/You: Go-anywhere, LED digital message board
Nel progetto sono stati uniti insieme tre matrici di led per un totale di 768 led, una tastiera PS2, un microcontrollore Ardweeny (è dotato di un ATmega328 e lo si programma come Arduino, per il montaggio del kit seguite il link).
Probabilmente io sostituirò Ardweeny con un Arduino nano perché è già in mio possesso. Vi allego il video che mostra il funzionamento del dispositivo.