Nwazet Key Lime Pi – Lecture des entrées analogiques

Nwazet Key Lime Pi Lecture des entrees analogiques.jpgv1561470602
Nwazet Key Lime Pi Lecture des entrees analogiques.jpgv1561470602

Avant de commencer, assurez-vous que le pilote SPI est chargé sur votre distribution Raspberry Pi.

L’exemple Python suivant lit chaque seconde à partir d’un capteur de température analogique TMP36. Il convertit les données brutes de température en millivolts, degrés Celsius et Fahrenheit. Pour une communication SPI fiable et efficace (pas de bit banging), l’échantillon dépend de la py-spidev Module Python. À installer py-spidev, procédez comme suit, en supposant que les packages ‘git’ et ‘python-dev’ sont déjà installés sur le Raspberry Pi:

git clone https://github.com/doceme/py-spidev.git cd / py-spidev python setup.py install

Ensuite, à l’aide de l’éditeur «nano», procédez comme suit:

nano tmp36.py

Collez l’exemple de code ci-dessous dans l’éditeur, enregistrez-le et quittez.

Ensuite, rendez exécutable tmp36.py et exécutez-le.

chmod + x tmp36.py ./tmp36.py

La sortie du script devrait ressembler à ceci:

température brute = 206 mV = 663,8671875 Celsius = 16,38671875 Fahrenheit = 61,49609375

Ouais, mon bureau est un peu nippy en ce moment;)

#! / usr / bin / python

importer spidev
temps d’importation

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

# lire les données SPI à partir de l’une des huit entrées possibles du MCP3008 (0 à 7)
def readadc (adcnum):
si ((adcnum> 7) ou (adcnum <0)):
retour -1
r = spi.xfer2 ([1,(8+adcnum)<<4,0])
adcout = ((r[1]& 3) << 8) + r[2]
retourner adcout

# Capteur de température TMP36 connecté à l’entrée ADC 0
TempSensor = 0

tandis que True:
rawTemp = readadc (TempSensor)
# Convertissez l’entrée ADC brute en milliVolts, degrés Celsius et Fahrenheit
milliVolts = rawTemp * (3300.0 / 1024.0)
tempCelsius = ((milliVolts – 100,0) / 10,0) – 40,0
tempFahrenheit = (tempCelsius * 9.0 / 5.0) + 32

imprimer « raw temp = », rawTemp
imprimer « mV = », milliVolts
imprimer « Celsius = », tempCelsius
imprimer « Fahrenheit = », tempFahrenheit

time.sleep (1)

Auteur original: Fabien Royer, nwazet.com