Bu projemizde basit bir bardak hazırlayacağız IoT ile akıllı ev teknoloji ve PicoBricks. Bu serada PicoBricks'i ESP8266 wifi modülü ile kullanacağız. Bu sayede fabrika evini internet üzerinden takip edebileceğimiz bir nesneye dönüştüreceğiz.
İçindekiler
Merhaba Yapımcı! biz bir yapacağız Akıllı sera projesi Bugün! Her ayrıntıyı buradan kontrol edebilirsiniz! Lütfen al temas etmek Kendinizinkini yaptığınızda biziz!
Küresel ısınmanın etkisiyle iklimde meydana gelen hızlı değişimler tarımsal faaliyetlerde verimliliğin azalmasına neden olmaktadır. 1500'lü yıllarda Daniel Barbaro tarihte bilinen ilk serayı inşa etti. Bitki evleri kontrol edilebilir hava, su, ısı ve ışık koşulları sağlayabilen bitki yetiştirmek için uygun ortamlardır.
İçinde seralar, ısıyı dengelemek için ısıtıcılar, sulama için elektrikli su motorları, nemi düzenlemek ve tozlaşmayı sağlamak için fanlar kullanılmaktadır. Teknolojinin gelişmesiyle birlikte üretici seranın durumunu her yerden telefonuyla takip edebilmekte ve yapılması gereken işleri yapabilmektedir. Bu teknolojinin genel adı Nesnelerin İnterneti (IOT)’dir.
Santralde sıcaklık, nem ve oksijen içeriğini ölçmek için özel sensörler kullanılmaktadır. Ayrıca sulamaya karar vermek için toprak nemini ölçen özel sensörler kullanılır. Sulama verimliliğini artırmak için elektronik kontrollü damla sulama sistemleri kullanılmaktadır.
Ayrıntılar ve Algoritma
Hazırlayacağınız sera modelinde toprak nem sensörü ve üst kısmından sarkan DHT11 sıcaklık ve nem sensörü bulunacaktır. Modelin dışındaki su deposuna dalgıç pompa yerleştirilecek ve pompanın ucundan çıkan hortum sera içerisinde yere gidecektir. Picoboard sera modelinin dışında uygun bir yere yerleştirilecektir.
Picobricks başladığında ESP8266 wifi modülü sayesinde wifi yayını yapmaya başlar. Aynı ağa bağlı akıllı telefondan Esp8266'nın IP adresini girdiğimizde karşımıza Sera'yı kontrol edeceğimiz web sayfası çıkıyor. Burada sıcaklık ve nem değerlerini görebiliyoruz. Dilersek sulama komutunu vererek sulama işlemini başlatabiliriz.
Akıllı Sera Projesi Bileşenleri
1X Pompa
1X Toprak Nemi Sensörü
1X ESP8266 Wifi Modülü
PicoBricks Akıllı Sera Seti
Atlama Kabloları
Kolay Bağlantı Kabloları
Bağlantı şeması
Picobricks modüllerini kablolama olmadan kodlayabilir ve çalıştırabilirsiniz. Modülleri panodan ayırarak kullanacaksanız modül bağlantılarını grove kablolarla yapmalısınız.
Projenin Adım Adım
1-Sera kitindeki SR-2 kodlu kısımdan modelin zeminini ayırın.
2- SR-3 parçasının ortasındaki parçaları seranın zeminine yapıştırın.
3- Seranın iç duvarlarını SR-4 kısmından söküp yere bağlayın.
4- SR-1 ve SR-3'teki kemerleri çıkarın ve fabrika binası zeminine yerleştirin.
5-Toprağın yerleştirileceği dikdörtgen alanı streç filmle kapatın. Sulamadan sonra model parçalarını koruyacaksınız. Bitki toprağını seraya dökün. Boş alan kalmayacak şekilde doldurun.
6- SR-4'ün parçalarını seranın üzerindeki çentiklere yerleştirin.
7-Geri kalan iki ince düz SR-4 parçasını alt taraftan seranın her iki yanındaki deliklerden geçirin. Bu işlem alanın daha sağlam olmasını sağlar.
Bağlantı şeması
Picobricks modüllerini kablolama olmadan kodlayabilir ve çalıştırabilirsiniz. Modülleri panodan ayırarak kullanacaksanız modül bağlantılarını grove kablolarla yapmalısınız.
PicoBricks'in MicroPython Kodları
import utime
import uos
import machine
from machine import Pin, ADC
from picobricks import DHT11
from utime import sleep
dht_sensor = DHT11(Pin(11))
smo_sensor = ADC(27)
m1 = Pin(22, Pin.OUT)
m1.low()
print("Machine: \t" + uos.uname()[4])
print("MicroPython: \t" + uos.uname()[3])
uart0 = machine.UART(0, baudrate=115200)
print(uart0)
def Connect_WiFi(cmd, uart=uart0, timeout=5000):
print("CMD: " + cmd)
uart.write(cmd)
utime.sleep(7.0)
Wait_ESP_Rsp(uart, timeout)
print()
# ... [rest of the functions]
while True:
res = ""
res = Rx_ESP_Data()
utime.sleep(2.0)
if '+IPD' in res:
# ... [rest of the conditions]
utime.sleep(4.0)
Send_AT_Cmd('AT+CIPCLOSE=' + connection_id + '\r\n')
utime.sleep(3.0)
recv_buf = ""
print('Waiting For connection...')
</code>
PicoBricks'in Arduino C Kodları
#include
#define RX0
#define TX1
#define LIMIT_TEMPERATURE 30
#define DHTPIN 11
#define DHTTYPE DHT11
#define smo_sensor 27
#define motor 22
#define DEBUG true
DHT dht(DHTPIN,DHTTYPE);
int connectionId;
void setup(){
Serial1.begin(115200);
dht.begin();
pinMode(smo_sensor,INPUT);
pinMode(motor,OUTPUT);
sendData("AT+RST\r\n",2000,DEBUG);
// ... [rest of the setup]
}
void loop(){
if(Serial1.find("+IPD,")){
delay(300);
connectionId = Serial1.read()-48;
String serialIncoming = Serial1.readStringUntil('\r');
// ... [rest of the loop]
}
}
String sendData(String command, const int timeout, boolean debug){
String response ="";
Serial1.print(command);
long int time = millis();
while((time + timeout) > millis()){
while(Serial1.available()){
char c = Serial1.read();
response += c;
}
}
if(debug){
Serial.print(response);
}
return response;
}