Powered by Futura Group
 
Cerca
Benvenuto, accedi o crea un nuovo account
 
     
 Prodotti e Servizi
In Edicola
Media Info
Abbonamenti
Ricerca progetti pubblicati
Arretrati
Corsi
Libri
Monografie
Top Project
Scienza & Tecnologia
I video dei nostri progetti
Free Samples
Download
I nostri Logo
.
 Il Blog di Elettronica In
 Fiere ed Eventi
 Mostre Mercato
 Scienza, Robotica, DIY
 Seminari e Workshop
 Link siti amatoriali
 Istituti Scolastici
 Offerte di lavoro
 Concorsi a premi
 Partecipa e Vinci
 Web Forum
Per i tuoi pagamenti on line vengono accettate carte di credito dei circuiti Visa e Mastercard, carte PayPal e carte di debito Maestro.
 Login Area
.
Username
Password
Ricorda i miei dati
 
 Login
 Dimenticato la Password?
 Visitatori connessi: 83
 
 
   
DETTAGLI RIVISTA N. 219 - Ottobre 2017
   
(continua da home page)
3D4040: stampa in grande!
... Arduino e derivato dal Sanguinololu del progetto RepRap, poi evolutosi nel nostro controller, sempre vitalizzato da un firmware derivato dal Marlin (il cuore del progetto RepRap) è ancora oggi un punto di riferimento e viene adottata sia da Maker e hobbisti, sia da professionisti che desiderano ottenere modelli e riproduzioni di oggetti in PLA o ABS. La nostra 3Drag è limitata alla stampa di oggetti di 200x200x200mm al massimo, il che, per alcune applicazioni (ad esempio plastici di case) non è l’ideale; non è un caso che con il progetto 3Drag Big abbiamo aumentato la larghezza “stirando” il telaio originale della 3Drag. Ma siccome puntavamo in alto, non ci siamo fermati lì e abbiamo pensato a come ottenere una macchina in grado di raddoppiare la “cubatura” stampabile dalla 3Drag; il frutto del nostro lavoro è la nuova stampante 3D4040, che vi presentiamo in queste pagine e che ha richiesto un lungo sviluppo e numerosi test al banco, prima di “vedere la luce”.
Stem Shield
Le pagine della nostra rivista hanno più volte ospitato, da quando il progetto Arduino è nato, articoli didattici finalizzati a insegnare la programmazione e l’utilizzo dei microcontrollori Atmel, ma anche tanto hardware di supporto sotto forma di svariati shield, ovvero di schede di espansione del microcontrollore Atmel ATmega nate per interfacciarlo con il mondo esterno, allo scopo di controllare dispositivi o acquisire segnali e dati. Molti degli shield proposti sono stati dedicati a specifiche applicazioni, ma ne esistono anche altri generici, nati per la sperimentazione e la didattica, il cui più essenziale esponente è il protoshield, costituito solamente dagli header e da piste e piazzole per montare ogni genere di componente. Quello che vi proponiamo in queste pagine è, invece, uno shield nato specificamente per rientrare nell’ambito dei programmi scolastici STEM (Science, Technology, Engineering and Mathematics) quindi risponde a una serie di direttive che vedono il mondo Arduino integrato nella scuola. Essendo un prodotto pensato per la sperimentazione, è di fatto un insieme di periferiche e dispositivi elementari che a seconda dell’esperimento da condurre possono essere inseriti o disinseriti e connessi a uno o più pin di Arduino in base alla necessità del momento; possiamo quindi dire che lo shield è un “mucchietto” ...un paniere di hardware elementare che possiamo utilizzare al bisogno o anche solo per testare qualche sketch dimostrativo. Il progetto è quindi l’ideale per imparare a programmare i microcontrollori, perché permette di verificare immediatamente il funzionamento di piccoli sketch per la gestione dell’accensione di LED, la generazione di suoni o il gioco elettronico, l’acquisizione di tensioni analogiche e la lettura di temperature, oltre a tanto altro.
Programmazione AVR Stand-Alone
Malgrado l’argomento sia già stato affrontato in passato, in questo articolo torneremo a descrivere come si programmano i microcontrollori Atmel AVR in modalità stand-alone (ossia da soli e non montati in alcuna scheda Arduino...) sfruttando l’ambiente di sviluppo di Arduino; l’occasione ci è propizia per riproporre la trattazione aggiornandola alla luce di tutte le novità che si sono avvicendate dalla prima pubblicazione della materia ad oggi, grazie all’aggiornamento del software IDE (Integrated Development Environment). Riprendere l’argomento è anche il modo per farvi vedere come utilizzare tool hardware apparsi di recente sul mercato, come ad esempio l’USB AVR Programmer v2 della Pololu, che in questo articolo impiegheremo per programmare il nostro microcontrollore, utilizzando come piattaforma software l’IDE Arduino e come hardware il nostro Personal Computer, cui collegheremo l’USB AVR Programmer tramite un cavo e una porta USB. Prima di entrare nel dettaglio dobbiamo registrare un’importante novità in Arduino che è stato un grande sospiro di sollievo per tutta la vasta comunità degli utenti e dei makers.
HTML5 WEB APP
Nel fascicolo dello scorso settembre abbiamo presentato ArduTrain WiFi, un suggestivo e tecnologico sistema che permette di controllare e automatizzare plastici LEGO® per mezzo di una web app che funge da pannello di controllo e un hardware composto da Raspberry Pi e Arduino. Visto l’interesse destato dal progetto, specialmente sul piano dello sviluppo della app di controllo, in questo articolo vogliamo estendere il discorso sulla creazione di una web app sia lato client che lato server, per poi fare un approfondimento sull’accoppiata Raspberry Pi-Arduino e sulla comunicazione seriale tra di essi per operare il controllo di un semplice hardware esemplificativo. Prima di entrare nel dettaglio bisogna distinguere tra una web app e un’app nativa: la prima è un’applicazione web che non risiede sul dispositivo dell’utente finale, bensì su un server remoto (su Internet o in una rete locale) sgravando l’utente dall’obbligo di installazione di qualsiasi software aggiuntivo; il codice dovrà essere scritto una sola volta e potrà essere eseguito, tramite un browser, su qualsiasi dispositivo, sia esso uno smartphone, un tablet o un Personal Computer. Se volessimo invece sviluppare un’app nativa per i tre ambienti più diffusi (Android, iOS e Windows Mobile), dovremmo scrivere tre codici sorgente diversi, con altrettanti ambienti di sviluppo, prestando attenzione ai vari framework disponibili in ogni sistema; oppure potremmo utilizzare un ambiente di
Gruppo di continuità per telecontrolli GSM
Sicuramente ricorderete la nostra fortunata serie di telecontrolli GSM siglata TDG, composta da una scheda universale che poteva essere più o meno popolata di componenti specifici in base a una delle quattro applicazioni realizzabili; si trattava di un progetto modulare nel quale era altresì prevista la possibilità di sostituire il modulo GSM/GPRS per superare le problematiche di obsolescenza dei componenti o di approvvigionamento che negli anni potevano verificarsi, allo scopo di mantenere lo stesso apparato installato. Essendo alimentati tramite un alimentatore da rete, i TDG avevano il limite di non funzionare in caso di blackout, sebbene nel firmware avevamo previsto la funzione di ripristino automatico e salvataggio delle impostazioni di sistema in memoria permanente. Nel tempo ci avete fatto notare che rendere funzionanti i telecontrolli prescindendo dalle vicende della rete elettrica sarebbe stato un apprezzato add-on, per questo ci siamo messi all’opera e abbiamo realizzato qualcosa che potremmo considerare un gruppo di continuità. Il circuito, semplicissimo, consta di un caricabatteria che mantiene carica una cella agli ioni di litio, la quale all’occorrenza alimenta il TDG del caso, portando l’alimentazione dritta nel cuore del sistema.
Rileviamo la qualità dell'aria
Quello dell’inquinamento atmosferico è un problema ormai attuale da decenni, in special modo se lo collochiamo nelle città, piccole o grandi che siano e in prossimità dei grandi insediamenti industriali; ne consegue una preoccupazione, a volte anche poco motivata, per la qualità dell’aria che respiriamo. Esistono da tempo centraline per il monitoraggio degli agenti inquinanti, in special modo di quelli che gli studi condotti periodicamente portano alla ribalta della cronaca, ma che sono essenzialmente il monossido di carbonio, l’anidride carbonica e le famigerate polveri sottili; i dati che esse rilevano vengono poi elaborati e sovente resi pubblici sui siti meteo e su quelli degli organi preposti alla vigilanza sulla salute pubblica, oltre che su quelli di alcuni grandi comuni. Malgrado questa forma di informazione, un po’ come avviene con le centraline meteo, che tanti vorrebbero in casa per avere le proprie previsioni personalizzate, anche per la qualità dell’aria c’è forte interesse verso dispositivi domestici da utilizzare per conoscere la situazione all’aperto ed anche nei luoghi chiusi, dove la questione diventa rilevante nella stagione fredda, quando per non disperdere calore si aprono poco porte e finestre; in quest’ultimo caso, più che gli inquinanti interessa la concentrazione di ossigeno rispetto all’anidride carbonica, ma non vanno trascurati gli inquinanti, perché escluso per legge il fumo di sigaretta, nei locali di lavoro possono però proliferare solventi, polveri ed anche l’ozono prodotto dalle fotocopiatrici e il toner sfuggito ad esse.
FISHIDE
Durante lo sviluppo delle schede Fishino, soprattutto quelle a 32 bit, ci siamo resi conto di dover scrivere un gran numero di librerie software e di sketch di esempio e di test dedicati. Se per gli sketch semplici l’IDE di Arduino si è rivelato adeguato, per quelli più complessi e soprattutto per lo sviluppo delle librerie ha iniziato a mostrare i propri limiti. L’IDE di Arduino, infatti, pur essendo in grado di lavorare su più file e di aprire più finestre, non è in grado di mostrare la relazione tra lo sketch e le librerie utilizzate; aprendo più finestre, inoltre, durante gli errori di compilazione non è in grado di mostrare gli stessi nel codice sorgente selezionandoli. Senza contare che l’IDE Arduino è un po’ “scarno” per chi, come noi, è abituato alle “comodità” dei moderni sistemi di sviluppo, soprattutto in fase di editing del codice, come per esempio la possibilità di commentare blocchi di codice con un solo comando, di spostare l’indentatura, di eseguire ricerche e sostituzioni in file multipli, eccetera. Abbiamo quindi deciso di sviluppare un nostro IDE prendendo come modello il sistema di sviluppo utilizzato per scrivere programmi in C/C++, un sistema open source disponibile sul sito web www.ultimatepp.org. Questo sistema comprende un IDE, una sterminata serie di librerie software per sviluppare efficientemente applicazioni in C/C++ portabili tra Windows e Linux, e molto altro. Tra quello che offre è compreso un ottimo editor per programmi, comprendente tante “comodità” molto apprezzabili durante lo sviluppo. Lo stesso FishIDE è stato sviluppato utilizzando questo sistema.
Tracking del viso con RandA
Nell’articolo apparso nel fascicolo di settembre scorso, abbiamo prospettato la possibilità di gestire il tracking (inseguimento) del viso utilizzando una webcam collegata al PC, con Arduino come controller PID finalizzato a muovere il brandeggio (pan-tilt) che la sposta. Nell’applicazione proposta, Arduino era collegato anch’esso al PC tramite USB e quindi veniva gestito attraverso comandi inviati su porta seriale emulata. Il rilevamento del viso era realizzato da un programma scritto in Java, che utilizzava la libreria OpenCV e spediva le coordinate del centro del viso ad Arduino, il quale aveva il compito di gestire i servomotori del sistema pan-tilt (lo vedete nella Fig. 1) allo scopo di centrare la ripresa o di far seguire eventuali movimenti. Dopo avervi presentato quel sistema (Fig. 2), vogliamo proporvi di fare un salto di qualità, procedendo al riconoscimento dei volti tramite la board Raspberry Pi. Infatti il PC può essere sostituito in maniera soddisfacente con una board Raspberry Pi e, per l’esattezza, con il modello Raspberry Pi 3, che è ben attrezzato per eseguire il compito. Sebbene nulla vieti di utilizzare una webcam anche con Raspberry Pi 3, è preferibile provare la telecamera specializzata per la board (detta brevemente Raspicam); questa telecamera ha un’ottima risoluzione e fornisce un’immagine pulita e senza rumore. Abbiamo scelto la versione più economica da 5 Megapixel, reperibile su www.futurashop.it con il codice prodotto 2850-RPICAMERA-FOC; si tratta di una camera a colori per Raspberry Pi compatibile con quella originale e dispone di un sensore d’immagine a CCD da 1/4” Omnivision OV5647, oltre che di un’ottica fissa con apertura (F): 2,0, lunghezza focale di 6 mm e angolo di ripresa pari a 75,7°.
Rilevatore di microspie
Diciamolo pure: almeno una volta nella vita ci siamo sentiti sotto controllo o abbiamo temuto di essere spiati e di avere in casa una microspia, ad esempio collegata al telefono o sotto al tavolino, come nei migliori film di spionaggio. In quei casi ci avrebbe fatto piacere avere tra le mani uno “spy detector”, vale a dire un particolare radioricevitore in grado di dirci se nei dintorni c’è qualche trasmettitore attivo: trovare con esso un segnale radio è già un indizio; localizzarne la direzione, grazie a un indicatore del livello del segnale che sale puntando l’antenna da una parte, qualcosa di più. Poi, magari si tratta di un cellulare o di un sensore wireless dell’allarme di casa, ma è meglio averne la certezza. Per chi ha bisogno di ricercare eventuali radiospie o semplicemente microtrasmettitori utilizzati, ad esempio, dagli esaminandi nelle aule d’esame per collegarsi con amici “suggeritori” al di là del muro, abbiamo realizzato, nel “lontano” 2001, un rilevatore di microspie, che sostanzialmente era un ricevitore a larga banda in grado di captare e segnalare la presenza di onde elettromagnetiche emesse da un trasmettitore operante nelle immediate vicinanze. Oggi vogliamo tornare sull’argomento, riproponendo una versione arricchita di quel progetto, dotata di un visualizzatore a barra di LED in aggiunta allo strumentino analogico (V-meter), che ormai è sempre più difficile da reperire in commercio, visto che i display vanno per la maggiore. Il visualizzatore è del tipo a barra di LED che si allunga e si accorcia. Lo strumento, che sia il vu-meter analogico o l’indicatore a LED servirà, una volta rilevata la presenza di un segnale, a cercarne l’origine, operazione che si compie semplicemente avvicinandosi o spostandosi nella direzione cui corrisponde il più alto livello di segnale captato.
L'ambiente MikroE
Nella prima parte del nostro corso ci siamo occupati di introdurre l’ambiente di programmazione e di iniziare a compiere le prime, semplici esercitazioni, utilizzando le periferica di base (GPIO e Timers) e le periferiche analogiche (CCP e ADC) a bordo del microcontrollore. In questa quinta puntata passiamo ad esaminare i display alfanumerici ed il supporto fornito da MikroC per gestirli con la demoboard di mikroE che abbiamo scelto di adottare per questo corso. Gli schermi LCD rappresentano uno degli strumenti indispensabili per dotare le nostre applicazioni embedded di un’interfaccia HMI (Human-Machine Interface). Come certamente saprete, gli schermi a cristalli liquidi sono attualmente, considerando tutte le possibili varianti, tra i display più diffusi sul mercato e vengono utilizzati per le più svariate applicazioni; la loro diffusione ha reso oramai obsoleti gli schermi CRT (a tubo catodico), che avevano dominato per diversi decenni il mercato dei display, nelle sue varie declinazioni. Le applicazioni di questi dispositivi sono innumerevoli: basti pensare ai nostri televisori o ai monitor dei PC (sia fissi che laptop), a dispositivi di taglia più piccola, come riproduttori MP3 o stereo, o anche ai nostri smartphone, che spesso fanno uso degli ultimi ritrovati di questa tecnologia, come gli IPS o anche i Retina di Apple (quando non vengono utilizzati gli antagonisti OLED e AMOLED).
 
 
   
 
© 1997-2017 Futura Group srl - Divisione Editoriale - Via Adige 11 - 21013 Gallarate (VA) - P.IVA IT10918280156