Yaz aylarında serinlemek için kış aylarında ısınmak için klimalar kullanılır. Klimalar ısıtma ve soğutma derecesini bulunduğu ortamın sıcaklığına göre ayarlamaktadır. Fırınlar yemeği pişirirken kullanıcının ayarladığı sıcaklık değerine çıkmaya ve o sıcaklığı korumaya çalışırlar. Bu iki elektronik cihazda sıcaklığı kontrol etmek için özel sıcaklık sensörleri kullanmaktadır. Ayrıca seralarda sıcaklık ve nem birlikte ölçülür. Bu iki değer istenen düzeyde dengede kalabilmesi için fan ile hava akımını sağlanmaya çalışılır.
Picobricks’te sıcaklığı ve nemi ayrı ayrı ölçebilir ve bu ölçümler ile çevreyle etkileşime girebilirsiniz. Bu projede Picobricks ile sıcaklığa göre fan hızını otomatik ayarlayan bir serinletme sistemi hazırlayacağız. Böylelikle DC motor çalışma sistemini ve motor hız ayarı yapmayı öğreneceksin.
Proje Detayları ve Algoritma
Projemizde öncelikle Picobricks üzerindeki DHT11 sıcaklık ve nem sensörünün ölçtüğü sıcaklık değerlerini görüntüleyeceğiz. Daha sonra sonra bir sıcaklık sınırı belirleyerek DHT11 modülünden gelen sıcaklık değeri bu sınıra ulaştığında Picobricks’e bağlı DC motorun dönmeye başlaması, sıcaklık değeri belirlediğimiz sınırın altına indiğinde ise DC motorun durması için gerekli kodları yazacağız.
Bağlantı Şeması
Projenin MicroBlocks ile Kodlanması
Proje Görseli
Proje Önerisi
Picobricks üzerindeki OLED ekranın kullanarak sıcaklığı ekrana yazdırabilir ve fanın devreye girdiği sıcaklığı takip edebilirsin.
Picobricks modüler yapıdadır, modüller kırılarak ayrılabilir ve grove kablolar ile Pico boarda bağlanarak kullanılabilir. Projemizde yaptığımız akıllı serinletici devresini, robot araba şasesine montajlayarak bulunduğun ortamda otonom olarak gezen ve aynı anda ortamı serinleten bir proje geliştirebilirsin.
Projenin MicroPython Kodları
Geçerli sıcaklığın shell penceresine yazdıran kodlar:
from machine import Pin
from dht import DHT11
from utime import sleep
dht_sensor = DHT11(11)
while True:
sleep(1) # It was used for DHT11 to measure.
dht_sensor.measure() # Use the sleep() command before this line.
temp=dht_sensor.temperature()
print(temp)
Projenin Kodları:
from machine import Pin
from dht import DHT11
from utime import sleep
dht_sensor = DHT11(11)
m1 = Pin(21, Pin.OUT)
m1.low()
while True:
sleep(1) # It was used for DHT11 to measure.
dht_sensor.measure() # Use the sleep() command before this line.
temp=dht_sensor.temperature()
print(temp)
if temp>=28.0:
m1.high()
else:
m1.low()
Projenin Arduino C Kodları
#include "EspDHT.h"
EspDHT dht;
void setup()
{
dht.setup(11, EspDHT::DHT11);
pinMode(21,OUTPUT);
}
void loop()
{
delay(100);
dht.readSensor();
float temperature = dht.getTemperature();
if(temperature>27){
digitalWrite(21,HIGH);
} else{
digitalWrite(21,HIGH);
}
}