martedì 30 giugno 2015

Launchpad msp430f5529 testata con relay e sensore di movimento

Ciao a tutti,
per curiosità avevo ultimamente ordinato una launchpad della Texas instrument, nello specifico il modello msp-exp430f5529: http://www.ti.com/ww/en/launchpad/launchpads-msp430-msp-exp430f5529lp.html.,
Perché ordinarla con tutte le board presenti sul mercato? Ecco cosa mi ha convinto a provarla:
1. la quantità di pin disponibili sulla scheda e il suo basso consumo.
2. i pulsanti (ben 2 oltre quello di reset e il bsl) e i due led programmabili (uno rosso e uno verde), ottimi per rapidi test su breadboard.
3. il basso costo della scheda e dei suoi "shield" aggiuntivi, la msp430f5529 costa 12,99$ e per esempio il modulo wi-fi aggiuntivo, il CC3100BOOST costa 19,99$.
4. la possibilità di utilizzarla (come per esempio un Leonardo o un DUE) come controllo usb di applicazioni

Per testarla ho utilizzato un relay, prima attivandolo tramite il pulsante 2 on board e poi usando un sensore PIR, entrambi gli sketch li troverete di seguito.

Ecco qui di seguito un'immagine di come si presenta la msp-exp430f5529 e i componenti che si trovano a bordo:


e qui un'immagine dello schema dei pin della scheda:

La scheda è programmabile in C tramite il software CCS studio di Texas Instruments, oppure, se volete vincere facile, potete scaricare l'IDE Energia.
Energia è un porting dell'ide di Arduino per le launchpad di TI, in pratica potrete programmare le schede TI in wiring, il limite pincipale di questa soluzione è il numero più limitato di librerie che potrete trovare, dovuto alla community sicuramente meno folta.
Per darvi comunque un'ide queste sono le librerie che trovate installate con Energia:
http://energia.nu/reference/libraries/, sicuramente un buon punto di partenza e qui il sito per il download: http://energia.nu/download/, anche se vi consiglio innanzitutto di dare un'occhiata alla homepage prima di tutto.
 
Ora per iniziare un riassunto di cosa vi servirà:
1- scheda launchpad TI, io ho usato un msp-exp430f5529
1- relay
1- sensore PIR
    Energia IDE per la programmazione
 
Non essendo disponibile su fritzing la scheda vi posto una foto di come ho effettuato i collegamenti, in pratica il relay è connesso al pin 5v, al GND e al pin 6.0; il sensore PIR al 5v, al GND ed al pin 8.2.
Un chiarimento sui pin, a differenza di Arduino dove i Pin sono (esempio) il 2, il 3, il 4 ecc....
sulle launchpad avrete il pin P8.2, il significato della nomenclatura è PORTA8 PIN2 e nello sketch verrà dichiarato come P8_2
Così ora saprete anche come troverete dichiarati i pin nel programma.
 
 
Ho realizzato due sketch di prova, uno apre o chiude il contatto del relay tramite il pulsante 2 on board, il secondo fa la stessa cosa ma utilizzando un sensore di movimento.
Ecco il primo Sketch:
 
/*
SKETCH di esempio per una launchpad MSP-EXP430F5529
Questo è un programma base per l'apertura e chiusura di un contatto su un relay
tramite il pulsante PUSH2 della launchpad f5529, per chiarezza sulla scheda ci sono due pulsanti
e due led che possono essere dichiarati sia tramite i loro pin che tramite i seguenti nomi:
PUSH1, PUSH2, RED_LED, GREEN_LED.
*/
#define button PUSH2         
#define relay P6_0
int buttonState = HIGH;        
int lastButtonState = LOW; 
long time = 0;
long debounce = 50;
void setup()
{
pinMode(button, INPUT_PULLUP);
pinMode(relay, OUTPUT);
 
}
void loop()
{
int reading = digitalRead(button);

 if(reading == HIGH && lastButtonState == LOW && millis() - time > debounce){
if(buttonState == HIGH)
buttonState = LOW;
else
buttonState = HIGH;
 }
 digitalWrite(relay, buttonState);
 lastButtonState = reading;
}
 
//_______END________
 
 
Questo invece lo sketch per il sensore PIR:
 
/*
SKETCH di esempio per una launchpad MSP-EXP430F5529
Questo è un programma base per l'apertura e chiusura di un contatto su un relay
tramite un sensore PIR.
*/
 
