Selam makerlar. Bu projemizde normal bir kaskı akıllı hale getireceğiz. Bu kask, alkol durumunuzu ve ateşinizi ölçebilecek ve sonucuna göre motorunuzu sürmeye izin verecek veya vermeyecek. Akıllı kask projemizde alkol durumunun kontrolünü yapabilmek için alkol sensörü kullanacağız. Ateş ölçümü için sıcaklık sensörü, kask içindeki ışığı ölçmek için LDR sensörü kullanacağız. Alkol sensörü sayesinde motor sürücüsünün alkol kullanıp kullanamadığı anlaşılabilecek ve çıkan sonuca göre kaskın vizörünün kapatılıp kapatılmayacağına karar verilecek. Eğer motor sürücüsü alkollü ise kaskın vizörü kapatılmayacağı için hareket gerçekleşmeyecektir. Alkol kontrolünün dışında bir de ateş kontrolü yapılacaktır. Eğer sürücü alkol kullandıysa veya ateşi varsa vizörün kapanması mümkün olmayacaktır. Sensörlerden gelen veriler doğrultusunda kask içerisine yerleştirilen bir hoparlör sayesinde planlanan sürüş için motor sürücüsünün uygun olup olmadığı söylenecektir. Bu sayede hasta, ateşli veya alkollü durumlarda vizörün kapanması engellenecek ve sürüş gerçekleşmeyecektir.
Akıllı Kask Projesi Gerekli Malzemeler
- Arduino Nano Klon
- Kızılötesi Sıcaklık Sensörü
- HC06 Bluetooth-Serial Modül Kartı
- MG90S Servo Motor
- Alkol Gaz Sensörü
- 5 mm LDR
- Gaz Sensör Taşıyıcı Kartı
- 1W Hoparlör
- Mikro SD Kart Modülü
- Kırmızı Led Paketi
- 9 V Pil Başlığı
- 9V Pil
- 1K Direnç Paketi
Akıllı Kask Devre Şeması
Devre kurulumunu tamamladıktan sonra kask üzerine yerleşimi yapabilirsiniz. Yerleşimin nasıl yapılacağı ile ilgili detaylara youtube kanalımızda yayınlanacak olan videodan ulaşabilirsiniz.
Kask içerinde bulunan LDR sensörü sayesinde kaskın sürücü tarafından kullanılıp kullanılmadığı anlaşılmaktadır. Sıcaklık sensörüne sayesinde ise kaskın takılı olup olmadığını belirten bir mesajı ekranda görüyor olacaksınız. Kask takıldıktan sonra ise sensör sayesinde elde edilen değerleri ekranda görüyor olabileceksiniz. Bu değerler “ateşiniz var veya alkollüsünüz, lütfen motoru kullanmayınız” şeklinde olacak. Bu değerlere göre ise servo motor kaskın vizörünü aktif edecek veya etmeyecek. Etmediği durumda ise devrede bulunan hoparlör sayesinde bir ses duyulacaktır. Alkol sensörü sayesinde ise yine alkol tespit edilirse vizör kapanmayacaktır. Hoparlörden bir bir ses duyulacaktır.
Akıllı Kask Proje Kodları
#include <Servo.h>
#include <SoftwareSerial.h>
#include <Bildr-MLX90614.h>
MLX90614 sicaklik_sensor;
Servo servo1;
int led_pin=8;
int ses=9;
SoftwareSerial bluetooth(7, 6); // RX,TX
bool hasta = false;
bool kask_takildimi = false;
void setup()
{
pinMode(led_pin,OUTPUT);
pinMode(ses,OUTPUT);
servo1.attach(3);
Serial.begin(9600);
bluetooth.begin(9600);
servo1.write(0);
}
void loop()
{
int ldr_deger = analogRead(A1);
float derece = sicaklik_sensor.getC();
int alkol_deger = analogRead(A0);
Serial.print("ldr degeri: ");
Serial.print(ldr_deger);
Serial.print("| ");
Serial.print("derece : ");
Serial.print(derece);
Serial.print("| ");
Serial.print("alkol deger : ");
Serial.println(alkol_deger);
delay(200);
if (ldr_deger <= 1){kask_takildimi=true;digitalWrite(led_pin,LOW);}
else{kask_takildimi=false;digitalWrite(led_pin,HIGH);}
if(derece > 40 || alkol_deger > 300)
{
if(hasta == false)
{
tone(ses,100);
if(kask_takildimi == true)
{
bluetooth.print("LÜTFEN DURUN İYİ DEĞİLSİNİZ! ldr degeri:");
bluetooth.print(ldr_deger);
bluetooth.print(" | ");
bluetooth.print("derece :");
bluetooth.print(derece);
bluetooth.print(" | ");
bluetooth.print("alkol deger :");
bluetooth.println(alkol_deger);
}
else
{
bluetooth.println("kask takilmadi");
}
hasta = true;
}
}
else
{
noTone(ses);
hasta = false;
}
if (hasta == true){servo1.write(0);}
else{servo1.write(90);}
}
void ledtest()
{
digitalWrite(led_pin,HIGH);
delay(500);
digitalWrite(led_pin,LOW);
delay(500);
}
void ldrtest()
{
int ldr_deger = analogRead(A1);
Serial.print("ldr degeri: ");
Serial.println(ldr_deger);
}
void sicaklik_sensor_test()
{
float derece = sicaklik_sensor.getC();
Serial.print("derece : ");
Serial.println(derece);
delay(1000);
}
void alkol_sensor_test()
{
int deger = analogRead(A0);
Serial.print("deger : ");
Serial.println(deger);
delay(200);
}
void servo_test()
{
servo1.write(0);
delay(2000);
servo1.write(180);
delay(2000);
}
void servotest2(){servo1.write(0);}
void ses_test()
{
tone(ses,100);
delay(500);
noTone(ses);
delay(500);
}
void bluetooth_test()
{
if (bluetooth.available())
{
char data = bluetooth.read();
Serial.println(data);
}
}
Akıllı Kask Proje Videosu
Bu projemizde bir kaskı akıllı hale getirerek kullanıcıların daha güvenli sürüş gerçekleştirmelerini amaçladık. Bir sonraki yazımızda görüşmek üzere!