Nota

Ciao, benvenuto nella SunFounder Raspberry Pi & Arduino & ESP32 Enthusiasts Community su Facebook! Approfondisci le tue conoscenze su Raspberry Pi, Arduino ed ESP32 insieme ad altri appassionati.

Perché unirti a noi?

  • Supporto esperto: Risolvi i problemi post-vendita e le sfide tecniche con l’aiuto della nostra comunità e del nostro team.

  • Impara e condividi: Scambia suggerimenti e tutorial per migliorare le tue competenze.

  • Anteprime esclusive: Ottieni accesso anticipato agli annunci di nuovi prodotti e anteprime speciali.

  • Sconti esclusivi: Approfitta di sconti riservati sui nostri prodotti più recenti.

  • Promozioni festive e concorsi: Partecipa a concorsi e promozioni durante le festività.

👉 Sei pronto a esplorare e creare con noi? Clicca su [Qui] e unisciti oggi stesso!

2.2.2 Termistore

Nota

../_images/mcp3008_and_adc0834.jpg

A seconda della versione del tuo kit, identifica se hai ADC0834 o MCP3008 e procedi con la sezione corrispondente.

Introduzione

Proprio come il fotoresistore può rilevare la luce, il termistore è un dispositivo elettronico sensibile alla temperatura che può essere utilizzato per realizzare funzioni di controllo della temperatura, come un allarme di calore.

Componenti Necessari

In questo progetto, abbiamo bisogno dei seguenti componenti.

../_images/list_2.2.2_thermistor.png

È sicuramente comodo acquistare un kit completo, ecco il link:

Nome

ARTICOLI IN QUESTO KIT

LINK

Kit Raphael

337

Raphael Kit

Puoi anche acquistarli separatamente dai link qui sotto.

INTRODUZIONE AI COMPONENTI

LINK PER L’ACQUISTO

Scheda di estensione GPIO

ACQUISTA

Breadboard

ACQUISTA

Cavi Jumper

ACQUISTA

Resistore

ACQUISTA

Termistore

ACQUISTA

ADC0834

-

Schema Elettrico

../_images/image323.png ../_images/image324.png

Procedure Sperimentali

Passo 1: Costruisci il circuito.

../_images/image202.png

Passo 2: Vai nella cartella del codice.

cd ~/raphael-kit/python/

Passo 3: Esegui il file eseguibile

sudo python3 2.2.2_Thermistor.py

Una volta eseguito il codice, il termistore rileverà la temperatura ambiente che verrà stampata sullo schermo dopo aver completato il calcolo del programma.

Codice

Nota

Puoi Modificare/Reimpostare/Copiare/Eseguire/Interrompere il codice qui sotto. Ma prima devi accedere al percorso del codice come raphael-kit/python. Dopo aver modificato il codice, puoi eseguirlo direttamente per vedere l’effetto.

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

import RPi.GPIO as GPIO
import ADC0834
import time
import math

def init():
    ADC0834.setup()

def loop():
    while True:
        analogVal = ADC0834.getResult()
        Vr = 5 * float(analogVal) / 255
        Rt = 10000 * Vr / (5 - Vr)
        temp = 1/(((math.log(Rt / 10000)) / 3950) + (1 / (273.15+25)))
        Cel = temp - 273.15
        Fah = Cel * 1.8 + 32
        print ('Celsius: %.2f °C  Fahrenheit: %.2f ℉' % (Cel, Fah))
        time.sleep(0.2)

if __name__ == '__main__':
    init()
    try:
        loop()
    except KeyboardInterrupt:
        ADC0834.destroy()

Spiegazione del Codice

import math

Esiste una libreria numerica che dichiara un insieme di funzioni per eseguire operazioni matematiche comuni e trasformazioni.

analogVal = ADC0834.getResult()

Questa funzione viene utilizzata per leggere il valore del termistore.

Vr = 5 * float(analogVal) / 255
Rt = 10000 * Vr / (5 - Vr)
temp = 1/(((math.log(Rt / 10000)) / 3950) + (1 / (273.15+25)))
Cel = temp - 273.15
Fah = Cel * 1.8 + 32
print ('Celsius: %.2f °C  Fahrenheit: %.2f ℉' % (Cel, Fah))

Questi calcoli convertono i valori del termistore in gradi Celsius e gradi Fahrenheit.

Vr = 5 * float(analogVal) / 255
Rt = 10000 * Vr / (5 - Vr)

Queste due righe di codice calcolano la distribuzione della tensione con il valore letto da analogVal per ottenere Rt (resistenza del termistore).

temp = 1/(((math.log(Rt / 10000)) / 3950) + (1 / (273.15+25)))

Questo codice si riferisce all’inserimento di Rt nella formula TK=1/(ln(RT/RN)/B+1/TN) per ottenere la temperatura in gradi Kelvin.

temp = temp - 273.15

Converte la temperatura in Kelvin in gradi Celsius.

Fah = Cel * 1.8 + 32

Converte i gradi Celsius in gradi Fahrenheit.

print ('Celsius: %.2f °C  Fahrenheit: %.2f ℉' % (Cel, Fah))

Stampa la temperatura in gradi Celsius e Fahrenheit e le rispettive unità sul display.

Immagine del Fenomeno

../_images/image203.jpeg