Arduino all'Ospizio dei Vechietti

Ritorna, a grande richiesta il Bar del Forum.
Rispondi
Avatar utente
Enotria
Buon utente
Messaggi: 1958
Iscritto il: 07/06/2012, 7:43
Località: Ferrara
Contatta:

Arduino all'Ospizio dei Vechietti

Messaggio da Enotria »

Ragazzi, qui all’Ospizio dei Vecchietti ci si annoia, non c’è molto da fare.

Ed allora ognuno cerca di passarsi il tempo come può, cercando di mantenere attiva la mente e, se possibile, anche la manualità.

Un bel gioco che è ottimo per evitare la pigrizia e per far lavorare il cervello, è la progettazione di strumenti, più o meno necessari, ma seguendo e assecondando ogni nostra idea, per quanto stramba possa essere.

Ad esempio, l’altro giorno, su richiesta di suor Giacomina, la nostra cuoca, ho costruito un telecomando che dal salone o dal giardino dove di solito noi “falsi giovani” ci ritroviamo, permette di accendere il bollitore del te nella cucinetta, fa partire il microonde che scongela le paste e i cornetti ed infine avverte con una bella sirena anti aerea quando tutto è pronto: sapete, noi siamo anche un po’ duretti di orecchio !
Il tutto attivato da un piccolo trasmettitore che suor Giacomina tiene in tasca.
Il radiocomando
Il radiocomando


La prima pensata era come fare ad accendere e spegnere con lo stesso pulsante, in modo da poter utilizzare tutti i quattro canali.
L’idea buona l’ha avuta l’altro mio compagno di avventura, tale Nicola Ricci di cui altre volte vi ho parlato ed abbiamo convenuto di tenere conto del tempo di premuta di ciascun tasto: premuto per almeno mezzo secondo si accende, premuto con un colpo rapido si spegne.
Poi serviva un qualche cosa che controllasse quali tasti venivano premuti, per quanto tempo e poi azionasse nel modo giusto i relè che fanno da attuatori. Il controllore perfetto, chi poteva essere se non Arduino, la scheda elettronica programmabile che anche i vecchietti dell’Ospizio potevano gestire.
Siamo così partiti con gli acquisti: utilizzando tutti i risparmi della pensione abbiamo preso una scheda rice-trasmittente a 4 canali ed una scheda con i quattro relè ed infine la scheda di Arduino.
I vari componenti collegati fra loro
I vari componenti collegati fra loro
Se non è chiaro come le schede sono collegate fra loro, può essere utile guardare uno schema di montaggio:
Schema pratico di montaggio
Schema pratico di montaggio

Mi dispiace che non avevo il disegno delle due schede, per questo le ho rappresentate in modo semplicistico, indicando però i loro terminali con le sigle che li identificano.

Collegati tutti i fili fra loro, abbiamo iniziato a discutere sul programma e su come risolvere le diverse funzioni.

Alla fine il software utilizzato è il più semplice che potevamo pensare, eppure svolge egregiamente il suo compito. Lo riportiamo qui di seguito in formato testo, in modo che chiunque possa esaminarlo:


/*
* Radiocomando a 4 canali 26/05/2016
* con 4 attuatori a relè elettromeccanico
*
*
*/


#define SOGLIA 500 // Tempo in millisec: se > Accende, se < spegne

long Iniz=0;

void setup() {
// Pin di comando dei relè
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
digitalWrite(4,HIGH);
digitalWrite(5,HIGH);
digitalWrite(6,HIGH);
digitalWrite(7,HIGH);

// Pin di input dal ricevitore
pinMode(8, INPUT);
pinMode(9, INPUT);
pinMode(10, INPUT);
pinMode(11, INPUT);

pinMode(13, INPUT); // Pin di Validazione del segnale

}

void loop() {

if (digitalRead(8)==1) {
if (ImpLungo()==true) digitalWrite(7, LOW);
else digitalWrite(7, HIGH);
}

if (digitalRead(9)==1) {
if (ImpLungo()==true) digitalWrite(6, LOW);
else digitalWrite(6, HIGH);
}

if (digitalRead(10)==1) {
if (ImpLungo()==true) digitalWrite(5, LOW);
else digitalWrite(5, HIGH);
}

if (digitalRead(11)==1) {
if (ImpLungo()==true) digitalWrite(4, LOW);
else digitalWrite(4, HIGH);
}

}



// ========== Funzioni =============================

boolean ImpLungo(){
Iniz = millis();
while(digitalRead(13)==1) {
}
if ((millis() - Iniz) > SOGLIA) return true;
else return false;
}



Complicato ?
Eppure, se lo osservate con un po’ di attenzione, alcuni passi del programma diventano chiari nella loro funzionalità.
Magari, se qualcuno di voi fosse particolarmente interessato alla programmazione di Arduino, si può esaminare il software in modo analitico, spiegando la funzione delle varie istruzioni, ma per ora mi basta mostrare con quanta semplicità si possa realizzare le nostre fantasie.
Collaudo effettuato: tutto OK  !
Collaudo effettuato: tutto OK !


E il costo ?
Niente paura, è un hobby economico, la maggior parte delle schede proviene dalla Cina e costano veramente poco:
Scheda Radio Tx-Rx su eBay n. 221917373062 € 2.15
Scheda Servo relè su eBay n. 161938044684 € 2.83

Per quanto riguarda poi la scheda principale, Arduino, fate voi, è una questione di coscienza: la scheda originale costa sui 30 Euro, quella cinese copiata sui 4 Euro !

:wave:
Andrea

URL: http://spazioinwind.libero.it/andrea_bosi/index.htm

:clap: il binocolo migliore in assoluto, è quello che hai con te nel momento in cui ti serve. :clap:

Ogni oggetto ha la sua storia,
. . . io non vendo oggetti,
. . . . . . io racconto storie. (Enotria)
Rispondi