Utilisez le capteur de température analogique Raspberry Pi Python vers TMP36 et le convertisseur MCP3008 AD

Je voulais obtenir des données de détection de Raspberry Pi à partir de Node.js ainsi que d'Arduino Firmata, mais cela semble difficile, alors j'ai décidé de revenir à Python. Étant donné que GPIO de Raspberry Pi ne peut saisir que numériquement, TMP36 et LM35DZ Convertisseurs AD tels que MCP3008 et PCF8591 lors de l'utilisation de capteurs analogiques deviendra nécessaire. Écrivons un programme Python qui mesure la température en utilisant TMP36.

Activer SPI

[SPI (Serial Peripheral Interface)](http://ja.wikipedia.org/wiki/%E3%82%B7%E3%83%AA%E3%82%A2%E3%83%AB%E3%83% BB% E3% 83% 9A% E3% 83% AA% E3% 83% 95% E3% 82% A7% E3% 83% A9% E3% 83% AB% E3% 83% BB% E3% 82% A4% E3% 83% B3% E3% 82% BF% E3% 83% 95% E3% 82% A7% E3% 83% BC% E3% 82% B9) est l'une des normes de communication série. Il semble que la méthode d'activation de SPI sur Raspberry Pi ait changé depuis la version 3.18 du noyau. Raspi-config dans Activation de l'interface SPI sur le Raspberry Pi Il décrit comment l'utiliser et comment l'activer manuellement. Cette fois, nous le ferons manuellement.

Mise à jour du firmware

Si le noyau n'est pas 3.18.x, mettez à jour le firmware. Le package a également été mis à jour.

$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo rpi-update

Vérifiez la version du noyau.

$ cat /proc/version
Linux version 3.18.11+ (dc4@dc4-XPS13-9333) (gcc version 4.8.3 20140303 (prerelease) (crosstool-NG linaro-1.13.1+bzr2650 - Linaro GCC 2014.03) ) #777 PREEMPT Sat Apr 11 17:24:23 BST 2015

Modifiez / boot / config.txt.

$ sudo vi /boot/config.txt
dtparam=spi=on

redémarrer.

$ sudo reboot

SPI est maintenant activé.

$ lsmod | grep spi
spi_bcm2708             6018  0

Câblage de la planche à pain

Câblez le MCP3008, le Raspberry Pi et le FT232RL avec une maquette.

mcp3008-tmp36.png

Câblez avec MCP3008 et Raspberry Pi.

Câblez le TMP36.

Installation de Python

Installez l'environnement de développement Python pour Raspberry Pi.

$ sudo apt-get update
$ sudo apt-get install python-dev
$ python -V
Python 2.7.3

Installez ez_setup et pip.

$ curl https://bootstrap.pypa.io/ez_setup.py -o - | sudo python
$ curl https://bootstrap.pypa.io/get-pip.py -o - | sudo python
$ pip -V
pip 6.1.1 from /usr/local/lib/python2.7/dist-packages (python 2.7)

py-spidev

Installez py-spidev pour faire fonctionner les périphériques SPI à partir de Python.

$ cd
$ git clone git://github.com/doceme/py-spidev 
$ cd py-spidev
$ sudo python setup.py install
...
Writing /usr/local/lib/python2.7/dist-packages/spidev-3.0.egg-info

Exemple de projet

Créez un projet.

$ mkdir -p ~/python_apps/spidev-spike
$ cd !$

Écrivez un exemple de programme Python en vous référant au site suivant.

~/python_apps/spidev-spike/spi_tmp36.py


#!/usr/bin/env python

import time
import sys
import spidev

spi = spidev.SpiDev()
spi.open(0,0)

def readAdc(channel):
    adc = spi.xfer2([1,(8+channel)<<4,0])
    data = ((adc[1]&3) << 8) + adc[2]
    return data

def convertVolts(data):
    volts = (data * 3.3) / float(1023)
    volts = round(volts,4)
    return volts

def convertTemp(volts):
    temp = (100 * volts) - 50.0
    temp = round(temp,4)
    return temp

if __name__ == '__main__':
    try:
        while True:
            data = readAdc(0)
            print("adc  : {:8} ".format(data))
            volts = convertVolts(data)
            temp = convertTemp(volts)
            print("volts: {:8.2f}".format(volts))
            print("temp : {:8.2f}".format(temp))

            time.sleep(5)
    except KeyboardInterrupt:
        spi.close()
        sys.exit(0)

Exécution du programme

Exécutez un programme Python. La température est affichée en degrés Celsius toutes les 5 secondes.

$ python spi_tmp36.py
adc  :      232
volts:     0.75
temp :    24.84
adc  :      233
volts:     0.75
temp :    25.16
adc  :      233
volts:     0.75
temp :    25.16

Recommended Posts

Utilisez le capteur de température analogique Raspberry Pi Python vers TMP36 et le convertisseur MCP3008 AD
Utilisez le capteur de température / humidité / pression BME280 de Python avec Raspberry Pi 2
Comment utiliser Raspeye Pie Camera Python
Comment utiliser Raspeye Relay Module Python
Ubuntu 20.04 sur raspberry pi 4 avec OpenCV et utilisation avec python
Utilisez python sur Raspberry Pi 3 pour détecter la "température (en utilisant un convertisseur A / N)"!
Créez votre propre plate-forme IoT à l'aide de raspberrypi et ESP32 (partie 3) ~ Paramètres ESP32 Capteur de température analogique
Utilisez vl53l0x avec RaspberryPi (python)
[Raspberry Pi] Changement par défaut de Python en Python3
Utilisez python sur Raspberry Pi 3 pour éclairer la LED (Hello World)
Raspberry Pi --1 --Première fois (Connectez un capteur de température pour afficher la température)
Détectez les signaux analogiques avec un convertisseur A / N en utilisant python sur Raspberry Pi 3!
Utilisez python sur Raspberry Pi 3 pour éclairer la LED avec le contrôle du commutateur!
Utiliser le capteur Grove avec Raspberry Pi
python: Comment utiliser les locals () et globals ()
Utiliser le capteur de mouvement PIR avec Raspberry Pi
Comment utiliser le zip Python et énumérer
Détectez la température à l'aide de python sur Raspberry Pi 3!
Comment utiliser is et == en Python
Création d'un système de contrôle de température avec tarte aux framboises et ESP32 (3) Réception d'un fichier Python
Utilisation du capteur de température numérique à 1 fil DS18B20 avec Raspberry Pi de Python
Utilisez python sur Raspberry Pi 3 pour éclairer la LED quand il fait noir!
Grove - Capteur de température et d'humidité (DHT11) avec Raspberry Pi
[Python] Comment utiliser la fonction de hachage et taple.
Raspberry + am2302 Mesure la température et l'humidité avec un capteur de température et d'humidité
Connectez-vous à MySQL avec Python sur Raspberry Pi
Mesurer la température du processeur de Raspeye avec Python
Enregistrez la température et l'humidité avec systemd sur Raspberry Pi
De la configuration du Raspberry Pi à l'installation de l'environnement Python
[Python] [Django] Comment utiliser le champ de choix et comment ajouter des options
Créez un capteur de couleur à l'aide d'une tarte à la râpe et d'une caméra
IoT facile pour démarrer avec Raspeye et MESH
Essayez d'utiliser le capteur de température (LM75B) avec Raspeye.
Mesurez la température et l'humidité avec Raspberry Pi3 et visualisez avec Ambient
Sortie sur "LED 7 segments" en utilisant python avec Raspberry Pi 3!
Utilisez raspberryPi et Julius (reconnaissance vocale). ③ Création de dictionnaire
Raspberry Pi + python + appareil IoT, procédure de construction d'environnement pour démarrer le traitement d'image et l'apprentissage automatique
API Nifty Cloud facile à utiliser avec botocore et python
Débutant Python s'ouvre et se ferme avec Raspberry Pi
Créez des jeux LCD (16x2) avec Raspberry Pi et Python
[Introduction à l'application Udemy Python3 +] 36. Utilisation de In et Not
Production de système de contrôle de température avec tarte aux framboises et ESP32 (1)
[Python] Résumé de l'utilisation des fonctions de fractionnement et de jointure
Installez pyenv sur MacBookAir et basculez Python à utiliser
Comparaison de l'utilisation des fonctions d'ordre supérieur dans Python 2 et 3
Mesurez et comparez les températures avec Raspberry Pi et générez automatiquement des graphiques
[Python] Utilisez ceci pour lire et écrire des fichiers wav [wavio]
Comment obtenir la température du thermo-hygromètre SwitchBot à l'aide de Raspberry Pi
Connectez Raspberry Pi à Alibaba Cloud IoT Platform avec «Python»
Envoyez la température, l'humidité, etc. mesurées par SensorTag à Ambient via Raspberry Pi 3 et tracez-les.
Mesurez la température, l'humidité, etc. avec SensorTag et envoyez-le à Ambient via Raspberry Pi 3 pour le représenter graphiquement Partie 2
À propos de l'erreur que j'ai rencontrée en essayant d'utiliser Adafruit_DHT à partir de Python sur Raspberry Pi