Dec
31
2013

LedSottoscocca – Bluetooth RGB LED Stripes Arduino Android



LedSottoscocca è un progetto ideato per ottenere un livello di confidenza avanzato con la piattaforma Arduino, e la programmazione in Android. Sostanzialmente il progetto permette di controllare delle strisce di LED RGB, via Bluetooth, tramite smartphone.


Componenti necessari:

  • Arduino duemilanove (o simile)
  • Modulo Bluetooth (Io ho preso questo)
  • una scatola di derivazione (da usare come cover)
  • 2 x condensatori – 16V 4700uF (o simili)
  • un relè
  • 4 x Transistor 2SD1062
  • 4 x resistenze da 2k2
  • LED Strip RGB – 12V  (ad anodo comune)
  • una basetta millefori
  • fili e cavi elettrici
  • stagno e stagnatore


Spiegazione e funzionamento:

La realizzazione del progetto nella sua interezza può risultare complesso. Per questo suggerisco di scomporlo in parti più semplici: controllo led rgb da Arduino (con semplice script che alterna i colori, per verificare il corretto funzionamento delle connessioni); comunicazione Arduino – PC tramite modulo Bluetooth; comunicazione Arduino – smartphone tramite terminale Bluetooth per Android) e per ultimo scrittura di una propria applicazione per Android.
Una volta realizzate tutte le “sottoparti” del prigetto, non basterà altro che assemblarle per ottenere il risultato che avete visto nel video (qui Prototipo1 e Prototipo2).


Schemi elettrici generali:

LED strip Schema LED LedSottoscocca - circuito


Note:

In basso trovate lo sketch del progetto per Arduino. Ho cercato di scrivere e commentare in modo da rendere il tutto più leggibile e comprensibile possibile. Per la comunicazione Bluetooth ho scelto di utilizzare pacchetti da 4 byte alla volta, utilizzando un byte header che indica di volta in volta che pulsante ho cliccato dal cellulare più 3 byte per il valore del colore (0-255, per i 3 colori principali).
Nello Sketch è implementata anche la funzione che permette di cambiare modalità di colore anche, solamente, tramite un push-button, sfruttando gli Interrupt. Questo vi può essere molto utile per testare i collegamenti dei LED ad Arduino, e realizzare quindi la prima “sottoparte” del progetto. Per fare ciò dovete quindi implementare il sistema di interrupt su Arduino (in rete si trovano moltissime guide su questo argomento).
Per accendere la macchina con lo smartphone basterà connettere i fili del motorino di avviamento al rele comandato da Arduino (la chiave deve essere inserita ed il quadro acceso).


Fotografie realizzazione progetto:

Altre risorse:

 

10 Comments »

  • rosafante

    Se qualcuno avesse il buon cuore di aggiornare l’app per Android 2.3 o successivo, la potrei aggiungere all’articolo.

    Comment | 5 giugno 2014
  • rosafante

    L’applicazione da me resa disponibile è stata testata (e funzionante) su Android 2.2.1, è possibile che su versioni successive di Android, ci sia la necessità di modificare qualche parte di codice.
    Anche il codice sorgente dell’applicazione è disponibile al download.

    Comment | 5 giugno 2014
  • Luigi

    Risolto un problema ecco che se ne ripresenta un’altro, in quanto l’applicazione “LedSottoScocca” non si apre sul mio smartphone..

    Comment | 5 giugno 2014
  • rosafante

    I file “RGB_sottoscocca.ino”, “pitches.h”, “tunes.h” devono essere contenuti all’interno della stessa cartella.

    Comment | 2 giugno 2014
  • Luigi

    Salve, essendo interessato al vostro progetto, ho iniziato a realizzarlo, ma nell’ inserire le istruzioni all’interno di arduino si è verificato il seguente errore: Arduino:1.5.6-r2 (Windows 7), Scheda:”Arduino Uno”

    RGB_sottoscocca.ino:13:21: error: pitches.h: No such file or directory
    RGB_sottoscocca.ino:14:19: error: tunes.h: No such file or directory
    RGB_sottoscocca.ino: In function ‘void PlayTetrisMelody()’:
    RGB_sottoscocca:1006: error: ‘millisecondiMelodie’ was not declared in this scope
    RGB_sottoscocca:1006: error: ‘duration4′ was not declared in this scope
    RGB_sottoscocca:1007: error: ‘tune4′ was not declared in this scope

    A cosa è dovuto tale errore? (Non ho alterato nessun parametro al momento)

    Comment | 1 giugno 2014
  • rosafante

    Il quarto transistor servirebbe ad attivare un relè, il quale non fa altro che chiudere il circuito del motorino di avviamento per accendere la macchina.
    Ovviamente quella parte di circuito non è rilevante se ti interessa solo la funzionalità dei led.

    Comment | 25 marzo 2014
  • Giovanni

    Okok. Grazie mille per la spiegazione.
    Un ultima cosa se posso, nello schema ci sono 3 transistor che vanno collegati uno ad ogni colore, però volevo sapere il quarto transistor dove va collegato?

    Comment | 24 marzo 2014
  • rosafante

    I condensatori sono opzionali, io li ho aggiunti (in serie alla 12V) perchè durante l’accensione del motore, il motorino di avviamento richiede una tensione tale alla batteria che Arduino (il quale si alimenta da essa) non aveva abbastanza corrente e dunque si spegneva.

    Comment | 24 marzo 2014
  • rosafante

    Ciao e grazie.
    Dunque, lo schema generale del dispositivo è quello che vedi in basso a destra di “Schemi elettrici generali”.
    Ossia: la schedina rossa rappresenta il modulo BT, in alto c’è il transistor e il Led RGB.
    Lo schema indica come collegare il primo dei tre colori del Led RGB (ovviamente nel progetto reale si utilizzerà una striscia di Led RGB).
    Dunque basterà fare la stessa cosa (cambiando pin Arduino) per gli altri 2 colori.

    Comment | 24 marzo 2014
  • Giovanni

    Salve siccome sono molto interessato a questo bellissimo progetto, potreste inserire anche uno schema completo di tutti i collegamenti? O almeno spiegare dove vanno collegati i due condensatori. Grazie

    Comment | 24 marzo 2014

RSS feed for comments on this post. TrackBack URL

Leave a comment

Rosafante.altervista.org © - 2024 -