Led a Ritmo di Musica

In questo articolo viene illustrato il funzionamento di un piccolo circuito capace di pilotare dei led a ritmo di musica.  Il cuore del circuito è l’amplificatore operazionale LM358 configurato come filtro attivo passa basso invertente(perchè il segnale d’ingresso è applicato al morsetto invertente). Il morsetto non invertente è collegato a massa, per cui in uscita avremo un  segnalo sfasato di 180° rispetto al segnale d’ingresso. L’amplificatore operazionale è alimentato con una tensione singola di +12Vcc.
Con questa configurazione l’amplificatore operazionale amplifica solo la parte del segnale compresa tra 0 e +Vi, in questo modo è possibile pilotare il transistor usato come interruttore on-off.
L’amplificazione scelta per l’operazionale è stata ottenuta ponendo la resistenza di retroazione R2= 100K e R1=10K;  i valori dei componenti per l’amplificazione si possono ricavare dalla formula teorica: A= – R2/R1.
Per la tensione di uscita si ottiene Vo= Vi*A questa tensione arriva in base al transistor attraverso la resistenza R3=10K che serve a limitare la corrente di base garantendo un corretto funzionamento.
La frequenza di taglio del circuito sarà data dalla relazione: 1/6,28*C1*R2, in questo caso otteniamo una frequenza di taglio che si aggira intorno ai 150Hz , quindi il led lampeggerà solo in presenza di audio a basse frequenze.

Schema e pcb

 

 

 



 


 

 

 

 

 

 

  Leggi il resto di questo articolo »

Alimentatore per Breadboard

Poco tempo fa ho pensato di  realizzare un semplice alimentatore stabilizzato a +5 Volt, che possa essere montato sulla BreadBoard, per una questione di comodità facilitando le operazioni di montaggio sulla basetta sperimentale.
Questo alimentatore funziona nel seguente modo: riceve in ingresso una tensione compresa nel range 8-20V e fornisce in uscita una tensione stabilizzata di  5Volt. La tensione in ingresso alla scheda può essere fornita tramite l’utilizzo di un connettore jack DC. La corrente massima che può erogare l’integrato 7805 è pari a 1,5 ampere, ma disponendo  di un piccolo dissipatore (come nella foto) sarà meglio non prelevare più di 500mA, altrimenti, l’integrato si surriscalderà fino a saltare. Inoltre sulla scheda è stato inserito uno switch per poter accendere o spegnere in maniera rapida il circuito che si sta alimentando senza la necessità di scollegare il cavo di alimentazione.
Il condensatore C1 ha la funzione di livellare la tensione presenta all’ingresso del circuito mentre C2, C3 servono ad eliminare eventuali disturbi presenti in uscita.Il diodo D1 ha lo scopo di salvaguardare il circuito in caso di errato inserimento della tensione di alimentazione. L’accensione del led segnala la presenza della tensione d’uscita. Come riportato nelle caratteristiche dell’intergrato l’alimentazione del circuito dovrà essere compresa tra i 8 e i 20 V continui, nel caso si notasse un surriscaldamento dell’integrato è possibile montare su di esso un’apposita aletta di raffreddamento.

 Caratteristiche

- Tensione in input: 8-20V (Power Jack);
- Tensione in output:  5V;
-  Corrente (max) in output: 500mA;
- Switch per accensione/spegnimento (ON/OFF);
- Power Status Led;

 

Schema e pcb

Questo è lo schema del circuito:

 

 

 

 

 

 

Leggi il resto di questo articolo »

Tracciamento oggetti con OpenCV

Poco tempo fa mi era venuta l’ossessione del tracciamento visivo di oggetti dopo aver visto vari video su youtube. Con l’intento di realizzare qualcosa di simile, mi sono armato di pazienza e di amore verso Google. Ho scovato tutorial qua e la e soprattutto l’ambiente ideale per sviluppare applicazioni con le librerie OpenCV.

Così ho scaricato l’SDK delle OpenCV, installato eclipse galileo e il compilatore C++ chiamato MinGW per applicazioni Windows.
Dopo vari tentativi ed insuccessi, sono riuscito a tracciare il movimento di una pallina gialla (color detection).
Per il riconoscimento vengono usati appositi filtri che eliminano dai frame provenienti dalla webcam (io ho usato una webcam virtuale free di nome ManyCam) eventuali disturbi e rumori visivi. In sostanza, per eliminare ciò che non serve per il riconoscimento di uno specifico colore, si usa la tecnica del threshold, ovvero della “soglia”. Se un particolare pixel appartiene ed è contenuto dentro ad una certa soglia (come un comparatore a finestra), allora quel pixel verrà colorato di bianco, viceversa di nero. Si avrà così un’immagine che sarà bianca solo nei punti in cui si trova in quel momento la nostra pallina. Questa tecnica è chiamata anche “binarizzazione immagine” per via dei soli due bit (bianco e nero) usati per l’immagine.


