İçindekiler:
2025 Yazar: John Day | [email protected]. Son düzenleme: 2025-01-13 06:58
GİRİŞ
Proje, mikro:bit gömülü bir eldiven şeklinde, jest kontrollü bir faredir. Gömülü bir mühendis olarak sahip olduğum erken bir fikirden ilham alan bir proje. Kullanmak isteyebileceğim herhangi bir mikroişlemciyle arayüz oluşturmak için her zaman kablosuz bir fare ve klavye setine erişimim olmasını isterim. Bir mikroişlemci üzerinde bir işletim sistemi çalıştırmam durumunda bir fare gereklidir. Kablosuz bir fare ve klavyeye sahip olmanın bir kurtarıcı olduğu birçok kez kanıtlandı ve bu bağlamda, fare ve muhtemelen klavye olarak kullanılabilecek giyilebilir bir teknoloji parçası geliştirmekle çok ilgilendim.
Bu talimatta, eldivene monte, hareket kontrollü bir fare yapmak için bir mikro: bit'i bazı Python kodlarıyla nasıl kullandığımın adımlarını ve prosedürünü paylaşacağım.
Gereçler
1 mikro: pil ile bit
micro:bit'i takmak için 1 eldiven
1 adet bluetooth özellikli bilgisayar Linux (burada Raspberry Pi kullanılmıştır)
Mikro:bit programlamak ve VNC oturumunu Raspberry Pi'ye açmak için PC
Adım 1: Nasıl Çalışır?
2. Adım: Mikro:bit'ten Raspberry Pi'ye Bluetooth Üzerinden Arabirim
1. Başlangıçta, "b*" şeklinde bir dizi LED gösteriyorum ve bluetooth ivmeölçer, düğme, LED ve sıcaklık hizmetlerini başlatıyorum.
2. Bluetooth bağlantısı olması durumunda, LED ekranda micro:bit'in bluetooth bağlantısı kurduğunu belirten bir "C" gösterilir.
3. Bluetooth bağlantısının kesilmesi durumunda, LED ekranında micro:bit'in bluetooth bağlantısını kaybettiğini ve yeniden bağlanması gerekeceğini belirten bir "D" gösterilir.
4. Proje Ayarlarında "Eşleştirme Yok" modunu seçin. micro:bit web sitesi "Just Works" eşleştirmesini önerir, ancak ikincisiyle eşleştirme her zaman başarısız olur. Açıklanamayan bir nedenden dolayı, eski ile çalışır.
3. Adım: Raspberry Pi'de Bluetooth Kurulumu
1. bluezero paketini "sudo pip3 install bluezero" kullanarak kurun
2. "bluetoothctl" yazarak bir bluetooth komut istemi açın. Yeni istem şöyle görünmelidir:
$ [bluetooth] #
3. A ve B düğmelerini basılı tutarak ve sıfırlama düğmesine basarak micro:bit'i tarama moduna alın. LED ekranda bir bluetooth sembolü görünene kadar bekleyin, ardından tüm düğmeleri bırakın. Raspberry pi bluetooth terminalinde "tarama açık" yazın. Mikro:bit yeni cihazlar listesinde göründüğünde, "taramayı kapat" yazın ve mikro:bitin cihaz adresini "yy:yy:yy:yy:yy:yy" olarak not edin.
4. "pair yy:yy:yy:yy:yy:yy" yazarak micro:bit ile eşleştirin ve bağlanın.
5. Eşleştirmenin işe yaradığını doğrulamak için "cihazlar" yazın ve cihaz listesinde micro:bit'in görünüp görünmediğini kontrol edin. Bağlantı başarılı olursa, micro:bit üzerindeki LED ekran "C" olarak değişmelidir. Değilse, micro:bit'i sıfırlayın ve Raspberry pi'deki bluetoothctl terminalinde tekrar eşleştirmeyi deneyin.
Adım 4: Raspberry Pi'de Kod Çalıştırın
1. Raspberry Pi üzerinde bu adımın sonunda eklenmiş olan "python3 mouse_control.py" yazarak kodu çalıştırın:
2. Terminalde "Bağlandı" yazan bir bilgi istemi görünmelidir. Fareyi 'açmak' için A ve B düğmelerine bir saniye basın. Şimdi "İmleci hareket ettir" diyen bir komut istemi görünmelidir.
3. Fareyi 'kapatmak' için iki düğmeye tekrar birlikte basın. "Devam mı yoksa çıkılsın mı?" görünür. 2. adımdan devam etmek için c tuşuna basın veya programdan çıkmak için sadece girin.
4. Fare ters çevrilmiş bir konumda tutulursa (LED ekran aşağı bakar), programlar, 2. adıma geçmeden önce kullanıcıdan fareyi doğru tutmasını isteyen bir hata verir.
5. Tek bir tıklama için fareyi yere paralel tutun (imlecin hareket etmesini durdurmak için) ve sadece A düğmesine basın. Çift tıklama için sadece B düğmesine basın.
6. Kod kılavuzu için, yeterince iyi yorumlanmış olan ekteki dosyaya bakın.
7. Bluetooth bağlantısı oldukça seyrektir ve özellikle yakınlarda Bluetooth bağlantılı başka cihazlar kullanılıyorsa, oldukça sık kopabilir. Bu olursa, kodu tekrar çalıştırmak işe yarayacaktır. Bu da başarısız olursa, bluetoothctl komut penceresini açın ve micro:bit ile tekrar eşleştirin.
Adım 5: Gelecek Kapsamı
1. Fare kontrollerinde büyük ölçüde ince ayar yapılabilir. Doğrusal hızlanma algoritması yerine üstel hızlanma kullanılırsa, daha da fazla kontrol sağlayabilir.
2. Bluetooth bağlantısı oldukça düzensiz olduğu için, bağlantı hatalarını algılamak için bir olay eklenebilir, bu da her hatada bağlantının yeniden kurulması yanıtına sahip olur.
3. Bazı klavye hareketleri eklenebilir, örneğin ani bir sarsıntı kapanmaya neden olabilir veya önceden tanımlanmış bir hareket algılandığında, sık kullanılan başka bir komut/klavye vuruşunu tetikleyebilir.