İçindekiler:
2025 Yazar: John Day | [email protected]. Son düzenleme: 2025-01-23 15:13
Bu talimat, okuyuculara, engelleri tespit ederken bir labirentte gezinebilecek bir Boe-bot üzerinde tamponların nasıl oluşturulacağı ve kodlanacağı konusunda yol gösterecektir. Projenin kodlaması BASIC Stamp programlama yazılımı ve Boe-Bot robotu kullanılarak yapıldı ve bu tamponları oluşturmada başarılı olmak için temel devre ve programlama anlayışı gerekiyor.
Gereçler
Bu tamponları oluşturmak için ihtiyacınız olacak:
- Boe-Bot robotu
- BASIC Pul programlama yazılımı
- Dondurma çubukları
- Bir sünger
- Aliminyum folyo
- Kağıt tutacağı
- 8 adet yeterince uzun kablo (en az 6 inç)
- 2 LED ışık
- 2 kahverengi-siyah-sarı direnç
- 2 kırmızı-kırmızı-kahverengi direnç
- Bant ve sıcak tutkal (veya benzeri bir yapıştırıcı)
- Boe-Bot'unuz için piller
Adım 1: Adım 1: Devrenin Oluşturulması
Breadboard'unuzu yönlendirmek ve çalıştırmak için bir devre oluşturmak için yukarıdaki devre tahtası şemasını izleyin. Sonunda, breadboard'unuz soldaki resme benzer görünmelidir.
Hatırlanacak şeyler:
- LED'in doğru konumda olduğundan emin olun. Bu, LED'in düz ayağının negatif tarafta ve diğer ayağının pozitif tarafta olması gerektiği anlamına gelir.
- Vss, bu devre tahtasında zemin görevi görür, yani sıfır değerine sahiptir ve Vdd'nin değeri 1'dir.
- Çalışan bir devre 0 değerine sahiptir. Kapatılan bir devre 1 değerine sahiptir.
Adım 2: Adım 2: Boe-bot için Programlama
Aşağıdaki kod, robotu, tamponlardan hangisine basıldığına bağlı olarak 90 derece sola ve sağa dönecek şekilde programlar (sonraki adımda tampon oluşturma hakkında daha fazla ayrıntı). Bu kod robotun sağ tampon tellerine basıldığında sola, sol tampon tellerine basıldığında sağa dönmesini sağlar.
Bazı temel dil çevirileri:
- GOSUB = alt program (kodda bir talep tarafından takip edilmelidir)
- If.. Else = koşullar doğruysa yürütülmesi gereken bir kod grubunu belirtir ve koşullar yanlışsa yönergeleri gerçekleştirir
kod:
' {$DAMGA BS2}
' {$PBASIC 2.5} '************************************************ *********************************** 'Yeniden Başlatma Kodunu Sıfırla' Robotu durdurmak ve başlatmak için sıfırlama düğmesini kullanın '** ************************************************************ ************************* temp VAR Byte 'geçici depolama RunStatus DATA $00' değişkeni ROM'da saklanıyor READ RunStatus, temp ' ROM temp'den değişkeni oku temp = ~ temp 'değeri 0'dan 1'e veya 1'den 0'a ters çevir WRITE RunStatus, temp 'Değişkeni ROM'a geri yaz IF (temp>0) THEN END 'Değerin 1 olup olmadığını kontrol et' öyleyse programı END PAUSE 3000 'İzin vermek için duraklat reset'e bastığınızda 'elinizi hareket ettirin'***************************************** ***************************************** '************* ******************************************************* *********** 'Pimler ve Sabitler' Programlamayı basitleştirmek için kullanılır '******************************* ************************************************** LMOTOR PIN 15 RMOTOR PIN 14 RFast CON 650 LFast CON 850 RSlow CON 700 LSlow CON 780 Mstop CON 750 RFastRev CON 8 50 LFastRev CON 650 RSlowRev CON 800 LSlowRev CON 700 TurnSol90 CON 90 TurnRight90 CON 90 '************************************** ************************************************** ******************************************************* **************** 'Değişkenler' Programlamayı basitleştirmek için kullanılır '**************************** ************************************************** MLoopC VAR Kelimesi.. Sonraki 65000ish sideCount VAR Byte dönüş Açısı VAR Word'e kadar Değişken '**************************************** ********************************************* '----------- -------------------------------------------------- ------------- 'Ana kod '--------------------------------- -------------------------------------------- IN10 = 0 İSE YAPIN pin 10'daki kablo açıksa sola dönün GOSUB Sola Dönüş90 GOSUB LFastRev GOSUB RFastRev ELSEIF IN11 = 0 THEN 'Pin 11'deki kablo açıksa sağa dönün GOSUB Sağa Dönüş90 GOSUB LFastRev GOSUB RFastRev ENDIF GOSUB İleriHızlı 'Bir ileri git'- LO --------------------------------- ------------------------------------- '**ANA KODUN SONU****** ******************************************************* '- -------------------------------------------------- --------------------- '********************************* *************************************************** '**Alt rutinler / Alt prosedür / Yöntemler*********************************** '*********** ******************************************************* *********** '************************************************ ***************************************** '*************** ******************************************************* ******** RightTurn90: ' 90 derece Sağa Dönmek için Alt Procdure '************************************ **************************************** MLoopC için YÜKSEK 1 DÜŞÜK 0 = 1 - 22 PULSOUT LMOTOR, Lfast 'bir darbe ileri itme PULSOUT RMOTOR, RfastRev' pinleri ve sabitleri kullanarak DURAKLAT 20 ' 20mS robotun SONRAKİ darbeden önce SONRAKİ' hareket etmesine izin verir DÖNÜŞ '******************** ******************************************************* * LeftTurn90: ' 90 Derece Sağa Dönmek İçin Alt Prosedür '** ******************************************************* ********************* MLoopC için YÜKSEK 0 DÜŞÜK 1 = 1 - 22 PULSOUT LMOTOR, LfastRev 'bir darbe ileri itin PULSOUT RMOTOR, Rfast' pinleri ve sabitleri kullanarak DURAKLAT 20' 20mS, robotun NEXT puls RETURN'den önce SONRAKİ ' hareket etmesine izin verir '**************************************** *********************************** ForwardFast: ' Robotu bir kare hızlı hareket ettirmek için alt prosedür '**** ******************************************************* ******************** MLoopC için = 1 - 55 PULSOUT LMOTOR, LFast PULSOUT RMOTOR, RFast PAUSE 20 SONRAKİ DÖNÜŞ '************** ******************************************************* ****** ReverseTurnLeft: 'Sağ tampona vurulduğunda robotu geri döndürmek ve sola döndürmek için alt prosedür '****************************** ************************************************** MLoopC = 1 - 55 PULSOUT İÇİN LMOTOR, LSlowRev PULSOUT RMOTOR, RFastRev DURAKLAT 20 SONRAKİ DÖNÜŞ '******************************************* *********************************** ReverseTurnRight: 'Alt işlem sol tampona vurulduğunda robotu geri döndürmek ve sağa döndürmek için '***************************************** *********************************** MLoopC için = 1 - 55 PULSOUT LMOTOR, LFastRev PULSOUT RMOTOR, RSlowRev PAUSE 20 SONRAKİ DÖNÜŞ '************************************************** ************************* 'ALT YÖNTEMLERİN SONU '******************** ******************************************************* *
Adım 3: Adım 3: Tel Tamponlar için Alüminyum Folyo ve Dondurma Çubukları Kullanma
Bu adıma başlamadan önce, devre tahtasından gelen 4 kablonun (1. adıma bakın) çiftlere ayrıldığından ve her çiftin bir sağ veya sol tamponu kontrol ettiğinden emin olun. Bu durumda LED'ler, kodun sağ ve sol tamponlarda etkili olup olmadığını kontrol etmek için çalışır. Popsicle çubuklarında, her çiftten bir tel Popsicle çubuğunun bir ucunu paylaşır (bu, aynı çiftin tellerinin aynı tamponda OLMAYACAĞI anlamına gelir).
4 küçük dikdörtgen folyo kesin ve bir tanesini iki Popsicle çubuğunun her iki ucuna teli sarmak için kullanın. Bu, Popsicle çubuğunun iletkenlik yüzey alanını arttırır ve aynı zamanda çubukların dokunması için daha büyük bir yüzey alanı sağlar.
Folyo ve tellerin buzlu şeker çubuklarına yapışmasını sağlamak için malzemeleri bir arada tutmak için 1-2 ataş kullanın. Ataçlar ayrıca, Popsicle çubuklarının fazla dış müdahale olmadan dokunması için daha fazla erişilebilirlik sağlar. Tıpkı normal bir kağıt yığınında yaptığınız gibi, ataşı buzlu şeker çubuğunun üzerine kaydırın. Bunu dört parça folyo ve iki Popsicle çubuğunun her bir ucu için tekrarlayın.
Adım 4: Adım 4: Geri Kalan Tamponların Montajı
Alüminyum folyo ve ataç telleri her bir Popsicle çubuğuna bağlı tutabildiğinde, iki küçük sünger küpü kesin ve her bir küpü çubukların arasına yapıştırın (her çubuğun en uçlarında, böylece sıcak tutkal yapışkanı engellemez). metalin iletkenliği Süngerler, robotun duvara her çarptığında tamponların temas etmesini sağlar.
İsteğe bağlı: Fazladan bir Popsicle çubuğunu ikiye bölün ve dış Popsicle stick tamponunun ucuna açılı olarak yapıştırın. Bu, tamponun duvara çarpması ve dönmesinin etkisini güçlendirir.
Telleri, tamponların Bot-bot'un hemen önünde eğilmesi için bükün.
Önerilen:
Kodlu Müzik Reaktif RGB LED Şerit- WS1228b - Arduino ve Mikrofon Modülünü Kullanma: 11 Adım
Kodlu Müzik Reaktif RGB LED Şerit| WS1228b | Arduino ve Mikrofon Modülünü Kullanma: Arduino ve Mikrofon Modülünü Kullanarak Müzikle Reaktif WS1228B LED Şerit Oluşturma. Kullanılan Parçalar:Arduino WS1228b Led Şerit Ses Sensörü Breadboard Jumper'ları 5V 5A Güç Kaynağı
Kilit Değiştirici: QR kodlu Kapıyı Açın: 8 Adım
Kilit Değiştirici: QR kodlu Açık Kapı: Merhaba, benim adım Ben Vanpoucke ve Belçika, Kortrijk'teki Howest'te Yeni Medya ve İletişim Teknolojisi okuyorum. Okul ödevi olarak bir IoT cihazı yapmamız gerekiyordu. Airbnb aracılığıyla konaklama kiralarken aklıma bir apart
Mac için Sonic Pi "Twinkle Twinkle Little Star" Kodlu Şarkı: 6 Adım
Mac için Sonic Pi "Twinkle Twinkle Little Star" Kodlu Şarkı: Bunlar, "Twinkle Twinkle Little Star"ın nasıl kodlanacağına ilişkin temel talimatlardır. Mac'te Sonic Pi'de
GET1033 Python Kodlu Görüntü İşlemcisi: 5 Adım
GET1033 Python Kodlu Görüntü İşlemcisi: Bu proje, modülüm GET1033 Hesaplamalı Medya Okuryazarlığını Keşfetmek için kendi python kodlu görüntü işlemcimi oluşturmakla ilgilidir. İlk başta, kullanıcının kendi fotoğrafını girmesi ve ardından istediği filtreleri seçmesi gerekecek. 9 filtre oluşturdum
Çok Küçük Bir Robot Yapın: Kıskaçlı Dünyanın En Küçük Tekerlekli Robotunu Yapın.: 9 Adım (Resimlerle)
Çok Küçük Bir Robot Yapın: Kıskaçlı Dünyanın En Küçük Tekerlekli Robotunu Yapın.: Küçük nesneleri alıp hareket ettirebilen bir kavrayıcıya sahip 1/20 inç küp bir robot yapın. Bir Picaxe mikro denetleyici tarafından kontrol edilir. Zamanın bu noktasında, bunun dünyanın kıskaçlı en küçük tekerlekli robotu olabileceğine inanıyorum. Bu hiç şüphesiz ch