Cuprins:
2025 Autor: John Day | [email protected]. Modificat ultima dată: 2025-01-13 06:58
În acest tutorial se vor afișa cum să conectați un senzor de temperatură și presiune BMP180 cu afișajul de cristal. Este afișat într-un ecran hecha de lichid care indică informații pe care le da ordinea de a face. El sensor de temperatura y presión muestra la temperatura en que nos encontramos y en la presión que estamos.
Vamos a ver how do the connection and un code for power do that the temperature that the sensor detecta and the pressure, se muestren in the crystal display.
Pasul 1: Pasul 1: Materiale
Los materiales que se necesitan para poder conectar un display y un sensor de temperatura para hacer que la temperatura se refleje en el display son:
Arduino Uno
Protoboard
16 cabluri
Potenciometro
Afișaj cu cristal (QY-1602A)
Conector USB al Arduino
Senzor de temperatură și presiune.
1 Rezistență
Soldador
Estaño
Pasul 2: Pasul 2: Solda El LCD Con Los Conectores De Metal. Y El Sensor și Los Cables
El LCD (crystal display) viene con unos conectores aparte para poder conectar este display al protoboard y mandar una orden al arduino.
Para esto, cogemos el estaño y el soldador, insertamos los conectores a los huecos del display y se empieza a derretir el esteño al rededor de toți conectorii până când vor fi bine soldați, asigurându-se că nu se vaya a soltar. Când veamos o bolită de "metal" la reditorul tuturor conectorilor putem fi siguri de asta.
După ce soldăm senzorul la cablurile pentru care se conectează la arduino.
Pasul 3: Pasul 3: Hacer El Montaje
Senzor:
lado izquierdo- A4.
Mitad izquierda- A5
Mitad derecha- GND
Dreptul-5V
Afişa:
Pin12
Pin11
Pin5
Pin4
Pin3
Pin2
Pasul 4: Pasul 4: Librerías
Pentru a putea înregistra codul necesar niște câteva biblioteci care sunt:
SFE BMP180.h
Sârmă.h
LiquidCrystal.h
Include în cod:
#include #include #include // Va trebui să creați un obiect SFE_BMP180, numit aici „presiune”: presiune SFE_BMP180; LiquidCrystal lcd (12, 11, 5, 4, 3, 2); linia de bază dublă; // presiunea de bază
Pasul 5: Pasul 5: Cod
#include #include #include // Va trebui să creați un obiect SFE_BMP180, numit aici „presiune”:
SFE_BMP180 presiune;
LiquidCrystal lcd (12, 11, 5, 4, 3, 2);
linia de bază dublă; // presiunea de bază
configurare nulă () {
Serial.begin (9600);
Serial.println ("REBOOT");
lcd.inceput (16, 2);
// Inițializați senzorul (este important să obțineți valori de calibrare stocate pe dispozitiv).
if (pressure.begin ())
lcd.println ("BMP180 init success");
altceva {
Serial.println ("BMP180 init fail (deconectat?) N / n");
în timp ce (1); // Pauză pentru totdeauna. }
// Obțineți presiunea de bază:
linie de bază = getPressure ();
lcd.setCursor (0, 1);
Serial.print ("presiunea de bază:");
Serial.print (linia de bază);
Serial.println ("mb"); }
bucla void () {dublu a, P;
// Obțineți o nouă citire a presiunii:
P = getPressure ();
// Afișați diferența relativă de altitudine dintre
// noua lectură și citirea de bază:
a = presiune.altitudine (P, linia de bază);
lcd.print ("altitudine relativă:"); if (a> = 0,0) lcd.print ("");
// adaugă un spațiu pentru numere pozitive
lcd.print (a, 1);
lcd.print ("contoare");
if (a> = 0,0) Serial.print ("");
// adăugați un spațiu pentru numere pozitive lcd.print (a * 3.28084, 0);
lcd.println („picioare”);
întârziere (500); }
dublu getPressure () {
statutul char; dublu T, P, p0, a;
// Mai întâi trebuie să obțineți o măsurare a temperaturii pentru a efectua o citire a presiunii.
// Începeți o măsurare a temperaturii:
// Dacă solicitarea are succes, se returnează numărul de ms de așteptat.
// Dacă solicitarea nu reușește, se returnează 0.
status = pressure.startTemperature ();
if (status! = 0) {
// Așteptați finalizarea măsurătorii:
întârziere (stare);
// Recuperați măsurarea completă a temperaturii:
// Rețineți că măsurarea este stocată în variabila T.
// Folosiți „& T” pentru a furniza adresa lui T către funcție.
// Funcția returnează 1 dacă reușește, 0 dacă eșuează.
status = pressure.getTemperature (T);
if (status! = 0) {
// Începeți o măsurare a presiunii:
// Parametrul este setarea de eșantionare, de la 0 la 3 (cea mai mare rezoluție, cea mai lungă așteptare).
// Dacă solicitarea are succes, se returnează numărul de ms de așteptat.
// Dacă cererea nu reușește, se returnează 0.
status = pressure.startPressure (3);
if (status! = 0) {
// Așteptați finalizarea măsurătorii:
întârziere (stare);
// Recuperați măsurarea presiunii finalizată:
// Rețineți că măsurarea este stocată în variabila P.
// Folosiți „& P” pentru a furniza adresa lui P.
// Rețineți, de asemenea, că funcția necesită măsurarea anterioară a temperaturii (T).
// (Dacă temperatura este stabilă, puteți efectua o măsurare a temperaturii pentru mai multe măsurători de presiune.) // Funcția returnează 1 dacă reușește, 0 dacă eșuează.
status = pressure.getPressure (P, T);
if (status! = 0) {
retur (P);
} else lcd.println ("eroare la preluarea măsurării presiunii / n");
} else lcd.println ("eroare la pornirea măsurării presiunii / n");
} else lcd.println ("eroare la recuperarea măsurării temperaturii / n");
} else lcd.println ("eroare la măsurarea temperaturii de pornire / n");
}
Pasul 6: Pasul 6: Explicarea codului
Primer, include bibliotecile pe care le vom descărca.
Segundo, nombramos todos los pines a los que se conecta el LCD (crystal display).
Tercero, punem presiunea de bază.
Cuarto, se pone el void setup in the that establemos the speed of the obediencia de this order in el crystal display.
Quinto, se pone el void loop el cual establece que es lo que el código manda a hacer. În acest caz este mandar o ordine a arduino la calculatorul pentru care temperatura și presiunea pe care o prezintă senzorul BMP180 și care se vea în e cresta display.
Pasul 7: Pasul 7: Verificați
Ya conectado el arduino al computador te asigura de tener el arduino conectado en herramientas al comando. După ce se înregistrează codul și revizuirea monitorului serial pentru a verifica temperatura și presiunea salen en este. După ce te asiguri de faptul că te aparezca aceeași informație în cristal display.