#define relay P6_0
#define pir P8_2
 
void setup()
{
  pinMode(pir, INPUT_PULLUP);
pinMode(relay, OUTPUT);
 
}
void loop()
{
int reading = digitalRead(pir);

 if(reading == HIGH){
 digitalWrite(relay, LOW);
 }
 else{
    digitalWrite(relay, HIGH);
 }
}
 
//_______END________
 
 
Questo è tutto, prima di concludere vi linko ancora alcuni siti utili:

e due video della scheda in funzione:
 
 
Ciao a tutti, alla prossima!

 
 



lunedì 25 maggio 2015

arduino e modulo relay per accensione di una lampada

In questo post vorrei mostrare la semplicità di utilizzo di un RELAY con arduino, in realtà come nel post precedente ho nuovamente usato l'olimexino 32u4 che mi ha permesso in questo caso di non utilizzare nemmeno la breadboard per montare un semplice pulsante in quanto l'olimexino ne ha uno on board programmabile per ogni necessità, nello specifico quello segnato come "BUT" nell'immagine qui sotto:

 

Per prima cosa voglio specificare che il relay del quale parleremo tra poco sarà collegato a 220v, quindi non sono responsabile di un utilizzo improprio del materiale, inoltre prima di collegare qualsiasi cosa alla corrente elettrica vi invito a porre estrema attenzione ed essere consapevoli di quello che state facendo.

Mi scuso per la premessa ma la corrente elettrica è un'"amica" pericolosa, quindi è assolutamente necessario sapere come trattarla.

Di seguito il materiale che ho usato e che vedrete nelle immagini e nel video alla fine del post:

1* olimexino 32u4
1* modulo relay 2 canali
3* Dupont maschio/femmina


arduino o olimexino?

In questo articolo vorrei cercare di mostrare le principali differenze tra 2 fantastiche board, direi le principali che utilizzo per i miei prototipi, le schede in questione sono le seguenti:

- arduino uno

- olimexino 32u4


Innanzitutto quali sono le principali differenze tra i due microcontrollori? Nello specifico l'atmega328 per l'UNO e l'atmega 32u4 per l'olimexino (lo stesso del LEONARDO), di seguito le specifiche prese dal sito di Atmel di entrambi i chip:


venerdì 22 maggio 2015

Creare una semplice Gui per Arduino

Ciao,
in questo articolo vorrei illustrare come creare una semplice interfaccia grafica per accendere e spegnere un led su arduino (ho utilizzato un olimexino 32u4 invece di arduino).

Cosa ci serve per iniziare?

