Translate

Visualizzazione post con etichetta elettronica. Mostra tutti i post
Visualizzazione post con etichetta elettronica. Mostra tutti i post

mercoledì 1 ottobre 2014

Arduino & Raspberry Pi




Questa sera ho deciso di mettere nero su bianco I passi che mi hanno permesso di collegare il mio “Raspberry Pi B-” ad uno dei miei “Arduino Uno R3”
Allora voi direte ma perche usare un Arduino ? Perche se devi usare con precisione la temporizzazione, leggere velocemente valori analogici etc etc l'Arduino è perfetto (Open Surce e Progetto Italiano) e come dice il sito ufficiale
Arduino is an open-source electronics platform based on easy-to-use hardware and software. It's intended for anyone making interactive projects.
(per maggiori info su cosa sia esattamente http://www.arduino.cc/)
cos'altro si puo' volrere ?
Collegargo al Raspberry Pi! Perche ? Potrei discutere sul fascino di interfacciare I due sistemi, dell'esplorazione dell'insolito... oppure confessare che il raspberry Pi è l'unico “PC-Fisso” che ho nella stanza Hobby che è un Triangolo Rettangolo Isoscele di lato 1,5 mt … in compenso il monitor è un 17Pollici1280x1024 :o)

cmq bando alle ciance
Aprendo il Terminale si scarica

sudo apt-get install arduino

Rispondete ad eventuali domande, scaricate, attendete .. et voilà comparira un menu con “Arduino IDE”




impostiamo la Board come “Arduino Uno



Dopodiche Carichiamo uno Sketch (è un programma per arduino) il piu semplice possibile...






dove al piedino 13 è collegato un Led (apposta per fare queste prove :) ) che andremo a far lampeggiare;
aggiungiamo, giusto per far lampeggiare il led in maniera particolare, le seg righe di codice alla fine:

digitalWrite(led, HIGH);
delay(500);
digitalWrite(led, LOW);
delay(500);
digitalWrite(led, HIGH);
delay(250);
digitalWrite(led, LOW);
delay(250);

dopodichè verifichiamo il codice








Prima di Fare L'upload sull Arduino
Bisogna collegarlo, in Teoria Bisognerebbe collegarlo NON direttamente al Raspberry Pi ma tramite un hub USB alimentato... ed è cio che vi consiglio.
Io per questi test ho provato il collegamento diretto ed ha funzionato... cmq non mi ritengo responsabile di eventuali Svampate che possano succedervi :D


(da notare che dovrebbe aver riconosciuto la porta USB in autonomia) nel mio caso :

/dev/ttyACM0


ed ora Carichiamo il programma su Arduino








Ed ora Finalmente un led giallo dovrebbe lampeggiare...

domenica 1 giugno 2014

Sensore di Temperatura ed umidità DHT11 con RasphBerry pi


Tra le numerose micro spedizioni ricevute in questi ultimi mesi da negozietti sparsi per il mondo, mi sono anche fatto mandare un Sensore DHT11 che misura Temperatura ed Umidità.
(poi ho scoperto che sarebbe stato piu comodo prendere il DHT11 su AMAZON al miglior prezzo)
Guardando il datasheet la misura della temperatura ha una precisione di +o-2gradi.. mi sembra un esagerazione ma costava poco :D e per fare delle prove va benissimo
N.B. il +o-2 gradi significa anche che si passa dai 26 ai 28 nelle misurazioni!
per quanto rigurada l'umidità è comunque abbastanza preciso per i miei scopi.


ho preso spunto dal sito http://www.vitadastudente.it
che a sua volta fa riferimento al sito di AdaFruit...

cmq sia dopo essermi procurato anche una bella resistenza da 4,7Khom ed adoperato il seguente schema

collegando il pin 7 (GPIO 4) al piedino dei dati, ho scaricato i Driver (la gestione pura in Pyton risultava troppo imprecisa per la comunicazione seriale richiesta)
cmq i driver provengono sempre da Adafruit


    $ git clone git://github.com/adafruit/Adafruit-Raspberry-Pi-Python-Code.git
    $ cd Adafruit-Raspberry-Pi-Python-Code

    $ cd Adafruit_DHT_Driver

       e fin qui lo abbiamo solo scaricato ora lanciamo il test
      1. sudo ./Adafruit_DHT 11 4
      dove 11 indica il modello del sensore, ed il 4 indica il PIN GPIO a cui è collegato;
      otteniamo
      1. Using pin #4
      2. Data (40): 0x26 0x0 0x1a 0x0 0x40
      3. Temp = 26 *C, Hum = 38 %

      se poi utilizzando lo spirito scientifico che mi contraddistingue... ci alito sopra ...
      1. Using pin #4
      2. Data (40): 0x28 0x0 0x1c 0x0 0x40
      3. Temp = 28 *C, Hum = 40 %
      noto che qualche variazione la registra...