|
|
Line 21: |
Line 21: |
| * Des fils | | * Des fils |
| |Tools=* Un ordinateur avec l’environnement de développement Arduino | | |Tools=* Un ordinateur avec l’environnement de développement Arduino |
− | [[data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=|lien=|classe=ve-ce-chimera ve-ce-chimera-gecko]]
| |
| }} | | }} |
| {{Separator}} | | {{Separator}} |
Line 31: |
Line 30: |
| | | |
| Des bouts de code ont été récupérés sur le web. | | Des bouts de code ont été récupérés sur le web. |
− |
| |
− | include <LiquidCrystal.h>
| |
− |
| |
− | include <OneWire.h> // Inclusion de la librairie OneWire
| |
− |
| |
− | define DS18B20 0x28 // Adresse 1-Wire du DS18B20
| |
− |
| |
− | define BROCHE_ONEWIRE 10 // Broche utilisée pour le bus 1-Wire
| |
− |
| |
− | OneWire ds(BROCHE_ONEWIRE); // Création de l’objet OneWire ds
| |
− |
| |
− | // Fonction récupérant la température depuis le DS18B20↵// Retourne true si tout va bien, ou false en cas d’erreur↵boolean getTemperature(float *temp){↵byte data[9], addr[8];↵// data : Données lues depuis le scratchpad↵// addr : adresse du module 1-Wire détecté
| |
− |
| |
− | if (!ds.search(addr)) { // Recherche un module 1-Wire↵ds.reset_search(); // Réinitialise la recherche de module↵return false; // Retourne une erreur↵}
| |
− |
| |
− | if (OneWire::crc8(addr, 7) != addr[7]) // Vérifie que l’adresse a été correctement reçue↵return false; // Si le message est corrompu on retourne une erreur
| |
− |
| |
− | if (addr[0] != DS18B20) // Vérifie qu’il s’agit bien d’un DS18B20↵return false; // Si ce n’est pas le cas on retourne une erreur
| |
− |
| |
− | ds.reset(); // On reset le bus 1-Wire↵ds.select(addr); // On sélectionne le DS18B20
| |
− |
| |
− | ds.write(0x44, 1); // On lance une prise de mesure de température↵delay(800); // Et on attend la fin de la mesure
| |
− |
| |
− | ds.reset(); // On reset le bus 1-Wire↵ds.select(addr); // On sélectionne le DS18B20↵ds.write(0xBE); // On envoie une demande de lecture du scratchpad
| |
− |
| |
− | for (byte i = 0; i < 9; i++) // On lit le scratchpad↵data[i] = ds.read(); // Et on stock les octets reçus
| |
− |
| |
− | // Calcul de la température en degré Celsius
| |
− |
| |
− | temp = ((data[1] << 8) | data[0]) * 0.0625;
| |
− |
| |
− | // Pas d’erreur↵return true;↵}
| |
− |
| |
− | // initialize the library with the numbers of the interface pins↵LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
| |
− |
| |
− | void setup() {↵Serial.begin(9600); // Initialisation du port série↵// set up the LCD’s number of columns and rows:↵lcd.begin(16, 2);↵// Print a message to the LCD.↵lcd.print(« Temperature : »);↵}
| |
− |
| |
− | void loop()↵{↵float temp;↵char c;↵lcd.setCursor(0, 1);
| |
− |
| |
− | if(getTemperature(&temp)) {↵lcd.print(temp);↵}
| |
− |
| |
− | if(Serial.available()){↵c = Serial.read();↵}
| |
− |
| |
− | if(c ==’A’) {↵Serial.print(temp);↵}↵delay(500);
| |
− |
| |
− | }
| |
− |
| |
− |
| |
− |
| |
| |Step_Picture_00=Affichage_de_la_temp_rature_sur_un_afficheur_LCD_et_sur_un_appareil_Android_temp_america_bb1.png | | |Step_Picture_00=Affichage_de_la_temp_rature_sur_un_afficheur_LCD_et_sur_un_appareil_Android_temp_america_bb1.png |
| }} | | }} |
Il s'agit de mesurer une température et d'envoyer l'info vers un afficheur LCD ou un téléphone Android.
Author
Bernardet | Last edit 9/12/2019 by Clementflipo
Difficulty
Facile ⧼wf-propertyvalue-difficulty-Facile⧽
Duration
1 heure(s) ⧼wf-propertyvalue-durationtype-heure(s)⧽
Categories
⧼wf-propertyvalue-area-Électronique⧽
Il s'agit de mesurer une température et d'envoyer l'info vers un afficheur LCD ou un téléphone Android.
Difficulty
Facile ⧼wf-propertyvalue-difficulty-Facile⧽
Duration
1 heure(s) ⧼wf-propertyvalue-durationtype-heure(s)⧽
Categories
⧼wf-propertyvalue-area-Électronique⧽
Arduino, bluetooth, Android
Technique
Step 1 - Schéma de câblage
Enlever le module bluetooth avant de charger le programme dans la carte Arduino et le remettre juste après sinon il y a des problèmes de communication entre l’ordinateur et la carte Arduino.
Pour récupérer la température sur son portable Android, installer l’application Bluetooth Terminal (de Qwerty il me semble). Une fois connecté, l’envoi de la lettre A permet de récupérer la température sur le téléphone.
Des bouts de code ont été récupérés sur le web.
Cochez cette case si vous considérez ce tutoriel terminé