Esempio di applicazione del filtro di THRESHOLD

Leggi il resto di questo articolo »

Utilizziamo il bootloader sul PIC18F4550!

Un utilissimo strumento, quando si effettuano molte modifiche al firmware (come in fase di test) o semplicemente per comodità, è il bootloader.

Il bootloader è essenzialmente un codice all’interno del microcontrollore che permette di caricare nuovo codice “utente” o di “applicazione” senza staccare e/o collegare un programmatore esterno alla scheda, come normalmente avviene nella fase di programmazione di un microcontrollore.

Tramite un software su PC, è possibile fare il download (scaricare) dell’HEX del nostro programma sul PIC, senza appunto staccarlo.

Ma come funziona il bootloader e cosa succede all’avvio del PIC?

Quando il PIC viene avviato, questo codice di BOOT controlla lo stato di un pin di ingresso, se questo pin è ad un certo stato logico (con un pulsante si porta a 0 logico il piedino) allora viene creata una connessione (UART oppure USB) con il PC e si entra appunto in fase di boot. Se il pulsante di boot non è stato premuto, il PIC passa nella locazione di memoria del codice della nostra applicazione, come su un normale dispositivo programmato comunemente.

Un esempio grafico della mappatura della memoria di un PIC con bootloader:

Leggi il resto di questo articolo »

Uno sguardo alla EasyPIC5!

Uno sguardo alla demoboard EASYPIC5, relazionata dal sottoscritto per presentare le sue funzioni e l’utilizzo per un semplice progetto didattico. Come funziona e come viene utilizzata la EasyPIC5 di mamma mikroElektronika?? Inoltre una breve introduzione ai PICmicro!

Scoprilo con la relazione in PDF scritta da me!

Per leggere la relazione, clicca qui -> Relazione EasyPIC5 (di Simone Giugliani)

 

A lezione con Arduino![N°3] – Semaforo didattico

Introduzione:

In questa terza lezione di Arduino voglio presentarvi un semplice semaforo didattico,  che eseguirà tramite dei LED la sequenza da verde, giallo lampeggiante, rosso. Questo progetto potrebbe essere utilizzato su un modello ferroviario.

Esercizio 3 componenti utilizzati :

Per la realizzazione di questo semaforo occorrono:

-  la bread-board;
- 3 LED possibilmente di tre colori diversi (rosso,giallo,verde);
- 3 resistenze da 220 ohm 1/4 watt;
- cavi per bread-board.

Leggi il resto di questo articolo »

Tutorial introduttivo ai “PIC”

I PIC o i Programmable Integrated Circuit, che come si evince dal nome sono dei circuiti integrati programmabili. Sono prodotti dalla azienda americana Microchip.

 

 


Leggi il resto di questo articolo »

A lezione con Arduino! [N° 2] – Crepuscolare con arduino

Introduzione:

Siamo già alla seconda lezione di Arduino, e voglio proporvi come realizzare un semplice interruttore crepuscolare che  come si evince dal nome, una volta montato ed eventualmente programmato,  entra in azione automaticamente  con l’arrivo del buio (crepuscolo) e si spegne con l’arrivo dell’alba. Per esempio, con esso è possibile controllare le luci del giardino di casa in modo totalmente automatico. Noi riprodurremo un piccolo crepuscolare in grado di controllare un LED; quindi nel momento in cui si farà buio il led automaticamente si accenderà, mentre in condizioni di luce il led si spegnerà. Questo è possibile grazie ad un sensore chiamato fotoresistenza. La fotoresistenza è un componente elettronico la cui resistenza è inversamente proporzionale alla quantità di luce che lo colpisce. Si comporta come un tradizionale resistore , ma il suo valore in Ohm diminuisce mano a mano che aumenta l’intensità della luce che la colpisce. Ciò comporta che la corrente elettrica che transita attraverso tale componente è proporzionale all’intensità di una sorgente luminosa.

Leggi il resto di questo articolo »

A lezione con Arduino! [N° 1] – Introduzione

Introduzione:

Arduino è il nome di una piattaforma hardware per lo sviluppo di applicazioni basate sui microcontrollori ATMEL.  Arduino può essere utilizzato per lo sviluppo di oggetti interattivi, ma può anche interagire con software presenti sul computer. Questa che vedete qui  sotto è l’ultima versione di Arduino UNO che ha sostituito la precedente versione Arduino 2009.

Leggi il resto di questo articolo »

Comandare la porta parallela con LPT Trigger!

Ieri mi è capitato di scrivere un pò di codice per un amico della community di Grix. Il suo problema era di comandare 3 uscite della porta paralla, per attivare tramite transistor, 3 relè.
Il software ovviamente è stato eseguito e prontamente inviamo all’amico ik3ssg.

Ne è derivata una nuova versione, completa di tutti e 8 i pin di output della LPT. Il software è stato chiamato “LPT Trigger”.

Leggi il resto di questo articolo »