İçindekiler:

Prototip Arduino-Raspberry Pi Soundboard: 9 Adım (Resimli)
Prototip Arduino-Raspberry Pi Soundboard: 9 Adım (Resimli)

Video: Prototip Arduino-Raspberry Pi Soundboard: 9 Adım (Resimli)

Video: Prototip Arduino-Raspberry Pi Soundboard: 9 Adım (Resimli)
Video: Raspberry Pi Sound Board w/ LCD - working prototype 2024, Kasım
Anonim
Prototip Arduino-Raspberry Pi Soundboard
Prototip Arduino-Raspberry Pi Soundboard

Arduino ve Raspberry Pi ile oluşturulan prototip ses tahtası, ses setlerini bir düğme ile değiştirme ve mevcut ses setini bir LCD ekran ile görüntüleme seçeneğine sahipken 4 farklı ses veya gürültü çalmanın basit bir yolu olması amaçlanmıştır.

*Lütfen dikkat: Proje kodu %99 tamamlandı, ancak işlevsel değil.

Raspberry Pi, 16x2 LCD ekranı ve döner kodlayıcıyı kontrol ederken, Arduino kuvvete duyarlı dirençlerden (FSR'ler) analog girişleri okur ve bir ses çalması için Arduino'ya bir sinyal gönderir. İkimiz de bu dersten önce hiç Arduino veya Pi kullanmamıştık, ancak profesörümüz bu projeyi kolayca kodlamak ve inşa etmek için bize gerekli tüm araçları ve rehberliği verdi. AutoDesk'in ücretsiz bir çevrimiçi 3D modelleme aracı olan TinkerCad, projemizi modellemek için kullanıldı.

Projenin en zor kısmı, Arduino ve Raspberry Pi'nin seri iletişim ile iletişim kurmasını sağlamanın bir yolunu bulmaktı. Başlangıçta sadece Pi'yi projenin tamamı için kullanmak istedik, ancak FSR'lerden gelen analog sinyali okumak için Arduino'ya ihtiyacımız vardı. Arduino'dan kolayca kelime veya sayı satırları gönderebildik ve bunu Pi'de görüntüleyebildik, ancak sorun, bu değerleri Python'da okumaya ve bunları işlemek için koşul ifadelerine uygulamaya çalıştığımızda ortaya çıktı.

Yetenek gerekli

  • Arduino kodlaması için basit C/C++ anlayışı
  • Raspberry Pi kodlaması için Python'un basit anlaşılması
  • Bir breadboard'un nasıl kablolandığı hakkında bilgi
  • Temel 3B modelleme becerileri
  • Programlamayı, kablolamayı ve düzgün bir şey inşa etmeyi öğrenme ve genişletme arzusu

Parça listesi

1 x Ahududu Pi 3

1 x Elegoo Uno VEYA Arduino Uno

1 x 830 Kravat Breadboard

1 x GPIO Koparma Kartı (RSP-GPIO)

Breakout Board için 1 x Şerit Kablo

4 x Küçük Kuvvet Duyarlı Dirençler

1 x Temel 16x2 Karakter LCD Ekran

1 x Döner Kodlayıcı Modülü

24 x Erkek - dişi teller

10 x Erkek - erkek teller

4 x 10k direnç

1 x 10k potansiyometre

1 x Bahçe köpüğü dizlik (dolar deposu)

Adım 1: FSR'yi Arduino ile Test Edin

FSR'yi Arduino ile Test Edin
FSR'yi Arduino ile Test Edin

İlk önce FSR'yi Arduino ile denemeye karar verdik. FSR'ler bir analog sinyal gönderir ve bu nedenle Pi, diğer devreler olmadan analog almadığından bir Arduino kullanmak zorunda kaldık. Preslerin iyi bir basınçta olduğundan emin olmak için eşikleri test etmek istedik. Toplam 1000 üzerinden 150 civarında olduğunu gördük. Arduino IDE üzerindeki seri çizici bu adım için çok yardımcı oldu.

Adım 2: Kurul için Planları Çizin

Yönetim Kurulu için Planları Çizin
Yönetim Kurulu için Planları Çizin
Yönetim Kurulu için Planları Çizin
Yönetim Kurulu için Planları Çizin

Daha sonra tahtanın planlarını çizdik ve ölçtük. Sesleri çalmak için 4 ped, mevcut ses grubunu görüntülemek için bir LCD ekran için bir nokta ve ses grubunu değiştirmek için bir döner kodlayıcıya sahip olmak istedik.

Adım 3: Kartı TinkerCad'de Modelleyin

Kurulu TinkerCad'de Modelleyin
Kurulu TinkerCad'de Modelleyin
Kurulu TinkerCad'de Modelleyin
Kurulu TinkerCad'de Modelleyin
Kurulu TinkerCad'de Modelleyin
Kurulu TinkerCad'de Modelleyin

Planlar hazırlandıktan sonra, tahtayı Autodesk'in TinkerCad adlı çevrimiçi, ücretsiz, 3D modelleme web sitesinde modelledik. Kullanımı kolay, bulut tabanlı ve 3D baskı için tam desteğe sahip olduğu için büyük 3D modelleme yazılımına tonlarca para harcamak istemeyenler için şiddetle tavsiye ediyoruz.

Modellendikten sonra yazıcıya sığdırmak için 2 parçaya ayırmamız gerekti. Gerçekten iyi çıktı, ama benim hatam LCD ekran yuvasını çok iyi boyutlandıramamaktı (bu hatayı yapmayın!) Kontrol etmek isterseniz sol ve sağ taraftaki. STL dosyalarını yükledik.

4. Adım: LCD Ekranı Test Edin

LCD Ekranı Test Edin
LCD Ekranı Test Edin

Ekranı Arduino'da zaten kullanmıştık ve kurulumu çok kolaydı. Ancak, Pi ile çalıştırmak daha zordu. Google'da birkaç saat sorun giderme ve kablolarla uğraşarak sonunda işe yaramasını sağladık. Nasıl çalıştığını görmek için lütfen son Python koduna bakın. Kabloyu bağlamamıza ve kodu yazmamıza yardımcı olması için birkaç web sitesi kullandık. Onlara göz atın:

learn.adafruit.com/drive-a-16x2-lcd-direct…

www.raspberrypi-spy.co.uk/2012/07/16x2-lcd…

Adım 5: Döner Kodlayıcıyı LCD Ekranda Test Edin

Döner Kodlayıcıyı LCD Ekranla Test Edin
Döner Kodlayıcıyı LCD Ekranla Test Edin

Daha sonra, kodlayıcı döndürüldüğünde LCD ekranın metnini değiştirip değiştiremeyeceğimizi görmek istedik. Kodlayıcının belirli bir açısı veya dönüşü yoktur, bu yüzden kodda saat yönünde veya saat yönünün tersine kaç kez döndürüldüğünü saydık ve 3'e kadar saymasını sağladık. 0'ın altına inerse 3'e geri döner. Bu sayılar istediğiniz kadar çok ses grubu için ayarlanabilir, ancak biz sadece bir ses grubunu test ettik. Seslerinizin, ana Python kodunun yürütüldüğü yerle aynı klasörde/konumda olduğundan emin olun.

Adım 6: Tahtayı Birleştirin

Kurulu topla
Kurulu topla
Kurulu topla
Kurulu topla
Kurulu topla
Kurulu topla

FSR'ler dört farklı yuvanın altına kayar. Onları ortaladık ve bantladık. Koli bandı veya hatta yapıştırma öneriyoruz, çünkü basit bant, 3D baskılı malzemeye yapışmada çok kötüydü. Dolar mağazasına kısa bir yolculuktan sonra, tahtanın düğmeleri olarak kullanmak üzere dört parçaya bölebileceğimiz yumuşak ama yumuşacık bir bahçe dizliği bulduk. Yerlerinde kalabilmeleri ve gerektiğinde kolayca çıkarabilmeleri için yerlerine tam oturabilmeleri için onları kestik.

Adım 7: Her Şeyi Bağlayın

Her Şeyi Bağlayın
Her Şeyi Bağlayın
Her Şeyi Bağlayın
Her Şeyi Bağlayın

Kartı monte ettikten ve FSR'leri, kodlayıcıyı ve ekranı yerine yerleştirdikten sonra her şeyi bağladık. 2 adet breadboard kullanabilirsiniz ama biz her şeyi bir tanesine sığdırabildik. Resim karmakarışık görünüyor, ancak Fritzing adlı ücretsiz bir programda şematik bir diyagram yaptık. Her şeyi eklemek istediğiniz pinleri değiştirebileceğinizi unutmayın, ancak diyagram bizim kodumuza karşılık gelir.

8. Adım: HER ŞEYİ Kodlamayı Bitirin

Bu işin zor kısmıydı. Girişte belirtildiği gibi, bu kısmı tamamlayamadık. Kodun tamamı orada% 99, ancak çalışmayan kısım Arduino'dan Pi'ye seri iletişimdi. Arduino'yu USB kablosuyla Pi'ye bağladığımızda bilgiyi kolayca gönderebiliyorduk ama Pi bu bilgiyi ekranda göstermekten başka bir şey yapamadı. Hangi düğmeye basıldığını söyleyebilmek ve belirli bir ses çalmasını sağlamak istedik, ancak iletişimden gelen veriler hangi düğmeye basıldığını test etmek için bir koşul ifadesine konamadı.

Lütfen ekteki koda bakın, Pi için Python kodunda notlar yorumlanmıştır. Arduino kodu %100 olmalıdır.

9. Adım: Sonlandır

Sonuçlandırmak
Sonuçlandırmak

Genel olarak, bu proje ikimiz için BÜYÜK bir öğrenme deneyimiydi ve bu yazının gelecekteki öğrencilere, öğretmenlere veya tamircilere kendi projeleri için biraz ilham vermesini ve hatalarımızdan ders alarak onlara rehberlik etmesini umuyoruz. Sınıfta geçirdiğimiz süre boyunca bize çok yardımcı olan ve bize kıdemli bir COMP sınıfında çokça eğlenme ve çok şey öğrenme fırsatı veren harika robotik profesörümüzü selamlayın! okuduğunuz için teşekkürler:)

Önerilen: