GPIO et Python (7/9) – Capteur de température

GPIO et Python (7/9) - Capteur de température

Dans ce projet, vous apprendrez comment câbler et programmer un capteur de température. Voyons à quel point la pièce est chaude.

Choses dont vous aurez besoin:

Carte SD Raspberry Pi +
Clavier + souris
Moniteur + câble HDMI
Source de courant
Planche à pain
1x LED rouge
1x LED bleue
2x 330? Résistance
5x fils de pontage M / M
7x fils de pontage M / F
1x bouton
1x buzzer
1x capteur de température DS18B20
1x 4k7? Résistance

Conditions préalables:

Dernière version de Rasbian installée sur votre carte SD
Configuration du Raspberry Pi avec un clavier, une souris et un moniteur

GPIO et Python 79 Capteur de temperature

1. Nous devons d’abord activer I2C sur notre Raspberry Pi. Nous le faisons en ouvrant
le menu raspi-config.

sudo raspi-config

1593250205 213 GPIO et Python 79 Capteur de temperature

2. Nous devons ensuite aller dans le menu Options d’interfaçage.

1593250205 770 GPIO et Python 79 Capteur de temperature

3. Sélectionnez I2C puis Oui pour l’activer.

1593250206 40 GPIO et Python 79 Capteur de temperature

4. Ensuite, nous devons activer la bibliothèque I2C à 1 fil. Pour ce faire, nous devons modifier le fichier de démarrage config.txt

 sudo nano /boot/config.txt

5. Faites défiler vers le bas du fichier et ajoutez la ligne suivante:

dtoverlay=w1-gpio

1593250206 609 GPIO et Python 79 Capteur de temperature

6. Redémarrez maintenant

 sudo reboot

7. Remplacez le répertoire actuel par notre répertoire gpio_python_code:

cd gpio_python_code

cd

8. Créez un fichier pour notre script de température:

touch 7_temperature.py

1593250207 13 GPIO et Python 79 Capteur de temperature

9. Modifiez le script 7_temperature.py à l’aide de nano 7_temperature.py et ajoutez le code suivant:

#!/usr/bin/python



import glob

from time import sleep



base_dir="/sys/bus/w1/devices/"

device_folder = glob.glob(base_dir + '28*')[0]

device_file = device_folder + '/w1_slave'



def read_temp_raw():

    f = open(device_file, 'r')

    lines = f.readlines()

    f.close()

    return lines



def read_temp():

    lines = read_temp_raw()

    while lines[0].strip()[-3:] != 'YES':

        sleep(0.2)

        lines = read_temp_raw()

    equals_pos = lines[1].find('t=")

    if equals_pos != -1:

        temp_string = lines[1][equals_pos+2:]

        temp_c = float(temp_string) / 1000.0

        temp_f = temp_c * 9.0 / 5.0 + 32.0

        return temp_c, temp_f



while True:

    print(read_temp()) 

    sleep(1)

1593250208 267 GPIO et Python 79 Capteur de temperature

10. Exécutez votre script 7_temperature.py

sudo python 7_temperature.py

1593250208 144 GPIO et Python 79 Capteur de temperature