Engel Mesafesini Sesli Öğrenmek
CEYD-A, elektronik devreye yaklaşan cismin mesafesini takip ederek söylüyor.
CEYD-A ile elektronik devreleri rakiplerinden farklı olarak doğrudan kontrol edebilmek mümkün.
CEYD-A, IoT – dijital asistan haberleşmesine sıra dışı ve ihtiyaç olan bir yaklaşımla bluetooth’u devreye sokuyor. Geleneksel dijital asistan yapıları, IoT etkileşimlerini WIFI bağlantısı ile uzak bir sunucu üzerinden gerçekleştirmekte veya ek bir uygulama ile bağlantı sağlayabilmektedir. CEYD-A ise MQTT, WIFI gibi protokolleri desteklediği gibi doğrudan cihaz üzerinde çalıştığı için internete çıkış gerektirmeden yakındaki IoT devreleri ile de konuşabilmektedir. İlave bir kodlama veya uygulama gerektirmeden “Bluetooth’dan bilgi al diyerek” devreden gelen bilgileri değerlendirebilir. Hatta söyleyeceğiniz cümleyi “bluetooth’dan bilgi al ve yaz” gibi kolay ifadelerle tanımlayabilmeniz de mümkün. Kısaca siz devreyi tasarlayın, onunla konuşmayı CEYD-A halletsin.
Devrede kullanılan HC-SR04 Ultrasonik Mesafe Sensörü 2cm’den 400cm’ye kadar 3mm hassasiyetle ölçüm yapabilen bu ultrasonik sensör çeşididir.
Gereksinimler:
Arduino Uno | |
HC 05 Bluetooth Modülü | |
1K Ohm ve 2.2K Ohm Dirençler | |
HC-SR04 Mesafe Ölçer Sensör | |
Breadboard | |
Jumper Kablolar (Erkek-erkek ve dişi-erkek) | |
CEYD-A uygulaması |
Devre Şeması:
Arduino IDE kodu
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
#include <SoftwareSerial.h> #define echoPin 6 #define trigPin 7 int maximumRange = 50; int minimumRange = 0; int oncekiolcum = 0; void setup() { Serial.begin(9600); pinMode(trigPin, OUTPUT); pinMode(echoPin, INPUT); } void loop() { int olcum = mesafe(maximumRange, minimumRange); if(olcum!=oncekiolcum) { Serial.print(olcum); Serial.println("cm"); } delay(2500); oncekiolcum = olcum; } int mesafe(int maxrange, int minrange) { long duration, distance; digitalWrite(trigPin,LOW); delayMicroseconds(2); digitalWrite(trigPin, HIGH); delayMicroseconds(10); digitalWrite(trigPin, LOW); duration = pulseIn(echoPin, HIGH); distance = duration / 58.2; delay(50); if(distance>=maxrange || distance<=minrange) { return 0; } return distance; } |