Witajcie przyjaciele, mam nadzieję, że wszystko u was w porządku i dobrze się bawicie.
W dzisiejszym wpisie zajmiemy się tym jak wykorzystać czujnik temperatury 18B20 w Proteus ISIS. Jako mikrokontrolera użyję płytki Arduino, do której podłączę czujnik temperatury, a następnie wyświetlę kod na wyświetlaczu ciekłokrystalicznym (LCD). Zamieściłem już ten sam poradnik, w którym połączyłem czujnik temperatury 18B20 z Arduino. Ale w tamtym projekcie użyłem prawdziwych komponentów i zaprojektowałem sprzęt. Dzisiaj pokażę ci tylko symulację, abyś mógł najpierw ją przetestować „na sucho”, a potem zaprojektować ją w sprzęcie.
Czujnik temperatury 18B20 jest najczęściej stosowanym czujnikiem temperatury. Jest to czujnik jednoprzewodowy, co oznacza, że wysyła dane przez jeden przewód i możemy podłączyć wiele czujników jednym przewodem, dlatego jest on dość wydajny i łatwy w użyciu. Zamieściłem również poradnik na temat tego jak połączyć czujnik LM35 z Arduino w Proteus ISIS, który jest innym czujnikiem temperatury, więc wypróbuj oba i daj mi znać, który z nich uważasz za lepszy. Tak czy inaczej, zacznijmy od czujnika temperatury 18B20 w Proteus ISIS.
Jak używać 18B20 w Proteus ISIS?
Po pierwsze, pobierz te komponenty z listy komponentów Proteusa, jak pokazano na poniższym rysunku:
Teraz zaprojektuj obwód, jak pokazano na poniższym rysunku:
Jak widać na powyższej symulacji, wykorzystaliśmy płytkę Arduino UNO wraz z LCD oraz czujnikiem temperatury 18B20.
18B20 w Proteusie nie potrafi wykryć rzeczywistej temperatury, ale możemy ją zmienić naciskając przyciski + i -.
Tak więc, teraz połączyliśmy czujnik temperatury i LCD z Arduino. Następnie zaprojektujemy kod dla Arduino i wgramy go na płytę.
Teraz pobierz te trzy biblioteki, jedna to biblioteka "one wire", która jest protokołem dla czujnika temperatury 18B20, następna to biblioteka Dallas Temperature Sensor, która jest właściwą biblioteką dla czujnika temperatury 18B20 i używa biblioteki one wire. Trzecią biblioteką jest biblioteka Crystal LCD, która służy do wyświetlania znaków na wyświetlaczu ciekłokrystalicznym.
Tak więc, pobierz wszystkie te trzy biblioteki klikając w linki na końcu artykułu, a następnie wklej je do folderu libraries w oprogramowaniu Arduino.
Teraz, po dodaniu tych bibliotek, otwórz program Arduino i wklej do niego poniższy kod.
#include <OneWire.h>
#include <DallasTemperature.h>
#include <LiquidCrystal.h>
#define ONE_WIRE_BUS 6
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void setup(void)
{
Serial.begin(9600);
Serial.println("Welcome to TEP !!!");
Serial.println("www.TheEngineeringProjects.com");
Serial.println();
sensors.begin();
lcd.begin(20, 4);
lcd.setCursor(5,0);
lcd.print("Welcome to:");
lcd.setCursor(1,2);
lcd.print("www.TheEngineering");
lcd.setCursor(4,3);
lcd.print("Projects.com");
delay(5000);
}
void loop(void)
{
sensors.requestTemperatures();
Serial.print("Temperature : ");
Serial.println(sensors.getTempCByIndex(0));
//lcd.clear();
lcd.setCursor(0,0);
lcd.print("Temperature: ");
lcd.print(sensors.getTempCByIndex(0));
lcd.print("C");
delay(1000);
}
Teraz pobierz swój plik hex z Arduino i załaduj go na swoją płytkę Proteus Arduino, następnie naciśnij przycisk RUN.
Jeśli wszystko pójdzie dobrze, to na starcie pojawi się coś takiego:
Po upływie około 5 sekund, na LCD pojawią się wartości z czujnika temperatury 18B20, jak pokazano na poniższym rysunku:
Teraz widać, że wartość wyświetlana na czujniku temperatury jest taka sama jak na LCD.
Tak więc, teraz klikając przyciski + i - na czujniku temperatury, możesz zwiększać i zmniejszać wartość temperatury i to samo będzie się zmieniać na wyświetlaczu.
W ten sposób można wykonać symulację czujnika temperatury 18B20 w programie Proteus ISIS. Jest dość prosty i łatwy w użyciu.
To wszystko na dzisiaj, mam nadzieję, że wyniesiecie z tego jakąś wiedzę.