Spisu treści:
- Krok 1:
- Krok 2: Schemat obwodu
- Krok 3: Program
- Krok 4: Wyjaśnienie kodu
- Krok 5: Możesz pobrać pełny projekt
- Krok 6: Wideo
Wideo: Czujnik temperatury (LM35) Interfejs z ATmega32 i wyświetlaczem LCD- Automatyka Sterowanie wentylatorem: 6 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:31
Czujnik temperatury (LM35) Interfejs z ATmega32 i wyświetlaczem LCD
Krok 1:
W tym projekcie dowiesz się, jak połączyć czujnik temperatury (LM35) z mikrokontrolerem AVR ATmega32 i wyświetlaczem LCD.
Przed tym projektem musisz wiedzieć o następujących artykułach
jak dodać bibliotekę lcd w avr studio| Samouczek mikrokontrolera avr
wprowadzenie do ADC w mikrokontrolerze AVR | dla początkujących
Czujnik temperatury (LM35) to popularny i tani czujnik temperatury. Vcc może wynosić od 4 V do 20 V, jak określono w arkuszu danych. Aby użyć czujnika, wystarczy podłączyć Vcc do 5 V, GND do uziemienia, a wyjście do jednego z ADC (kanał przetwornika analogowo-cyfrowego).
Wyjście wynosi 10 miliwoltów na stopień Celsjusza. Więc jeśli wyjście wynosi 310 mV, to temperatura wynosi 31 stopni C. Aby wykonać ten projekt, powinieneś znać ADC AVR, a także używać LCD. Tak więc rozdzielczość AVR ADC wynosi 10 bitów, a dla napięcia odniesienia używasz 5 V, więc rozdzielczość pod względem napięcia jest
5/1024 = około 5,1 mV
Więc jeśli wynik ADC odpowiada 5,1mV, tj. Czy odczyt ADC jest
10x5,1mV = 51mV
Możesz odczytać wartość dowolnego kanału ADC za pomocą funkcji adc_result(ch);
Gdzie ch to numer kanału (0-5) w przypadku ATmega8. Jeśli podłączyłeś wyjścia LM35 do kanału ADC 0, zadzwoń
adc_result0 = adc_read(0);
to zapisze bieżący odczyt ADC w zmiennej adc_value. Typ danych adc_value powinien być int, ponieważ wartość ADC może wynosić od 0-1023.
Jak widzieliśmy, wyniki ADC mają współczynnik 5,1 mV i dla 1 stopnia C wyjście LM35 wynosi 10 mV, więc 2 jednostki ADC = 1 stopień.
Aby uzyskać temperaturę, dzielimy wartość adc_value przez dwa
temperatura = adc_result0 /2;
Na koniec mikrokontroler wyświetli temperaturę w stopniach Celsjusza na alfanumerycznym wyświetlaczu LCD 16X2.
Krok 2: Schemat obwodu
Krok 3: Program
#ifndef F_CPU
#zdefiniuj F_CPU 1600000UL
#endif
#włączać
#włączać
#include "LCD/lcd.h"
nieważne adc_init()
{
// AREF = AVcc
ADMUX = (1<
// ADC Włącz i preskaler 128
ADCSRA = (1<
}
// odczytaj wartość adc
uint16_t adc_read(uint8_t ch)
{
// wybierz odpowiedni kanał 0~7
ch &= 0b00000111; // operacja AND z 7
ADMUX = (ADMUX & 0xF8)|ch;
// rozpocznij pojedynczą konwersję
// napisz '1' do ADSC
ADCSRA |= (1<
// czekaj na zakończenie konwersji
// ADSC ponownie staje się '0'
while(ADCSRA i (1<
powrót (ADC);
}
int main()
{
DDRB=0xff;
uint16_t adc_result0;
temp. wewn;
daleko;
bufor znaków[10];
// zainicjuj adc i lcd
adc_init();
lcd_init(LCD_DISP_ON_CURSOR); //KURSOR
lcd_clrscr();
lcd_gotoxy(0, 0);
_opóźnienie_ms(50);
póki(1)
{
adc_result0 = adc_read(0); // odczytaj wartość adc w PA0
temp=adc_result0/2.01; // znalezienie temperatury
//lcd_gotoxy(0, 0);
//lcd_puts("Adc=");
//itoa(adc_result0, bufor, 10); //wyświetl wartość ADC
//lcd_puts(bufor);
lcd_gotoxy(0, 0);
itoa(temp, bufor, 10);
lcd_puts("Temp="); //wyświetlanie temperatury
lcd_puts(bufor);
lcd_gotoxy(7, 0);
lcd_puts("C");
daleko=(1.8*temp)+32;
lcd_gotoxy(9, 0);
itoa(daleko, bufor, 10);
lcd_puts(bufor);
lcd_gotoxy(12, 0);
lcd_puts("F");
_delay_ms(1000);
jeśli (temp>=30)
{lcd_clrscr();
lcd_home();
lcd_gotoxy(0, 1);
lcd_puts("WENTYLATOR WŁĄCZONY");
PORTB=(1<
}
jeśli (temp<=30)
{
lcd_clrscr();
lcd_home();
lcd_gotoxy(7, 1);
lcd_puts("WENTYLATOR WYŁĄCZONY");
PORTB=(0<
}
}
}
Krok 4: Wyjaśnienie kodu
Mam nadzieję, że wiesz, że wiesz, jak włączyć ADC i jak połączyć wyświetlacz LCD z mikrokontrolerem Avr w tym kodzie, gdy temperatura jest większa niż 30 stopni, wtedy wentylator jest włączony i możesz zobaczyć na wyświetlaczu LED WŁĄCZONY WENTYLATOR i kiedy temperatura jest niższa niż 30 stopni niż wentylator jest wyłączony i widać WENTYLATOR WYŁĄCZONY
Krok 5: Możesz pobrać pełny projekt
Kliknij tutaj
Zalecana:
Czujnik temperatury grilla i mięsa na ESP8266 z wyświetlaczem: 5 kroków (ze zdjęciami)
Czujnik temperatury i mięsa grilla na ESP8266 z wyświetlaczem: W tej instrukcji pokażę, jak stworzyć własną wersję narzędzia do grillowania, które mierzy aktualną temperaturę w grillu i włącza wentylator, aby go zapalić w razie potrzeby. Oprócz tego dostępny jest również czujnik temperatury rdzenia mięsa
Czujnik temperatury i wilgotności (dht11) Interfejs z Arduino: 4 kroki
Czujnik temperatury i wilgotności (dht11) Interfejs z Arduino: Czujnik temperatury ma szeroki zakres zastosowań, jest używany w wielu miejscach, gdzie pracuje jako system sprzężenia zwrotnego. Na rynku dostępnych jest wiele rodzajów czujników temperatury o różnych specyfikacjach, w których niektóre czujniki temperatury są używane w
Inteligentne sterowanie wentylatorem Raspberry Pi za pomocą Pythona i Thingspeak: 7 kroków
Inteligentne sterowanie wentylatorem Raspberry Pi za pomocą Pythona i Thingspeak: Krótki przeglądDomyślnie wentylator jest bezpośrednio podłączony do GPIO - oznacza to jego ciągłą pracę. Pomimo stosunkowo cichej pracy wentylatora, jego ciągła praca nie jest efektywnym wykorzystaniem aktywnego systemu chłodzenia. W tym samym czasie
Czujnik temperatury i wilgotności z Arduino i wyświetlaczem LCD: 4 kroki
Czujnik temperatury i wilgotności z Arduino i wyświetlaczem LCD: Witajcie, witajcie z powrotem w Artuino. Jak widzieliście, zacząłem An InstructableToday, zrobimy Temperaturę i Miernik wilgotności z modułem DHT11. Zaczynajmy P.S. Rozważ zasubskrybowanie i polubienie filmu
SENSOR SUHU DENGAN LCD DAN LED (Czujnik temperatury z wyświetlaczem LCD i LED): 6 kroków (ze zdjęciami)
CZUJNIK SUHU DENGAN LCD DAN LED (Czujnik temperatury z wyświetlaczem LCD i LED): hai, powiedz Devi Rivaldi mahasiswa UNIVERSITAS NUSA PUTRA z Indonezji, możesz powiedzieć, że możesz korzystać z czujników na swoim wyświetlaczu z Arduino z wyjściem ke LCD i LED. Ini adalah pembaca suhu dengan desain saya sendiri, dengan sensor ini anda