1* arduino (nell'esempio ho utilizzato un olimexino 32u4 che è una versione secondo me molto migliore di un arduino leonardo) https://www.olimex.com/Products/Duino/AVR/OLIMEXINO-32U4/open-source-hardware

Microsoft Visual Studio


Innanzitutto per quel che riguarda la creazione dell'interfaccia che ci servirà su visual studio consiglio di leggere la seguente guida, vi ci vorrà circa una mezz'oretta per terminare il tutorial e sarete subito in grado di creare piccole Gui con alcuni pulsanti che è quanto ci serve qui.
https://msdn.microsoft.com/it-it/library/dd492135.aspx

Come appena scritto, al termine del tutorial sarete in grado di creare la vostra prima interfaccia, nel nostro caso avremo bisogno di 2 pulsanti per accendere e spegnere il led e di un checkbox per aprire o chiudere le comunicazioni sulla porta seriale.
Creiamo qualcosa insomma come nell'immagine qui sotto:


giovedì 21 maggio 2015

Raspberry PI video loop on startup

Ciao a tutti,
mi si è presentata la necessità di far partire 5 video diversi su 5 TV in uno stand fieristico, dovendo lasciare il materiale senza personale tecnico a gestirlo ho voluto evitare di installare attrezzature particolari per le quali avrei dovuto istruire del personale in loco, la domanda è quindi diventata: come risolvere questo problema? come far si che all'accensione dello stand al mattino sui televisori si avviino i video senza una mano esterna? Ed inoltre, se qualcuno volesse cambiare video, bisognerebbe avere dei supporti removibili che rendano semplice il caricamento di contenuti aggiuntivi......

La soluzione è stata l'utilizzo di 5 raspberry pi, un paio di script ed un circuitino per poter effettuare alle 18.00 di ogni sera un safe shutdown di ogni macchina.
Ma andiamo con ordine, di seguito il materiale utilizzato per ogni singola raspberry:

1* Raspberry pi 2
1* scheda micro sd 16GB
1* usb pendrive 4 gb
1* millefori o breadboard (io vi consiglio di saldare direttamente il circuito)
1* pulsante
1* resistenza 1k
1* resistenza 10k

Raspbian OS        http://www.raspbian.org/FrontPage     oppure
                             https://www.raspberrypi.org/downloads/

guida per l'installazione del video looper su raspbian: https://learn.adafruit.com/raspberry-pi-video-looper/installation

Prima di installare il video looper vi consiglio di preparare il circuito e lo script per lo shutdown, in questo modo una volta installato il VL avrete la possibilità di spegnere la raspberry senza doverlo fare via SSH.

lunedì 11 maggio 2015

cassa audio con sensore pir

Ciao a tutti,
qualche tempo fa mi è stato richiesto di costruire alcuni effetti per un live game, tra questi alcune casse audio che si attivassero al passaggio dei giocatori, vista la difficoltà a stendere cavi elettrici sul luogo ho optato per costruire delle piccole casse alimentate da batterie al piombo a 12V.
In pratica i file audio sono caricati su una microsd card, quando il sensore PIR rileva un movimento viene mandato in play il file audio scelto.

Questo è l'elenco dell'hardware utilizzato:
"Faccio presente che non ho rapporti commerciali con nessuno dei siti elencati di seguito"
-1 * arduino uno
-1 * sparkfun mono amp, con tpa2005d1 : https://www.sparkfun.com/products/11044

-1 * altoparlante 3W
-1 * lettore schede sd, per il prototipo ho fatto un adattatore come questo: http://www.hackerspace-ffm.de/wiki/index.php?title=Datei:SD_Card_Connection.png
-1 * batteria 12V al piombo
-1 * integrato 7809
-1 * condensatore 10uf (C1)
-1 * condensatore 0,1 uf (C2)
-1 * power jack

software:
- arduino IDE

Ciò premesso iniziamo a vedere come costruire il nostro prototipo.
Innanzitutto mi premuro di ricordare a chiunque legga che stiamo per avere a che fare con CORRENTE ELETTRICA, quindi siate sicuri di ciò che state facendo prima di metterlo in pratica.

Io ho usato delle batterie al piombo da 12V 5AH, per evitare di surriscaldare troppo il microcontrollore ho costruito un piccolo circuito per abbassare la tensione in ingresso, il circuito è composto da due condensatori C1 e C2 e un integrato 7809, l'integrato abbasserà la tensione da 12 a 9V, io ho aggiunto un ulteriore dissipatore sull'integrato.

martedì 19 novembre 2013

HOW TO: trasformare la tastiera del pc in controller midi!

Ultimamente mi sono trovato alle prese con un problema, il software della mia consolle luci ha la possibilità di mandare in play o release le cue anche tramite un midi controller esterno. Ora per carità, un controller midi ormai costa probabilmente un centinaio di euro, però nel mio caso dove la necessità è solo quella di mandare dei note on o note off, senza bisogno di rotativi o fader, con tutta una tastiera libera e inutilizzata davanti a me possibile non ci sia un modo per risparmiare un centinaio di euro e utilizzare quello che già ho?
Ebbene si, è possibile!
Tutto tramite due simpatici programmini free!
Il primo si chiama midi yoke (www.midiox.com e cliccare sul link midi yoke)
Il secondo è GLOVEpie (http://glovepie.forumer.it/).

In pratica midi yoke ci serve per "routare" i segnali midi in e out all'interno del nostro pc, mentre GLOVEpie ci permette di "mappare" quasi qualsiasi controller dalla tastiera del pc al wiimote della nintendo per intenderci.

Ora per iniziare installiamo midi yoke sul nostro pc, al termine non ci saranno icone né altro, midi yoke rimane silente all'interno del nostro computer e non ha bisogno di impostazioni.
Fatto ciò riavviamo il sistema.
Bene, appena riloggati saremo pronti per la parte più divertente, mappare la nostra tastiera del pc per far si che funzioni da controller midi (ovviamente solo note on e off) per il software di nostro interesse.