Selam makerlar! Sanatsal bir tablonun önünden geçerken hikayesini sesli olarak anlatan bir akıllı tablo sistemi hayal edin. Bu projede, Arduino kullanarak bu hayali gerçeğe dönüştüreceğiz. Bir tabloya yaklaştığınızda, önceden kaydedilmiş bir ses dosyası, tablonun tarihi, sanatçısı ve ilham kaynağı gibi bilgiler hakkında bilgi verecektir. Gelin birlikte malzemeleri inceleyelim!
Akıllı Tablo Projesi İçin Gerekli Malzemeler
- Arduino UNO R3 Klon USB Kablo Hediyeli – (USB Chip CH340)
- HC-SR04 Ultrasonik Mesafe Sensörü
- Mikro SD Kart Modülü
- 1W Hoparlör
- 40 Pin Ayrılabilen Dişi-Erkek M-F Jumper Kablo-200 mm
- 40 Pin Ayrılabilen Erkek-Erkek M-M Jumper Kablo-200 mm
- SanDisk 32 GB microSDHC Hafıza Kartı Class10 – 120 MB/sn Okuma Hızı
- GP 1604E GREENCELL 9V Pil 1604 – 6F22
- 9 V Pil Başlığı
Projeye başlamadan önce istediğiniz bir tablonun hikayesini anlatan bir metin bulun, Text-to-speech programı kullanarak metni ses dosyasına dönüştürün. Ses dosyasını MP3 veya WAV formatında kaydedin. Ses dosyasını SD karta kopyalayın.
Akıllı Tablo Devre Şeması
Bu projede, tablonun önünde bir insan algılandığında onun hikayesini anlatan bir ses dosyası çalınacak. Bunun için bir mesafe sensörü ve Arduino kullanacağız. Mesafe sensörü, tablonun önünde bir insan tespit ettiğinde bu bilgiyi Arduino’ya iletecek.
Arduino, mesafe sensöründen gelen bilgilere göre hareket edecek ve SD kart modülünden ilgili ses dosyasını çekecek. Son olarak, hoparlör aracılığıyla ses dosyasını oynatarak tablonun hikayesini dinleyen kişiye aktaracak.
Akıllı Tablo Proje Kodları
#include <SimpleSDAudio.h>
const int trigPin = 3;
const int echoPin = 2;
#define trigPin2 6
#define echoPin2 8
long duration;
int distance;
long duration2;
int distance2;
void setup() {
Serial.begin(9600);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(trigPin2, OUTPUT);
pinMode(echoPin2, INPUT);
SdPlay.setSDCSPin(4); //SD Kart CS Pini
if(!SdPlay.init(SSDA_MODE_FULLRATE | SSDA_MODE_MONO | SSDA_MODE_AUTOWORKER))
{
while(1);
}
}
void loop() {
// Mesafe sensöründen mesafe ölçümü yapılır
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
// Echo pininden gelen sinyal süresi ölçülür
duration = pulseIn(echoPin, HIGH);
// Mesafe hesaplanır
distance = duration * 0.034 / 2;
digitalWrite(trigPin2, LOW);
delayMicroseconds(2);
digitalWrite(trigPin2, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin2, LOW);
duration2 = pulseIn(echoPin2, HIGH);
distance2 = duration2 * 0.034 / 2;
Serial.print("Mesafe: ");
Serial.print(distance);
Serial.println(" cm");
Serial.print("Mesafe 2: ");
Serial.print(distance2);
Serial.println(" cm");
if(distance < 30){if(!SdPlay.setFile("rthwq.wav")){while (1);}SdPlay.play();while(!SdPlay.isStopped()){;}}
//if(distance2 < 10){if(!SdPlay.setFile("2.wav")){while (1);}SdPlay.play();while(!SdPlay.isStopped()){;}}
delay(500);
}
Akıllı Tablo Projesi Yapım Videosu
Siz de kendi sanatsal projelerinizi Arduino ile interaktif hale getirmek için bu projeyi deneyebilirsiniz. Haydi, videoyu izleyerek detaylara birlikte göz atalım ve projeyi hayata geçirelim!