Table des matières:
2025 Auteur: John Day | [email protected]. Dernière modifié: 2025-01-13 06:57
En este tutuorial les voy a mostrar como conectar un sensor de temperature y presión BMP180 con el crystal display. Este display en una pantalla hecha de liquido que muestra información que se le da la orden de hacer. El sensor de temperatura y presión muestra la temperatura en la que nos encontramos y en la presión que estamos.
Vamos a ver como hacer la conexión y un código para Poder hacer que la temperature que el sensor detecta y la presión, se muestren en el crystal display.
Étape 1: Étape 1: Matériaux
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 fils:
Arduino Uno
Protoboard
16 câbles
Potenciomètre
Affichage à cristaux (QY-1602A)
Connecteur USB al Arduino
Capteur de température et pression.
1 Résistance
Soldat
Estaño
Étape 2: Étape 2: Soldar El LCD Con Los Conectores De Metal. Y El Sensor a Los Câbles
El LCD (affichage à cristaux) 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 estaño al rededor de todos los conectores hasta queden bien soldados, asegurándonos de que no se vaya a soltar. Cuando veamos una bolita de "metal" al rededor de todos los conectores podemos estar seguros de esto.
Después soldamos el sensor a los cables para que se puedan conectar al arduino.
Étape 3: Étape 3: Hacer El Montaje
Capteur:
lado izquierdo - A4.
Mitad izquierda - A5
Mitad derecha - GND
Derecho-5V
Affichage:
Pin12
Pin11
Pin5
Pin4
Pin3
Pin2
Étape 4: Étape 4: Librerías
Para poder lograr el código necesitamos baja algunas librerías que son:
SFE BMP180.h
Fil.h
LiquidCrystal.h
Incluirlas dans le code:
#include #include #include // Vous devrez créer un objet SFE_BMP180, appelé ici "pressure": SFE_BMP180 pressure; LiquidCrystal LCD (12, 11, 5, 4, 3, 2); ligne de base double; // pression de base
Étape 5: Étape 5: Código
#include #include #include // Vous devrez créer un objet SFE_BMP180, appelé ici "pressure":
pression SFE_BMP180;
LiquidCrystal LCD (12, 11, 5, 4, 3, 2);
ligne de base double; // pression de base
void setup() {
Serial.begin(9600);
Serial.println("REBOOT");
lcd.begin (16, 2);
// Initialiser le capteur (il est important d'obtenir les valeurs d'étalonnage stockées sur l'appareil).
si (pression.begin())
lcd.println("BMP180 init success");
autre {
Serial.println("BMP180 init fail (déconnecté ?)\n\n");
tandis que(1); // Pause pour toujours. }
// Obtenir la pression de base:
ligne de base = getPressure();
lcd.setCursor(0, 1);
Serial.print("pression de base: ");
Serial.print(baseline);
Serial.println(" mb"); }
boucle vide() { double a, P;
// Obtenir une nouvelle lecture de pression:
P = getPressure();
// Affiche la différence d'altitude relative entre
// la nouvelle lecture et la lecture de base:
a = pression.altitude(P, ligne de base);
lcd.print("altitude relative: "); if (a >= 0.0) lcd.print(" ");
// ajoute un espace pour les nombres positifs
lcd.print(a, 1);
lcd.print(" mètres, ");
if (a >= 0.0) Serial.print(" ");
// ajoute un espace pour les nombres positifs lcd.print(a*3.28084, 0);
lcd.println(" pieds");
retard (500); }
double getPressure() {
statut de char; double T, P, p0, a;
// Vous devez d'abord obtenir une mesure de température pour effectuer une lecture de pression.
// Lancer une mesure de température:
// Si la requête aboutit, le nombre de ms à attendre est renvoyé.
// Si la requête échoue, 0 est renvoyé.
status = pressure.startTemperature();
si (état != 0) {
// Attendez la fin de la mesure:
retard(statut);
// Récupération de la mesure de température terminée:
// Notez que la mesure est stockée dans la variable T.
// Utilisez '&T' pour fournir l'adresse de T à la fonction.
// La fonction renvoie 1 en cas de succès, 0 en cas d'échec.
status = pressure.getTemperature(T);
si (état != 0) {
// Lancer une mesure de pression:
// Le paramètre est le paramètre de suréchantillonnage, de 0 à 3 (résolution la plus élevée, attente la plus longue).
// Si la requête aboutit, le nombre de ms à attendre est renvoyé.
// Si la requête échoue, 0 est renvoyé.
état = pression.startPressure(3);
si (état != 0) {
// Attendez la fin de la mesure:
retard(statut);
// Récupération de la mesure de pression terminée:
// Notez que la mesure est stockée dans la variable P.
// Utilisez '&P' pour fournir l'adresse de P.
// Notez également que la fonction nécessite la mesure de température précédente (T).
// (Si la température est stable, vous pouvez effectuer une mesure de température pour plusieurs mesures de pression.) // La fonction renvoie 1 en cas de succès, 0 en cas d'échec.
état = pression.getPressure(P, T);
si (état != 0) {
retour(P);
} else lcd.println("erreur lors de la récupération de la mesure de pression\n");
} else lcd.println("erreur de démarrage de la mesure de pression\n");
} else lcd.println("erreur lors de la récupération de la mesure de température\n");
} else lcd.println("erreur lors du démarrage de la mesure de la température\n");
}
Étape 6: Étape 6: Explication de code
Primero, incluimos las librerías que vamos a descargar.
Segundo, nombramos todos los pines a los que se conecta el LCD (affichage à cristaux).
Tercero, ponemos la presión de base.
Cuarto, se pone el void setup en la que establecemos la velocidad de la obediencia de esta orden en el crystal display.
Quinto, se pone el void loop el cual establece que es lo que el código manda a hacer. En este caso es mandar una orden del arduino al computador para que la temperature y la presión que muestra el sensor BMP180 y que se vea en e cresta display.
Étape 7: Étape 7: vérifier
Ya conectado el arduino al computador te aseguras de tener el arduino conectado en herramientas al comando. Después subes el código y revisas el monitor serial para ver si la temperature y la presión salen en este. Después ya te aseguras de que te aparezca la misma información en el crystal display.