ATTiny84 + LCD + LM35 temperatuur sensor (2 / 4 stap)

Stap 2: Circuit bouwen en testen


Aanvankelijk dit project ging gebruiken van ATtiny85 en een 74HC595 shift register, maar wegens de problemen met USI SPI ik cant krijgen ze te werken, dus ik ben net overgestapt op een ATtiny84 om ze te vervangen.

Het circuit werd oorspronkelijk gebouwd rond de Arduino Uno tijdens de periode van de ontwikkeling van code en vervolgens veranderde ik de pennen aanpassen aan degene die ik gebruikt op de Attiny84, die nog steeds zonder enig probleem op de Uno werkt.

De code voor het project hieronder is opgenomen: (bijgewerkt met Fahrenheit en Kelvin modus)

 #include <avr/sleep.h> #include <LiquidCrystal.h> LiquidCrystal lcd (10, 9, 8, 7, 6, 5);byte degree[8] = { 0b00000, 0b11100, 0b10100, 0b11100, 0b00000, 0b00000, 0b00000, }; const int buttonPin = 1; // the pin that the pushbutton is attached to const int tempPin = 0; const long interval = 500; // the delay in milliseconds for the temperature reading to update unsigned long previousMillis = 0; int buttonState; // current state of the button int lastButtonState; // previous state of the button float tempC = 0; float tempF = 0; float tempK = 0; int reading = 0; unsigned long pwrofftime = 600000; //initial time before powering down in milliseconds int tempmode = 0; //0 = celcius, 1 = fahrenheit, 2 = kelvin void setup(){ analogReference(INTERNAL); //sets the reference voltage for Arduino's ADC to 1.1 volts pinMode(buttonPin, INPUT); lcd.begin(8, 2); lcd.createChar(8, degree); lcd.setCursor(0, 0); lcd.print("Hello"); lcd.setCursor(0, 1); lcd.print("World!"); delay(1000); } void loop(){ buttonState = digitalRead(buttonPin); unsigned long currentMillis = millis(); if(buttonState != lastButtonState) { if (buttonState == LOW) { lcd.clear(); tempmode = tempmode + 1; if(tempmode > 2){ tempmode = 0; } if(tempmode == 0){ lcd.setCursor(0, 0); lcd.print("Celsius"); lcd.setCursor(0, 1); lcd.print("Mode"); } else if(tempmode == 1){ lcd.setCursor(0, 0); lcd.print("Fahrenhe"); lcd.setCursor(0, 1); lcd.print("it Mode"); } else if (tempmode == 2){ lcd.setCursor(0, 0); lcd.print("Kelvin"); lcd.setCursor(0, 1); lcd.print("Mode"); } } pwrofftime = pwrofftime + currentMillis; delay(500); lastButtonState = buttonState; } if(currentMillis - previousMillis >= interval) { previousMillis = currentMillis; int reading = analogRead(tempPin); tempC = reading / 9.31; tempF = (9/5)*tempC + 32; tempK = tempC + 273.15; lcd.setCursor(0, 0); if(tempmode == 0){ lcd.print("TempC: "); lcd.setCursor(0, 1); lcd.print(tempC); lcd.write(8); lcd.print("C "); } else if(tempmode == 1){ lcd.print("TempF: "); lcd.setCursor(0, 1); lcd.print(tempF); lcd.write(8); lcd.print("F "); } else if(tempmode == 2){ lcd.print("TempK: "); lcd.setCursor(0, 1); lcd.print(tempK); lcd.write(8); lcd.print("K "); } } if(pwrofftime < currentMillis){ sleep(); } } void sleep(){ lcd.setCursor(0, 0); lcd.print("Powering"); lcd.setCursor(0, 1); lcd.print(" Down..."); delay(1000); lcd.setCursor(0, 0); lcd.print("Powered "); lcd.setCursor(0, 1); lcd.print(" Down."); set_sleep_mode(SLEEP_MODE_PWR_DOWN); sleep_enable(); sleep_mode(); } 

Gerelateerde Artikelen

STM32F103 Nucleo: LM35 Temperatuur Sensor (met mbed.h)

STM32F103 Nucleo: LM35 Temperatuur Sensor (met mbed.h)

In deze tutorial zullen we leren te zullen leren om interface temperatuursensor met STM32 Nucleo Board. We zullen meest gebruikte temperatuursensor d.w.z. LM35 gebruiken. We nemen input van de sensor en deze weer te geven op een seriële poort. We zul
Arduino LCD Thermometer met LM35 Temp Sensor

Arduino LCD Thermometer met LM35 Temp Sensor

: UPDATE van de PIN 13: dank aan cybersbvoor de vangst.De schematische Fritzing toont met behulp van pin 12 en 13. Dit niet corrigeren. De pinnen in de code, PIN 11 en 12 vermelde moet gebruiken.Dit is zoals de titel al aangeeft, een Arduino aangedre
Toepassingsgebied klok: analoge klok en temperatuur sensor op een oscilloscoop

Toepassingsgebied klok: analoge klok en temperatuur sensor op een oscilloscoop

