Temperatura z termistora
Część sekcji Wyświetlacze i czujniki ścieżki Arduino w Coddy. Lekcja 20 z 24.
Termistor to rezystor, którego opór zmienia się wraz z temperaturą. W tym module (typu NTC) napięcie na pinie OUT spada, gdy moduł się nagrzewa: analogRead() zwraca około 512 przy 25 stopniach C.
Odczyt nie spada liniowo, więc map() się nie sprawdzi. Równanie beta przelicza go na stopnie. BETA pochodzi z karty katalogowej elementu (tutaj 3950), a log() to funkcja matematyczna wbudowana w płytkę. Nie musisz śledzić obliczeń: skopiuj tę linię bez zmian.
const float BETA = 3950;
float celsius = 1 / (log(1 / (1023.0 / reading - 1)) / BETA + 1.0 / 298.15) - 273.15;Zachowaj .0 w 1023.0. Dzielenie 1023 / reading dwóch liczb całkowitych odrzuca część ułamkową, a wynik różni się wtedy o wiele stopni.
Wyzwanie
ŚredniModuł termistora znajduje się na A0. Wypisz temperaturę:
- przelicz odczyt na stopnie C za pomocą równania beta
- wypisz ją za pomocą
Serial.println(), dwa razy na sekundę
Naciśnij Run, zmień temperaturę na płytce, a następnie naciśnij Check.
Spróbuj swoich sił
const float BETA = 3950; // wartość beta termistora
void setup() {
Serial.begin(9600);
}
void loop() {
int reading = analogRead(A0);
// przelicz odczyt na stopnie C i go wyświetl
delay(500);
}
Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Wyświetlacze i czujniki
1Wyświetlacze siedmiosegmentowe
Wyświetlacz siedmiosegmentowyWzory cyfr w bajtachLiczenie na wyświetlaczuOdliczanie do zeraSymulator rzutu kostkąPoćwicz samodzielnie: Edytor online Arduino