Inhaltsverzeichnis:
2025 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2025-01-23 12:52
Temperatursensor (LM35) Schnittstelle mit ATmega32 und LCD-Display
Schritt 1:
In diesem Projekt erfahren Sie, wie Sie einen Temperatursensor (LM35) mit einem AVR ATmega32-Mikrocontroller und einem LCD-Display verbinden.
Vor diesem Projekt müssen Sie Folgendes benötigen Erfahren Sie mehr über die folgenden Artikel
So fügen Sie eine LCD-Bibliothek in avr studio hinzu | avr-Mikrocontroller-Tutorial
Einführung in ADC im AVR-Mikrocontroller | für Anfänger
Der Temperatursensor (LM35) ist ein beliebter und kostengünstiger Temperatursensor. Die Vcc kann von 4 V bis 20 V betragen, wie im Datenblatt angegeben. Um den Sensor zu verwenden, verbinden Sie einfach Vcc mit 5V, GND mit Masse und den Out mit einem der ADC (Analog-Digital-Wandler-Kanal).
Die Leistung beträgt 10MilliVolt pro Grad Celsius. Wenn der Ausgang also 310 mV beträgt, beträgt die Temperatur 31 ° C. Um dieses Projekt zu erstellen, sollten Sie mit dem ADC von AVRs und auch mit LCD vertraut sein. Die Auflösung des AVRs ADC beträgt 10 Bit und für die Referenzspannung verwenden Sie 5 V, also die Auflösung in Bezug auf die Spannung ist
5/1024 = 5,1 mV ungefähr
Wenn das Ergebnis des ADC also 5,1 mV entspricht, d. h. wenn der ADC-Wert ist
10 x 5,1 mV = 51 mV
Sie können den Wert jedes ADC-Kanals mit der Funktion adc_result(ch) lesen;
Dabei ist ch die Kanalnummer (0-5) im Fall von ATmega8. Wenn Sie den Ausgang des LM35 mit dem ADC-Kanal 0 verbunden haben, dann rufen Sie an
adc_result0 = adc_read(0);
Dadurch wird der aktuelle ADC-Wert in der Variablen adc_value gespeichert. Der Datentyp von adc_value sollte int sein, da der ADC-Wert von 0-1023 reichen kann.
Wie wir gesehen haben, liegen die ADC-Ergebnisse bei einem Faktor von 5,1 mV und für 1 Grad C beträgt der Ausgang von LM35 10 mV, also 2 Einheiten ADC = 1 Grad.
Um die Temperatur zu erhalten, teilen wir den adc_value durch zwei
Temperatur = adc_result0 /2;
Schließlich zeigt der Mikrocontroller die Temperatur in Grad Celsius auf dem alphanumerischen 16X2-LCD an.
Schritt 2: Schaltplan
Schritt 3: Programm
#ifndef F_CPU
#define F_CPU 1600000UL
#endif
#enthalten
#enthalten
#include "LCD/lcd.h"
void adc_init()
{
// AREF = AVcc
ADMUX = (1<
// ADC Enable und Prescaler von 128
ADCSRA = (1<
}
// Adc-Wert lesen
uint16_t adc_read(uint8_t ch)
{
// den entsprechenden Kanal auswählen 0~7
ch &= 0b00000111; // UND-Verknüpfung mit 7
ADMUX = (ADMUX & 0xF8)|ch;
// Einzelkonvertierung starten
// schreibe '1' in ADSC
ADCSRA |= (1<
// warten, bis die Konvertierung abgeschlossen ist
// ADSC wird wieder '0'
while(ADCSRA & (1<
zurück (ADC);
}
int main()
{
DDRB=0xff;
uint16_t adc_result0;
int-Temp;
int weit;
Zeichenpuffer [10];
// initialisiere adc und lcd
adc_init();
lcd_init(LCD_DISP_ON_CURSOR); //MAUSZEIGER
lcd_clrscr();
lcd_gotoxy (0, 0);
_verzögerung_ms(50);
während(1)
{
adc_result0 = adc_read(0); // Adc-Wert bei PA0 lesen
temp=adc_result0/2.01; // Temperatur finden
// lcd_gotoxy (0, 0);
//lcd_puts("Adc=");
//itoa (adc_result0, Puffer, 10); // ADC-Wert anzeigen
//lcd_puts(Puffer);
lcd_gotoxy (0, 0);
itoa (temp, Puffer, 10);
lcd_puts("Temp="); // Temperatur anzeigen
lcd_puts (Puffer);
lcd_gotoxy(7, 0);
lcd_puts("C");
weit=(1.8*temp)+32;
lcd_gotoxy(9, 0);
itoa (fern, Puffer, 10);
lcd_puts (Puffer);
lcd_gotoxy(12, 0);
lcd_puts("F");
_verzögerung_ms(1000);
wenn(temp>=30)
{lcd_clrscr();
lcd_home();
lcd_gotoxy(0, 1);
lcd_puts("LÜFTER EIN");
PORTB=(1<
}
wenn (temp<=30)
{
lcd_clrscr();
lcd_home();
lcd_gotoxy(7, 1);
lcd_puts("LÜFTER AUS");
PORTB=(0<
}
}
}
Schritt 4: Code erklären
Ich hoffe, Sie wissen, dass Sie wissen, wie Sie den ADC aktivieren und das LCD mit dem Avr-Mikrocontroller in diesem Code verbinden, wenn die Temperatur mehr als 30 Grad beträgt, der Lüfter eingeschaltet ist und Sie auf der LED-Anzeige FAN ON und bei einer Temperatur unter 30 sehen können, dann Lüfter ist ausgeschaltet und Sie können FAN OFF sehen
Schritt 5: Sie können das vollständige Projekt herunterladen
Klicken Sie hier
Empfohlen:
Heimwerken -- Einen Spinnenroboter herstellen, der mit einem Smartphone mit Arduino Uno gesteuert werden kann – wikiHow
Heimwerken || Wie man einen Spider-Roboter herstellt, der mit einem Smartphone mit Arduino Uno gesteuert werden kann: Während man einen Spider-Roboter baut, kann man so viele Dinge über Robotik lernen. Wie die Herstellung von Robotern ist sowohl unterhaltsam als auch herausfordernd. In diesem Video zeigen wir Ihnen, wie Sie einen Spider-Roboter bauen, den wir mit unserem Smartphone (Androi
Bewegungsaktivierte Cosplay Wings mit Circuit Playground Express - Teil 1: 7 Schritte (mit Bildern)
Bewegungsaktivierte Cosplay-Flügel mit Circuit Playground Express - Teil 1: Dies ist Teil 1 eines zweiteiligen Projekts, in dem ich Ihnen meinen Prozess zur Herstellung eines Paars automatisierter Feenflügel zeige. Der erste Teil des Projekts ist der Mechanik der Flügel, und der zweite Teil macht es tragbar und fügt die Flügel hinzu
Ein Thermometer mit Arduino und LM35 herstellen – wikiHow
Wie man ein Thermometer mit Arduino und LM35 herstellt: Heute werde ich Ihnen zeigen, wie man ein Thermometer mit Arduino und LM35-Temperatursensor, LCD-Display, auf einem mit Drähten verbundenen Steckbrett herstellt. Es wird die Temperatur in Celsius und Fahrenheit anzeigen Beobachtet
Temperatursensor (Arduino): 8 Schritte
Temperatursensor (Arduino): Dieses Projekt ist perfekt für Fortgeschrittene und Anfänger. Die Einrichtung ist sehr einfach. Es gibt einen Chip namens LM35 (Link für zusätzliche Erklärung), der es dem Arduino ermöglicht, die Temperatur der Umgebung zu bestimmen
So reparieren Sie einen Wechselrichter mit LCD-Hintergrundbeleuchtung. Mit einem Fujiplus FP-988D. für 0 $.: 9 Schritte
So reparieren Sie einen Wechselrichter mit LCD-Hintergrundbeleuchtung. Mit einem Fujiplus FP-988D. für $ 0.: In diesem anweisbaren werde ich Sie durch die Reparatur eines toten LCD-Hintergrundlicht-Wechselrichters mit den Teilen führen, die Sie haben. Sie können feststellen, ob Sie ein totes Gegenlicht haben, indem Sie zuerst andere Möglichkeiten ausschließen. Monitor auf mehreren Computern überprüfen. Stellen Sie sicher, dass