venerdì 21 giugno 2013

Display LCD I2C e Arduino

Come vi dicevo con l'ultimo post, la prima cosa che ho fatto dopo aver scartato i miei pacchettini ricevuti ed aver sistemato le schedine arrivate nel propri conteitori per il loro successivo utilizzo, mi sono subito messo a testarne il funzionamento.
La prima delle schedine che ho preso in esame e' la schedina che converte il segnale parallelo che da Arduino va verso il Display LCD, in segnale I2C.
E' molto utile questa scheda perche' consente di usare un Display LCD 1602, che normalmente utilizza 6 pins per poter visualizzare i messaggi, solo con 2 pins.
In pratica utilizza la comunicazione seriale tra Arduino ed il Display, risparmiando 4 pins che possono essere invece utilizzati per altri scopi di progetto.
http://arduino.cc/en/Reference/Wire qui il reference della libreria.
Arduino comunica con il Display, attraverso la schedina, via I2C quindi sui piedini SDA - SCL che nella versione Mega corrispondono ai piedini 21 e 22.

Quando ho collegato la scheda al display e ad Arduino, doveva essere tutto ok per funzionare alla prima, ma invece cosi' non e' stato!

Dopo un po' di prove senza esito, ho notato sul retro della scheda una serie di tre ponticelli normalmente aperti, che possono essere settati attraverso un semplice punto di stagno. Tutti i tutorial che si trovano in giro per la rete, propongono il collegamento della scheda all'indirizzo 0x20, come, per esempio, nel caso del codice di prova della libreria.
codice:
#include
#include
LiquidCrystal_I2C lcd(0x20,16,2)//    16x2 e il tipo del lcd - address 0x20
void setup()
{
  lcd.init();                      // inizializza  lcd
  // Stampa il messaggio su LCD.
  lcd.backlight();
  lcd.print("Hello, world!");
}
void loop()
{
}

Per quanto riguarda la nostra schedina, invece, i tre ponticelli sono tutti "aperti" di default, questo porta ad una confugurazione come quella descritta in figura: HHH, quindi l'indirizzo esadecimale della scheda, senza modificare nulla, risponde al numero esadecimale 0x27 (l'ultima riga in basso della figura).
Quindi per poterla far funzionare si deve modificare l'indirizzo a cui punta il codice, sull indirizzo corretto 0x27- cosi:
 LiquidCrystal_I2C lcd(0x27,16,2);

 Da segnalare lo posizione estremamente scomoda del potenziometro per la regolazione del contrasto del display, che e' montato sulla schedina, ma che rimane tra la scheda e il display, quindi e' impossibile fare le operazioni di taratura con il Display collegato. La taratura deve essere completata, a meno di colpi di fortuna al primo botto, inserendo ogni volta la scheda sul display dopo ogni riposizionamento del potenziometro.


Spero che queste poche righe vi siano d'aiuto, io hoperso qualche mezzora per capire, e , considerata la mia scarsa memoria dovuta alla senilita', scrivo qui le mie note anche per ricordarmi.

Stay Tuned
Tecnogeppetto
anche su www.Tognozzi.net

giovedì 20 giugno 2013

JamDuino

Ecco che finalmente il circuitino trova casa.
Ha le sembianze di un contatore dell'Enel, ma finalmente anche la nostra creazione ha la sua comoda casetta. Naturalmente è un beta test, cioè la prima realase del nostro.... JAMDuino, lo possiamo chiamare così?contatore

Al momento è solo un clone di Photoduino ( che ha gentilmente fornito in open source tutti i disegni e gli schemi da cui abbiamo tratto ispirazione per la nostra  creazioncina ), in futuro dovrebbe erudirsi e seguire un pò di più le idee del nostro Umberto, che non manca certo di inventiva e fantasia.contatore2

Vedremo, per adesso dobbiamo ancora concentrarci nella sperimentazione e taratura del nostro JAMDuino, la cui costruzione  deve ancora essere terminata, ma come mi succede sempre, per finire manca sempre qualcosa.
Al momento devo ancora fare i buchi per i bocchettoni delle sonde, collegare il jack per la camera e quelli per i due flash, l'interruttore e il cavetto di alimentazione. Per chiudere poi la fase di costruzione mancano ancora i sensori, che per il momento sono stati montati in mamiera "volante", invece dovranno  essere cablati per benino.dettagli Costruzione
La fase successiva sarà quella dell' analisi del  software, che per il momento non e' stato ancora controllato a fondo, cosa da fare prima di andare a concludere la fase di test collegando il JAMDuino ad una macchinetta fotografica, per poter scattare le prime immagini.
La notizia del giorno quindi è che per stanotte JAMDuino dormira' al caldo!
TecnoGeppetto
www.Tognozzi.net