Scopeclock is een gemakkelijk te gebruiken hardware aan uw staat analoge oscilloscoop XY nuttiger te maken. Met behulp van deze eenvoudige hardware kunt u uw analoge oscilloscoop converteren naar een bereik-klok gebruiken. Dit project was ik en mijn
Hoe te meten van de temperatuur zeer nauwkeurig met een Arduino en een TSYS01 Temperatuur Sensor Board.

Hoe te meten van de temperatuur zeer nauwkeurig met een Arduino en een TSYS01 Temperatuur Sensor Board.

Tijdens zijn studie in de Universiteit werden we uitgedaagd als onderdeel van een cursus werken in het ontwerpen van een doos met zeer nauwkeurige temperatuurregeling. Mocht het project te doen slagen, moesten meerdere vakken worden gebouwd en gebrui
Thermistor Temperatuur Sensor Alarm Circuit

Thermistor Temperatuur Sensor Alarm Circuit

dit is een circuit dat een alarm roept wanneer de temperatuur bepaald niveau kruist. Temperatuurbewaking is een regelmatig gebruikte toepassing in de industrie en in vele andere plaatsen waar de temperatuur onder een maximale toegestane niveau moet w
Raspberry Pi - TMP100 Temperatuur Sensor het leerprogramma van Java

Raspberry Pi - TMP100 Temperatuur Sensor het leerprogramma van Java

TMP100 hoog-nauwkeurigheid, Low-Power, digitale temperatuur Sensor I2C MINI module. De TMP100 is ideaal voor uitgebreide temperatuurmeting. Dit apparaat biedt een nauwkeurigheid van ± 1 ° C zonder kalibratie of externe component signaal conditioning.
Raspberry Pi SHT25 vochtigheid & Temperatuur Sensor Python Tutorial

Raspberry Pi SHT25 vochtigheid & Temperatuur Sensor Python Tutorial

SHT25 I2C vochtigheid en temperatuursensor ±1.8%RH ±0.2 ° C I2C Mini Module. De SHT25 hoog-nauwkeurigheid vochtigheid en temperatuur sensor is uitgegroeid tot een industriestandaard in termen van vormfactor en intelligentie, die gekalibreerd, gelinea
Raspberry Pi MCP9808 Temperatuur Sensor Python Tutorial

Raspberry Pi MCP9808 Temperatuur Sensor Python Tutorial

MCP9808 is een zeer nauwkeurige digitale temperatuur sensor ±0, 5 ° C I2C mini module. Ze zijn vastgelegd met de gebruiker - programmeerbare registers, die de temperatuur sensing toepassingen vergemakkelijken. De MCP9808 hoog-nauwkeurigheid temperatu
Raspberry Pi TMP112 Temperatuur Sensor Python Tutorial

Raspberry Pi TMP112 Temperatuur Sensor Python Tutorial

TMP112 hoog-nauwkeurigheid, Low-Power, digitale temperatuur Sensor I2C MINI module. De TMP112 is ideaal voor uitgebreide temperatuurmeting. Dit apparaat biedt een nauwkeurigheid van ±0, 5 ° C zonder kalibratie of externe component signaal conditionin
Raspberry Pi TMP112 Temperatuur Sensor het leerprogramma van Java

Raspberry Pi TMP112 Temperatuur Sensor het leerprogramma van Java

TMP112 hoog-nauwkeurigheid, Low-Power, digitale temperatuur Sensor I2C MINI module. De TMP112 is ideaal voor uitgebreide temperatuurmeting. Dit apparaat biedt een nauwkeurigheid van ±0, 5 ° C zonder kalibratie of externe component signaal conditionin
Arduino Nano - TMP100 Temperatuur Sensor Tutorial

Arduino Nano - TMP100 Temperatuur Sensor Tutorial

TMP100 hoog-nauwkeurigheid, Low-Power, digitale temperatuur Sensor I2C MINI module. De TMP100 is ideaal voor uitgebreide temperatuurmeting. Dit apparaat biedt een nauwkeurigheid van ± 1 ° C zonder kalibratie of externe component signaal conditioning.
Deeltje Photon - TMP100 Temperatuur Sensor Tutorial

Deeltje Photon - TMP100 Temperatuur Sensor Tutorial

TMP100 hoog-nauwkeurigheid, Low-Power, digitale temperatuur Sensor I2C MINI module. De TMP100 is ideaal voor uitgebreide temperatuurmeting. Dit apparaat biedt een nauwkeurigheid van ± 1 ° C zonder kalibratie of externe component signaal conditioning.
Raspberry Pi - TMP100 Temperatuur Sensor Python Tutorial

Raspberry Pi - TMP100 Temperatuur Sensor Python Tutorial

TMP100 hoog-nauwkeurigheid, Low-Power, digitale temperatuur Sensor I2C MINI module. De TMP100 is ideaal voor uitgebreide temperatuurmeting. Dit apparaat biedt een nauwkeurigheid van ± 1 ° C zonder kalibratie of externe component signaal conditioning.
Licht/temperatuur Sensor

Licht/temperatuur Sensor

Stap 1: Onderdelen en Tools Dit zijn de delen en de hulpmiddelen die nodig zijn om dit project te maken:ThermistorArduinoLCD(16x2)LDR (light afhankelijk resistor)Stap 2: Plaats onderdelen op brood bord Uw LCD op het breadboard te plaatsen en plaats d