İçindekiler:
2025 Yazar: John Day | [email protected]. Son düzenleme: 2025-01-13 06:58
Bu projede, vücudumuzda entegre bir navigasyon sistemini nasıl kullanabileceğimizi göstermek için Google Haritalar'dan gelen göstergeyi duyusal bir çıktıya dönüştüren bir cihaz uygulayacağız.
Bunu bir Bluetooth modülü kullanarak Arduino kartımızı cep telefonu cihazımıza bağlayarak uygulayacağız. Telefonumuzla istediğimiz sinyali, endikasyona bağlı olarak jeton buzzer'ın farklı desenleri ile aktifleşecek olan Arduino kartımıza gönderebiliriz.
Şimdilik göstergeler, gerçek Google Haritalar'dan değil, bir Bluetooth uygulamasından gelecek çünkü programlama bilgimiz o kadar ileri gitmiyor, ancak bu proje tamamen bunu uygulayabileceğimizi göstermekle ilgili, araçlarımız vardı.
Bunun için birkaç gösterge olacaktır, sağa veya sola dönün (sağ veya sol sesli uyarıyı etkinleştirerek), düz gidin (ikisini bir kez etkinleştirerek), yanlış yol (iki sesli uyarıyı iki kez etkinleştirerek), rotanın sonu (iki sesli uyarıyı 3 kez etkinleştirerek) ve hafifçe sola veya sağa dönün (sol veya sağ sesli uyarıyı daha az güçle etkinleştirerek),
Adım 1: Size Bileşenler Alın
Projeyi yeniden oluşturmak için ihtiyaç duyacağınız bileşenlerin listesi burada.
-Arduino Lilypad.
-Bluetooth modülü HM-10
-teller
- Madeni para zili (x2)
-Telefon (tercihen Android)
-Kaynakçı
-kalay tel
Adım 2: Her Şeyi Bağlayın
Adım 3: Kodu Yapalım
#Dahil etmek
YazılımSeri HM10(10, 11); // RX = 10, TX = 11
char appData;
Dize inData = "";
geçersiz kurulum() {
Seri.başla(19200);
Serial.println("HM10 serisi 9600'de başladı");
HM10.başlangıç(9600); // HM10 seriyi 9600 baud hızına ayarla
pinMode (6, ÇIKIŞ);
pinMode (5, ÇIKIŞ); }
boşluk döngüsü () {
dize testi;
HM10.listen(); // HM10 portunu dinle
while (HM10.available() > 0) { // HM10 bir şey gönderirse oku
appData = HM10.read();
inData = String(appData); // verileri string formatında kaydet
}
if (Serial.available()) { // Varsa kullanıcı girişini okuyun.
gecikme(10);
HM10.write(Serial.read());
}
if (inData.equals("1")) { //telefondan gönderilen sayı 1'e eşitse, sağ sesli uyarıyı 200ms tam güçte etkinleştirin
gecikme(10);
Serial.println("DRETA");
analogWrite (6, 255);
gecikme (200);
analogWrite (6, 0);
}
if (inData.equals ("2")) { //telefondan gönderilen sayı 2'ye eşitse, sol zili 200ms tam güçte etkinleştirin
Serial.println("ESQUERRE");
analogWrite (5, 255);
gecikme (200);
analogWrite (5, 0);
}
if (inData.equals ("3")) { //telefondan gönderilen sayı 3'e eşitse, her iki zili de 200 ms süreyle etkinleştirin Serial.println("RECTE");
analogWrite (5, 255);
analogWrite (6, 255);
gecikme (200);
analogWrite (5, 0);
analogWrite (6, 0);
}
if (inData.equals ("4")) { //telefondan gönderilen sayı 4'e eşitse, her iki zili de 2 kez aralıklı olarak etkinleştirin
Serial.println("YANLIŞ");
analogWrite (5, 255);
analogWrite (6, 255);
gecikme (100);
analogWrite (5, 0);
analogWrite (6, 0);
gecikme (100);
analogWrite (5, 255);
analogWrite (6, 255);
gecikme (100);
analogWrite (5, 0);
analogWrite (6, 0); }
if (inData.equals ("5")) { //telefondan gönderilen sayı 4'e eşitse, her iki zili de 3 kez aralıklı olarak etkinleştirin
Serial.println("SON");
analogWrite (5, 180);
analogWrite (6, 180);
gecikme (100);
analogWrite (5, 0);
analogWrite (6, 0);
gecikme (100);
analogWrite (5, 180);
analogWrite (6, 180);
gecikme (100);
analogWrite (5, 0);
analogWrite (6, 0);
gecikme (100);
analogWrite (5, 180);
analogWrite (6, 180);
gecikme (100);
analogWrite (5, 0);
analogWrite (6, 0);
} if (inData.equals("6")) { //telefondan gönderilen sayı 6'ya eşitse sağ sesli uyarıcıyı yarı güçten az olmayacak şekilde etkinleştirin
gecikme(10);
Serial.println("DRETA");
analogWrite (6, 100);
gecikme (200);
analogWrite (6, 0);
}
}
Adım 4: Her Şeyi Yerine Yerleştirin
Cepli bir tişört alın ve buzzerları her omzunuza birer tane yerleştirin. Kablolar tişörtün içinden geçecek ve ön cepte bir delikten geçecek, Orada her şeyin bağlı olduğu arduino kartını yerleştireceksiniz. Taşınabilir olması için arduino'yu bir pille bağlayın ve onu da ön cebe yerleştirin.
Dilerseniz aynısını bazı eldivenlere de uygulayabilirsiniz, vücudun sol/sağ endikasyonlarını kolayca ayırt edebileceği bir yere.
Arduino Lilypad'iniz varsa, çok daha taşınabilir hale gelir.