Nuovi arrivi per i miei giochini

Rieccomi alle prese con un po' di tecnologia!
Oggi, finalmente, mi sono arrivati due bei pacchettini dalla Cina pieni di nuovi giocattolini tecnologici. Erano più di due mesi che li aspettavo, quindi immaginate la contentezza al rientro a casa, quando ho trovato la lieta novella.
Ho iniziato subito il pomeriggio di "giuoco" con il sistemare bene in bella mostra sulla mia scrivania, tutti i pezzetti, per poi sistemarli in ordine nelle cassettine, pronti per il successivo utilizzo. Ho ricevuto un display LCD per Arduino, gia' montato con una serie di pulsantini e la shield a misura, una serie di convertitori DC-DC down converter, che mi serviranno per alimentare i progetti con la Raspberry utilizzando un alimentatore a 12Volt (che sono piu' facili da trovare della potenza necessaria per Raspberry) e nello stesso tempo possono essere utilizzati per alimentare i progetti vari in macchina, attraverso la presa dell'accendisigari, per esempio. Poi ho ricevuto dei connettori seriali femmina DB9 che ho richiesto per ripristinare la mia dotazione, in quanto in uno degli ultimi progetti che ho concluso (si perche' qualche volta riesco anche a concludere qualcosa  ! (smile) ) ne ho utilizzati parecchi ed ero rimasto senza. Stessa cosa per una serie di LED infrarossi, poi mi sono fatto arrivare anche una scheda ethernet compatibile Arduino, che servira' per continuare un progettino che sto lentamente portando avanti che prevede l'utilizzo della rete, Twitter ed naturalemnte il prode Arduino!
Dulcis in fundo mi sono arrivate anche due schede per la conversione dei segnali paralleli a I2C/IIC/TWI, questi pezzettini li aspettavo con ansia, perche mi consentiranno di utilizzare il display LCD 1602 attraverso la linea seriale I2C di Arduino, anziche' il collegamento tradizionale che comporta l utilizzo di un maggior numero di piedini.
Nel prossimo post che sto preparando vi segnalero' una serie di punti di attenzione da rispettare per l'utilizzo della scheda in questione.
Stay Tuned
TecnoGeppetto
anche su www.Tognozzi.net

mercoledì 19 giugno 2013

Tre LED, un potenziometro ed Arduino

Altro esperimento con la magnifica scheda ARDUINO, ho collegato all'ingresso analogico di Arduino un potenziometro lineare e alle uscite digitali 10 11 e 12 i LED di diversi colori. a seconda della lettura effettuata sulla porta analogica Arduino accende i LED in diverse composizioni.
qui il listato



TecnoGeppetto
www.tognozzi.net


martedì 18 giugno 2013

PIR sensor - ovvero rilevamento soggetto e scatto reflex

Una delle ultime costruzioni che ho portato a termine e' quella di un sensore stand alone per attivare lo scatto della fotocamera reflex al rilevamento di una presenza nel raggio di azione del sensore.

Altri esperimenti su www,Tognozzi.net
TecnoGeppetto

Progetti in corso

Cosa bolle in pentola?
Sono trascorsi circa due mesi dall'ultima volta che ho aggiornato il sito, per varie ragioni sono stato via.
Una di queste e' che mi sono dedicato anima e core ad alcuni progetti, per me, molto interessanti, che cerchero di condividere anche qui con voi.
Negli ultimi mesi infatti sono stato "rapito" dalla progettazione e costruzione di alcuni strumenti elettronici. In primo luogo, come avete avuto modo di leggere nei post precedenti, sto sviluppando il progetto di una stampante termica particolare, che verra' utilizzata a scopo di marketing per alcune attivita' commerciali che me ne hanno fatto precisa richiesta.

 Ho poi sviluppato insieme a Mauro un progetto per la gestione della rotazione di un espositore, quindi in questo caso, ho potuto fare esperienza con Display, schede motori, stepper motor, e naturalmente, la programmazione di arduino.
Sto anche completando la stesura di un progetto che utilizza codici infrarossi per il pilotaggio a distanza di una applicazione video, in questo caso l'esperienza si e' concentrata sul sistema operativo Linux ed alcuni programmi applicativi come Lirc, nato proprio per la gestione dei codici infrarossi, sia lato server che client.
Ho anche ricevuto da RScomponent la mia prima Raspberry Pi, con la quale ho potuto gia' passare le prime notti insonni, nel tentativo(poi riuscito) di dominarne alcune funzioni. Insomma in pentola stanno cuocendo tante novita', che tempo permettendo, cerchero' di rendere pubbliche strada facendo.
Stay Tuned.
Tecnogeppeto su www.Tognozzi.net

lunedì 17 giugno 2013

