Sommario:

Misurazione della temperatura utilizzando XinaBox e un termistore: 8 passaggi
Misurazione della temperatura utilizzando XinaBox e un termistore: 8 passaggi

Video: Misurazione della temperatura utilizzando XinaBox e un termistore: 8 passaggi

Video: Misurazione della temperatura utilizzando XinaBox e un termistore: 8 passaggi
Video: How to add WeMos D1 board manager II ARDUINO বোর্ড ম্যানেজারে সংযুক্ত করন 2024, Dicembre
Anonim
Misurazione della temperatura utilizzando XinaBox e un termistore
Misurazione della temperatura utilizzando XinaBox e un termistore

Misurare la temperatura di un liquido utilizzando un ingresso analogico xChip di XinaBox e una sonda a termistore.

Passaggio 1: cose utilizzate in questo progetto

Componenti hardware

  • XinaBox SX02 x 1 sensore di ingresso analogico xChip con ADC
  • XinaBox CC01 x 1 versione xChip di Arduino Uno basata su ATmega328P
  • Resistore 10k ohm x 1 resistore 10k per rete divisore di tensione
  • Sonda termistore x 1 10k a 25°C Sonda termistore impermeabile NTC
  • XinaBox IP01 x 1 programmatore USB xChip basato su FT232R di FTDI Limited
  • XinaBox OD01 x 1 xChip 128x64 Pixel Display OLED
  • XinaBox XC10 x 4 connettori bus xChip
  • XinaBox PU01 x 1 xChip USB (tipo A) alimentatore
  • Alimentatore USB 5V x 1 Power Bank o simile

App software e servizi online

Arduino IDE

Utensili manuali e macchine per la fabbricazione

Cacciavite a testa piatta Per stringere o allentare il morsetto a vite

Fase 2: Storia

introduzione

Volevo misurare la temperatura di un liquido creando un semplice termometro. Usando XinaBox xChips ho potuto farlo con relativa semplicità. Ho usato l'ingresso analogico SX02 xChip che accetta 0 - 3,3 V, il CC01 xChip basato su ATmega328P e il display OLED OD01 xChip per visualizzare i risultati della mia temperatura.

Termistore che misura la temperatura dell'acqua in un bicchiere

Passaggio 3: scarica i file necessari

Avrai bisogno delle seguenti librerie e software:

  • xSX0X- Libreria di sensori di ingresso analogico
  • xOD01 - Libreria display OLED
  • Arduino IDE - Ambiente di sviluppo

Fare clic qui per vedere come installare le librerie.

Una volta installato l'IDE Arduino, aprilo e seleziona "Arduino Pro o Pro Mini" come scheda su cui caricare il tuo programma. Assicurarsi inoltre che sia selezionato il processore ATmega328P (5V, 16MHz). Vedi immagine sotto.

Seleziona la scheda Arduino Pro o Pro Mini e il processore ATmega328P (5V, 16MHz)

Passaggio 4: assemblare

Fare clic insieme sul programmatore xChip, IP01 e CC01 xChip basato su ATmega328P utilizzando i connettori bus XC10 come mostrato di seguito. Per caricare sul CC01 dovrai posizionare gli interruttori rispettivamente nelle posizioni 'A' e 'DCE'.

IP01 e CC01 hanno cliccato insieme

Quindi, prendi la tua resistenza da 10kΩ e avvita un'estremità nel terminale contrassegnato con "IN" e l'altra estremità nel terminale di terra, "GND", sull'SX02. Prendere i cavi sulla sonda del termistore e avvitare un'estremità in Vcc, "3.3V", e l'altra estremità nel terminale "IN". Vedi il grafico qui sotto.

Connessioni SX02

Ora combina OD01 e SX02 con CC01 semplicemente facendo clic insieme utilizzando i connettori bus XC10. Vedi sotto. L'elemento d'argento nell'immagine è la sonda del termistore.

Unità completa per la programmazione

Passaggio 5: programma

Inserisci l'unità nella porta USB del tuo computer. Scarica o copia e incolla il codice qui sotto nel tuo IDE Arduino. Compila e carica il codice sulla tua scheda. Una volta caricato, il tuo programma dovrebbe iniziare a funzionare. Se la sonda è a temperatura ambiente, è necessario osservare ±25°C sul display OLED come mostrato di seguito.

Dopo il caricamento, osservare la temperatura ambiente sul display OLED

Passaggio 6: termometro portatile

Rimuovere l'unità dal computer. Smontare l'unità e rimontarla utilizzando PU01 invece di IP01. Ora prendi il tuo alimentatore portatile USB da 5 V come un power bank o simili e inserisci il nuovo gruppo al suo interno. Ora hai il tuo fantastico termometro portatile con una buona precisione. Guarda l'immagine di copertina per vederlo in funzione. Ho misurato l'acqua calda in un bicchiere. Le immagini sottostanti mostrano la tua unità completa.

Unità completa composta da CC01, OD01, SX02 e PU02.

Passaggio 7: conclusione

Questo progetto ha richiesto meno di 10 minuti per l'assemblaggio e altri 20 minuti per la programmazione. l'unico componente passivo richiesto era un resistore. Gli xChips fanno semplicemente clic insieme rendendolo molto conveniente.

Passaggio 8: codice

ThermTemp_Display.ino Arduino Ricerca termistori per comprendere i calcoli nel codice.

#include // include la libreria di base per xCHIP

#include // include la libreria del sensore di ingresso analogico #include // include la libreria del display OLED #include // include le funzioni matematiche#define C_Kelvin 273.15 // per la conversione da kelvin a celsius #define series_res 10000 // valore del resistore in serie in ohm #define B 3950 // B parametro per termistore #define room_tempK 298.15 // temperatura ambiente in kelvin #define room_res 10000 // resistenza a temperatura ambiente in ohm #define vcc 3.3 // tensione di alimentazione xSX01 SX01(0x55); // imposta la tensione float dell'indirizzo i2c; // variabile contenente la tensione misurata (0 - 3.3V) float therm_res; // resistenza del termistore float act_tempK; // temperatura effettiva kelvin float act_tempC; // temperatura effettiva in celsius void setup() { // inserisci qui il tuo codice di configurazione, da eseguire una volta: // inizializza le variabili a 0 voltage = 0; term_res = 0; act_tempK = 0; act_tempC = 0; // avvia la comunicazione seriale Serial.begin(115200); // avvia la comunicazione i2c Wire.begin(); // avvia il sensore di ingresso analogico SX01.begin(); // avvia il display OLED OLED.begin(); // cancella il display OD01.clear(); // ritardo per normalizzare delay(1000); } void loop() { // inserisci qui il tuo codice principale, per eseguirlo ripetutamente: // leggi il voltaggio SX01.poll(); // memorizza la tensione di tensione = SX01.getVoltage(); // calcola la resistenza del termistore therm_res = ((vcc * series_res) / voltage) - series_res; // calcola la temperatura effettiva in kelvin act_tempK = (room_tempK * B) / (B + room_tempK * log(therm_res / room_res)); // converte Kelvin in Celsius act_tempC = act_tempK - C_Kelvin; // stampa temperatura su display OLED // formattazione manuale da visualizzare al centro OD01.set2X(); OD01.println(""); OD01.println(""); OD01.print(" "); OD01.print(act_tempC); OD01.print("C"); OD01.println(""); ritardo (2000); // aggiorna la visualizzazione ogni 2 secondi }

Consigliato: