İçindekiler:
2025 Yazar: John Day | [email protected]. Son düzenleme: 2025-01-13 06:58
Herkese merhaba! UQD0801 (Robocon 1) (Grup 7) müfredatımızın bir parçası olarak Tinkercad kullanarak bir sıcaklık sensörünü, bir lcd'yi ve bir Arduino'yu nasıl simüle edebileceğimizi göstermek için bir proje yürüten Tun Hussein Onn Malaysia (UTHM) Üniversitesi öğrencileriyiz.
Sıcaklık sensörleri ve LCD, oda sıcaklığı izleme ve hatta tesis izleme gibi farklı durumlarda veya sıcaklığı önemli bir unsur olarak gören herhangi bir yerde basit bir mekanizma olarak hizmet edebilir!
Adım 1: Gerekli Bileşenlerin Listesi
Bu proje, piyasada çok kolay bulunabilen bileşenler gerektiriyor.
Bileşen Listesi:
1. Arduino Uno R3 (1)
2. Sıcaklık Sensörü (TMP36) (1)
3. LCD 16x2 (1)
4. 250kΩ Potansiyometre (1)
5. 220Ω Direnç (1)
Adım 2: Tinkercad'de Devre Bağlantısı
Tinkercad, kullanıcıların devrelerini sıfırdan inşa ederek karmaşıklaştırmamalarına yardımcı olabilecek önceden oluşturulmuş devreler sağlar.
Circuit Designer'da, Arduino ve LCD arasında önceden bağlanmış bir devreye sahip bir marş devresi olduğunu gösterecek olan lcd'yi arayabiliriz.
Adım 3: TMP36 Sıcaklık Sensörü
Tinkercad'de TMP36 olan tek bir sıcaklık sensörü mevcuttur.
TMP36'nın sıcaklığa duyarlı bir direnci yoktur. Bunun yerine bu sensör diyotların özelliğini kullanır; bir diyot sıcaklığı değiştirdikçe voltaj da onunla birlikte bilinen bir oranda değişir. Sensör küçük değişikliği ölçer ve buna bağlı olarak 0 ile 1.75VDC arasında bir analog voltaj verir. Sıcaklığı elde etmek için çıktıyı ölçmemiz ve santigrat dereceye dönüştürmek için bazı hesaplamalar yapmamız gerekir.
Adım 4: TMP36'yı Arduino'ya bağlayın
TMP36, sensörün düz tarafını fark ederek kolayca tanımlanabilen 3 pime sahiptir.
İlk pin, kaynağa bağlanacak olan +5V pinidir.
İkinci pin, Analog In pinine bağlanacak olan Vout'tur (A0-A5 olabilir). Bu proje için A0 kullandık.
Üçüncü pin ise Arduino'nun topraklamasına bağlanacak olan GND pinidir.
Adım 5: Biraz Kodlama Yapalım
Başlangıçta Tinkercad'de bulunan kod düzenleyicide bir kod olacaktır.
Bunun nedeni, Tinkercad'den bir başlangıç devresi kullanmamız ve yeni kullanıcıların çıktıyı keşfetmesine ve simüle etmesine izin vermek için kodunu onunla birlikte yüklememizdir.
Bunların hepsini silebilir ve kodumuzu tasarlayabiliriz.
Tasarlamak üzere olduğumuz herhangi bir Arduino kodu için proje ile ilgili kütüphanelerin dahil edildiğinden emin olmamız gerekiyor.
Bu durumda iki kütüphaneye ihtiyacımız var; -LCD Kitaplığı (LiquidCrystal.h)
-Seri İletişim Kitaplığı (SoftwareSerial.h)
Her iki kitaplık da Tinkercad'de mevcuttur, yani harici kaynaklardan herhangi bir kitaplık indirmeye gerek yoktur.
Öyleyse; kodun ilk satırları
#Dahil etmek
#Dahil etmek
6. Adım: Kodun Geri Kalanı
// kitaplık kodunu dahil et:#include
#Dahil etmek
LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // rs, en, d4, d5, d6, d7 pinlerini pin 12 11 5 4 3 2'de arduinoya bağlama
int santigrat; // bir fonksiyonu santigrat tamsayı olarak bildir
geçersiz kurulum()
{
Seri.başla(9600); // baud hızını saniyede 9600 bit olarak ayarla
lcd.başla(16, 2); //lcd boyutu 16x2'dir // LCD'ye bir mesaj yazdırın.
lcd.print("Sıcaklık Göstergesi");
Serial.println("Sıcaklık Göstergesi"); //mesajı seri monitörde yazdırın }
boşluk döngüsü()
{
santigrat = map(((analogRead(A0) - 20) * 3.04), 0, 1023, -40, 125);//sıcaklığı matematiksel olarak elde etmek için harita. Anlamı 0 = -40 derece ve 1023 = 125 derece
lcd.setCursor(0, 0); // imleç lcd'nin ilk pikseline ayarlandı.
lcd.print("Sıcaklık Göstergesi"); // mesajı lcd'ye yazdır
lcd.setCursor(0, 1);//imleç ikinci satırın ilk pikseline ayarlandı
lcd.print(santigrat); // analog okunan santigrat çıktısını 0, 1'de lcd'ye yazdırır
lcd.print("C"); // "c" alfabesini yazdır
Seri.println(santigrat); // seri monitörde gösterilen çıktı
gecikme(1000); // okuma her 1 saniyede bir yenilenir
lcd.clear(); // lcd'yi temizler
}