Servo e Arduino un semplice sistema di Pan e Tilt

Poco fa mi sono arrivati dall'inghilterra due micro servo ed un sistema di Pan e Tilt, non ho perso tempo e mi sono subito cimentato nella costruzione di un semplice circuito per poterli testare
Non volevo utilizzare la bread board, cosi' ho definito le uscite analogiche 0 e 2 di Arduino ripettivamente come LOW ed HIGH per poter alimentare il potenziometro che funge da sistema di INPUT per la posizione.
Mentre ho collegato ai pin 9 e 10 l'ingresso PWM dei due servo.
Questo e' il risultato:




#include

Servo myservo;  // create servo object to control a servo
Servo myservo1;
int potpin = 1;  // analog pin used to connect the potentiometer
int val;    // variable to read the value from the analog pin
#define meno A0
#define piu A2
void setup()
{
  myservo.attach(9);  // attaches the servo on pin 9 to the servo object
   myservo1.attach(10);
pinMode (meno, OUTPUT);
pinMode (piu, OUTPUT);
digitalWrite (meno, LOW);
digitalWrite (piu, HIGH);

}

void loop()
{
 
  val = analogRead(potpin);            // reads the value of the potentiometer (value between 0 and 1023)

  val = map(val, 0, 1023, 179, 0);     // scale it to use it with the servo (value between 0 and 180)
  myservo.write(val);                  // sets the servo position according to the scaled value
  delay(10);                           // waits for the servo to get there
   myservo1.write(val);                  // sets the servo position according to the scaled value
  delay(10);                           // waits for the servo to get there
 
}


altri progetto o per contattarmi su www.Tognozzi.net
Stay Tuned TecnoGeppetto

Sensori Mic - ovvero un sistema di rivelazione rumore con Arduino

Questa volta ho lavorato sul sensore microfonico. Per capire la soluzione migliore, questa volta, ho montato il sensore in una scatoletta a se stante, con il circuito di rilevamento del segnale incorportato.

Questo rende piu' solido il sistema, ma costringe ad andare verso il sensore con tre fili invece che con due. (il segnale, e due dell'alimentazione - mentre nel caso del solo microfono, bastava collegare il sensore direttamente alla scheda principale con calza e segnale - due fili soli)
Per testare lla funzionalita' del circuito ho utilizzato il Microcontrollore che ho appena caricato con Arduino bootloader (due piccioni con una fava! cosi' testo tutti e due).
Sembra funzionare egregiamente.

Stay Tuned
TecnoGeppetto   su www.Tognozzi.net

Easy Shot - ovvero interfaccia semplice per Reflex

Ho ritrovato uno dei primi articoli sulle mie costruzioni elettroniche, si tratta del'assemblaggio di una semplice interfaccia il cui scopo e' pilotare una reflex su rilevazione di un evento. Ho fatto molti esperimenti in merito utilizzando interfacce di tanti tipi, tra cui Photoduino, una interfaccia nata allo stesso scopo di questa che propongo adesso.
Credo che la costruzione di questa "interfaccia semplice" sia favorita dal esiguo costo dei componenti.
per la costruzione ho utilizzato solo un ATtiny85 , programmandolo opportunamente attraverso Arduino e la sua interfaccia di programmazione autocostruita per i microcontrollori ATtiny 45/85, un relè elettronico un interruttore ed un potenziometro. Veramente essenziale.
Questo e' quello che scrivevo un paio di anni fa e che puoi trovare anche sul mio sito personale
www.Tognozzi.net  http://www.tognozzi.net
Ho finalmente terminato di montare la prima interfaccia semplice.
Si tratta di una interfaccia alla quale possono essere applicati diversi tipi di sensori e che consente di scattare una foto all'intervento del sensore.Interfaccia semplice Si puo' definire il tempo di intervento e di tenuta, questo per poter consentire alla macchina di scattare piu' di un fotogramma.core interfaccia semplice L'interfaccia e' la versione semplificata che consente di scattare foto in modalita' fuoco fisso, cioe' l'operatore dovra' nettere a fuoco la macchina prima di effettuare lo scatto mediante l'interfaccia, e' comunque possibile produrre la versione che gestisce anche l'autofocus, l'interfaccia sara' programmata in modo  che intervenga 200/300 millisecondi prima dello scatto.
 Qui a destra "il millepiedi", il core dell'interfaccia, un AtTiny85 programmato per leggere un ingresso analogico (il potenziometro per la regolazione del tempo di intervento) e un ingresso digitale (la lettura del sensore).
Dietro al Tiny si puo' vedere il relais elettronico da circuito stampato, che separera' il circuito di comando dalla reflex (non si sa mai!)

TecnoGeppetto
www.Tognozzi.net