In questo tutorial progetteremo un sistema di misurazione della pressione barometrica utilizzando BMP180 e ARDUINO. Innanzitutto per interfacciare BMP180 ad ARDUINO, occorre scaricare una libreria appositamente studiata per BMP180. Questa libreria è disponibile su: https://github.com/adafruit/Adafruit-BMP085-Library Dopo aver collegato quella libreria, possiamo chiamare funzioni speciali che faciliteranno il lavoro con il sensore BMP180.
Componenti richiesti
Hardware: scheda Arduino uno, pin di collegamento, resistenza da 220 Ω, sensore di pressione barometrica BMP180, LCD 16x2, breadboard.
Software: Arduino notturno
Schema del circuito e spiegazione del funzionamento
Dopo aver chiamato l'intestazione non dobbiamo preoccuparci di stabilire la comunicazione tra Arduino Uno e il sensore BMP180. Possiamo semplicemente chiamare funzioni speciali che lo faranno per noi. Abbiamo solo bisogno di inizializzare un LCD e mostrare i valori chiamati da SENSOR su di esso.
In 16x2 LCD ci sono 16 pin in tutto se c'è una retroilluminazione, se non c'è retroilluminazione ci saranno in totale 14 pin. Si può alimentare o lasciare i perni della retroilluminazione. Ora nei 14 pin ci sono 8 pin dati (7-14 o D0-D7), 2 pin di alimentazione (1 & 2 o VSS & VDD o GND & + 5v), 3 ° pin per il controllo del contrasto (VEE-controlla lo spessore dei caratteri mostrato) e 3 pin di controllo (RS & RW & E).
Nel circuito, puoi osservare che ho preso solo due pin di controllo, il bit di contrasto e READ / WRITE non sono usati spesso in modo che possano essere cortocircuitati a massa. Questo mette l'LCD nel più alto contrasto e modalità di lettura. Abbiamo solo bisogno di controllare i pin ENABLE e RS per inviare caratteri e dati di conseguenza.
Di seguito sono riportati i collegamenti effettuati per l'LCD:
PIN1 o VSS a terra
Alimentazione da PIN2 o VDD o VCC a + 5v
PIN3 o VEE a massa (offre il massimo contrasto migliore per un principiante)
PIN4 o RS (Register Selection) al PIN8 di ARDUINO UNO
PIN5 o RW (lettura / scrittura) a massa (mette l'LCD in modalità di lettura facilita la comunicazione per l'utente)
PIN6 o E (Enable) al PIN9 di ARDUINO UNO
PIN11 o D4 al PIN10 di ARDUINO UNO
PIN12 o D5 al PIN11 di ARDUINO UNO
PIN13 o D6 al PIN12 di ARDUINO UNO
PIN14 o D7 al PIN13 di ARDUINO UNO
L'IDE ARDUINO consente all'utente di utilizzare LCD in modalità 4 bit. Questo tipo di comunicazione permette all'utente di diminuire l'utilizzo dei pin su ARDUINO, a differenza di altri ARDUINO non necessita di essere programmato separatamente per usarlo in modalità 4 it perché di default ARDUINO è predisposto per comunicare in modalità 4 bit. Nel circuito puoi vedere che abbiamo usato la comunicazione a 4 bit (D4-D7).
Quindi dalla semplice osservazione dalla tabella sopra stiamo collegando 6 pin dell'LCD al controller in cui 4 pin sono pin dati e 2 pin per il controllo.
Per collegare il BMP180 ad Arduino Uno dobbiamo fare quanto segue:
|
Per prima cosa dobbiamo chiamare il file di intestazione per abilitare le funzioni speciali "#include".
Con questo file di intestazione possiamo chiamare funzioni che possono leggere i valori dal sensore direttamente senza alcun fuzz.
Ora dobbiamo abilitare la comunicazione C, questo viene fatto chiamando "#include
Possiamo leggere la pressione chiamando "String PRESSUREVALUE = String (bmp.readPressure ());". Qui il valore della pressione verrà letto dal sensore e memorizzato nella stringa “PRESSUREVALUE”.
Possiamo leggere le temparature chiamando "String TEMPARATUREVALUE = String (bmp.readTemperature ());". Qui il valore della pressione verrà letto dal sensore e verrà memorizzato nella stringa “TEMPARATUREVALUE”.
Per prima cosa dobbiamo abilitare il file di intestazione ('#include
Secondo, dobbiamo dire alla scheda quale tipo di LCD stiamo usando qui. Poiché abbiamo così tanti diversi tipi di LCD (come 20 * 4, 16 * 2, 16 * 1 ecc.). Qui andremo a interfacciare un LCD 16 * 2 a UNO in modo da ottenere 'lcd.begin (16,2);'. Per 16 * 1 otteniamo 'lcd.begin (16,1);'.
In questa istruzione diremo alla scheda dove abbiamo collegato i pin. I pin che sono collegati devono essere rappresentati in ordine come “RS, En, D4, D5, D6, D7”. Questi pin devono essere rappresentati correttamente. Poiché abbiamo collegato RS al PIN0 e così via come mostrato nello schema del circuito, rappresentiamo il numero di pin da bordo come "LiquidCrystallcd (0,1,8,9,10,11);".
Dopodiché non resta che inviare i dati, i dati che devono essere visualizzati nell'LCD dovrebbero essere scritti come "cd.print (" ciao mondo! ");". Con questo comando il display LCD visualizza "ciao mondo!".
Come puoi vedere non dobbiamo preoccuparci di nient'altro, dobbiamo solo inizializzare e UNO sarà pronto per visualizzare i dati. Non è necessario scrivere un ciclo di programma per inviare i dati BYTE da BYTE qui. Dopo aver letto il valore dal sensore, li visualizzeremo su LCD 16x2.