Mündəricat:
- Addım 1: Hekayə
- Addım 2: nəzəriyyə və metodologiya
- Addım 3: Hardware Setup
- Addım 4: Proqram Quraşdırması
- Addım 5: Problemlərin aradan qaldırılması
- Addım 6: Arduino Kodu
Video: Magicbit -dən Sadə Radar Sistemi: 6 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:42
Bu təlimat, HC-SR04 sensoru və işlənmiş və Arduino IDE ilə Microbit inkişaf etdirici lövhədən istifadə edərək sadə bir radar sisteminin necə qurulacağını göstərir.
Təchizat:
- SG90 Mikro-servo motor
- Jumper telləri (ümumi)
- Çörək paneli (ümumi)
- Magicbit
- USB-A-dan Mikro-USB Kabelinə
- Ultrasonik Sensor - HC -SR04 (Ümumi)
Addım 1: Hekayə
Bu dərslikdə Magicbit nüvə qurğusundan istifadə edərək sadə bir radar sisteminin necə qurulacağını öyrənəcəyik. Bu məqsədlə HC-SR04 ultrasəs sensorundan istifadə edirik və məlumatları göstərmək üçün emal mühitindən istifadə edirik. Başlayaq.
Addım 2: nəzəriyyə və metodologiya
Əvvəlcə bunun necə işlədiyini müzakirə edək. Prinsip çox asandır. Əvvəlcə sensoru 180 dərəcə aralığında davamlı olaraq şaquli ox ətrafında döndəririk. Bu hərəkət zamanı ultrasəs sensorundan hər açıdan ən yaxın obyektə olan məsafə haqqında məlumat alırıq. Bu proses üçün Magicbit əsas kartından istifadə edirik. Bundan sonra, məlumatlarımızı göstərmək üçün emal mühiti ilə əlaqə qurmalıyıq. Buna görə də uyğun baud dərəcəsi ilə serial rabitə protokolundan istifadə edirik. Sonra IDE -dən istifadə edərək radar sistem interfeysimizi hazırlayırıq. Bu IDE -də serial vasitəsilə real vaxt məlumatları əldə etmək üçün serial ünsiyyətimizi konfiqurasiya edirik. Beləliklə, Magicbit ilə real vaxtda əlaqə qururuq və Magicbit -dən emal IDE -yə göndərilən məlumatları göstəririk.
Addım 3: Hardware Setup
Bu layihə üçün əsasən üç hardware komponentindən istifadə etdik. Bunlar Magicbit, servo motor və ultrasəs sensoru. Bütün bu hissələr arasındakı əlaqə yuxarıdakı Şəkildə göstərilmişdir.
Ultrasonik sensor güc üçün 3.3 v istifadə edir. Beləliklə, ultrasəs sensoru Magicbit -ə bağlamaq üçün Magicbit lövhəsinin sağ alt limanından istifadə etdik. Ancaq servo motor düzgün işləmək üçün 5V istifadə olunur, buna görə də servo motoru Magicbit ilə bağlamaq üçün sol aşağı portdan istifadə etdik. Bu vəziyyətdə Magic bit servo bağlayıcı modulundan istifadə edirik. Ancaq bu modulunuz yoxdursa, 5V -dan 5V -a, Gnd -Gnd -ə və magicbit -də 26 pin -ə siqnal pinini bağlamaq üçün üç keçid teli istifadə edə bilərsiniz.
Dövr qurduqdan sonra qurmaq üçün kiçik mexaniki hissələrimiz var. kiçik bir qoz istifadə edərək servo motora bir tərəfli servo konnektoru təyin edin. Daha sonra L konnektorundakı sensoru L şəkilli bir mötərizə və ya düzgün şəkildə düzəldin. Bütün sistemdən sonra çörək taxtasına bərkidik. Ancaq servo və Magicbit qurmaq üçün başqa bir səthdən istifadə edə bilərsiniz.
Addım 4: Proqram Quraşdırması
Proqram tərəfi kiçik bit kompleksidir. Düzgün başa düşmək üçün növbəti hissəyə keçməzdən əvvəl aşağıdakı bağlantılara müraciət edə bilərsiniz.
magicbit-arduino.readthedocs.io/az/latest/
hello.processing.org/editor/
Arduino IDE koduna və bu kodun necə işlədiyinə baxaq.
Sürücülük üçün ESP32 servo kitabxanasından istifadə edirik. Bu kitabxana demək olar ki, Arduino IDE -də sehrli bit lövhə menecerinə daxildir. Ultrasonik sensorla məşğul olmaq üçün newPing kitabxanasından istifadə edirik. Bunu aşağıdakı linkdən yükləmək olar.
bitbucket.org/teckel12/arduino-new-ping/do…
Zip faylını yükləyin və alətlərə keçin> kitabxana daxil edin> Arduinoda Zip kitabxanası əlavə edin. İndi yeni pin kitabxanasının yüklənmiş zip faylını seçin. İşləmə ilə əlaqə qurmaq üçün 115200 baud dərəcəsi ilə ardıcıl ünsiyyətdən istifadə etdik. Bu ESP32 üçün ən uyğun tezlikdir. Hər tərəfdən məlumatlarımızı bu protokoldan istifadə edərək kompüterə göndəririk. Sensora ən yaxın ön cisimə olan məsafə, fırlanma istiqaməti və dönmə bucağı bu məlumatlara daxildir. Döngələr üçün ikisini istifadə edərək servomuzu iki istiqamətə döndəririk. Bir dərəcə fırlandıqda 4 dəfə serial məlumat göndərdik. Bunun səbəbini hissənin izahını işləyərkən başa düşə bilərsiniz.
İndi emal mühitinə baxmaq vaxtıdır. Bu java əsaslı proqramlaşdırma proqramdır. IDE -nin işlənməsində bu eskizdə proqramımızın eskizini yaza bilərik. Proqramımızı işlədərək vizual çıxış da yarada bilərik. Çıxışı 2D və 3d obyektlər kimi də götürə bilərsiniz. Yalnız bu deyil, bu, görüntü işlənməsi və daha çox şey üçün istifadə edilə bilər.
Emal eskizində əvvəlcə sadə qrafik funksiyalardan istifadə edərək məlumatların göstərilməsi interfeysini tərtib edirik. Kodun başlanğıcında serial kitabxanaları daxil edərək serial əlaqəmizi qururuq. Quraşdırma funksiyasında, Magicbit'i kompüterə bağlamaq üçün istifadə etdiyiniz USB portuna uyğun olaraq bir az dəyişiklik etməlisiniz. kodu yükləmək üçün Arduino IDE qurarkən Arduino IDE istifadə edərək portunuzu yoxlaya bilərsiniz. Sonra eskizin işlənməsində quraşdırma hissəsində com port adını dəyişdirin. serial məlumatları mövcud olduqda, Serialevent funksiyası avtomatik olaraq işə düşür. Buna görə kodun əsas məntiqi, açıların və məlumatların itməməsi üçün seriya hadisəsinə daxil edilməsidir. yeni məlumatlar əldə edildikdə, bucağımıza uyğun olaraq ekranda bir xətt çəkirik. O zaman heç bir obyekt aşkarlanmırsa, tam xətt yaşıl rəngdədir. Əks təqdirdə, xəttin bir hissəsi sensordan obyektə olan məsafəyə görə qırmızı olacaq. Eyni zamanda, fırlanma istiqamətinə uyğun olaraq, yaşıl rəng səviyyəsinin azalması ilə bu xəttin yanına daha 200 xətt çəkirik. hər Main arasında 0,25 dərəcə fərqimiz var. Buna görə Magicbit -dən hər dərəcə fırlanmada bir anda 4 oxu alırıq. Bunun sayəsində ekranda gözəl bir axtarış yarada bilərik.
Kodu uğurla yüklədikdən sonra sehrli və qurğu hissəsini emal IDE -ni uğurla açın və "Çalıştır" düyməsini basaraq kodu işlədin. İndi çox sadə bir radar sisteminiz var.
Göstərmək istədiyinizi kodları istədiyiniz kimi düzəldə bilərsiniz.
Addım 5: Problemlərin aradan qaldırılması
Eskiz işlənmir.
- Bir az gözləyin. Başlanğıc vaxtı PC və GPU performansından asılıdır.
- Eskizin işlənməsində seriya port nömrəsinin düzgün olub olmadığını yoxlayın.
- USB bağlantısının düzgün qurulduğunu yoxlayın.
- Ultrasonik sensor ilə Magicbit arasındakı əlaqəni yoxlayın.
- Serial monitoru açın və məlumatların Arduinodan gəldiyini yoxlayın. Əks təqdirdə, problem Arduino kodunuzda və ya USB bağlantınızdadır.
Servo işləmir.
- USB bağlantısının düzgün qurulduğunu yoxlayın.
- Kabelləri yoxlayın.
- Servonun yaxşı vəziyyətdə olduğunu yoxlayın.
Addım 6: Arduino Kodu
#daxil edin
#define TRIGGER_PIN 21 #dexine ECHO_PIN 22 #dexine MAX_DISTANCE 200 NewPing sonar (TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); #include // servo kitabxananı int məsafəsinə daxil edin; Servo RadarServo; void setup () {Serial.begin (115200); RadarServo.attach (26); // Servo motorun bağlı olduğu gecikmənin hansı pin üzərində olduğunu təyin edir (3000); } void loop () {// (int i = 0; i <= 180; i ++) {RadarServo.write (i); üçün servo motoru 15 ilə 165 dərəcə döndürür; gecikmə (50); məsafə = sonar.ping_cm (); // (int j = 0; j0) {break; } Serial.print (i); // Mövcud dərəcəni Serial Port Serial.print (",") göndərir; // Serial.print (j) indekslənməsi üçün daha sonra Qenerasiya IDE -də lazım olan əvvəlki dəyərin yanında əlavə xarakter göndərir; // Mövcud dərəcəni Serial Port Serial.print ("*") göndərir; Serial çapı (1); // Məsafə dəyərini Serial Port Serial.printə göndərir ("/"); // Serial.print (məsafə) indeksləşdirilməsi üçün daha sonra Processing IDE -də lazım olan əvvəlki dəyərin yanında əlavə xarakter göndərir; // Məsafə dəyərini Serial Port Serial.print (".") Göndərir; // Əlavə xarakteri indeksləmə üçün IDE-də daha sonra lazım olan əvvəlki dəyərin yanına göndərir}} // Əvvəlki sətirləri 165 ilə 15 dərəcə arasında təkrarlayır (int i = 180; i> = 0; i-) {RadarServo. yaz (i); gecikmə (50); məsafə = sonar.ping_cm (); for (int j = 75; j> = 0; j- = 25) {if (i == 180 && (j == 75 || j == 50 || j == 25)) {davam; } Serial.print (i); // Mövcud dərəcəni Serial Port Serial.print (",") göndərir; // Serial.print (j) indekslənməsi üçün daha sonra Qenerasiya IDE -də lazım olan əvvəlki dəyərin yanında əlavə xarakter göndərir; // Mövcud dərəcəni Serial Port Serial.print ("*") göndərir; Serial. çap (-1); // Məsafə dəyərini Serial Port Serial.printə göndərir ("/"); // Serial.print (məsafə) indeksləşdirilməsi üçün daha sonra Processing IDE -də lazım olan əvvəlki dəyərin yanında əlavə xarakter göndərir; // Məsafə dəyərini Serial Port Serial.print (".") Göndərir; // Əlavə xarakteri indeksləşdirmək üçün daha sonra Qenerasiya IDE -də lazım olan əvvəlki dəyərin yanına göndərir}}
}
Tövsiyə:
Sadə Kicker Vəziyyəti və Rezervasyon Sistemi Gücsüz İnteqrasiya ilə: 12 Addım (Şəkillərlə)
Sadə Kicker Vəziyyəti və Rezervasyon Sistemi Slack İnteqrasiyası ilə: İşlədiyim bir şirkətdə kicker masası var. Şirkət bir çox mərtəbəni tutur və bəzi işçilər üçün masaya çatmaq üçün 3 dəqiqəyə qədər vaxt lazımdır … masanın artıq işğal altında olduğunu başa düşmək üçün
Raspberry Pi və Arduino ilə sadə məhsul çeşidləmə sistemi: 5 addım
Raspberry Pi və Arduino ilə Sadə Məhsul Sıralama Sistemi: Mən bir mühəndislik pərəstişkarıyam, boş vaxtımda proqramlaşdırmağı və elektron əlaqəli layihələr hazırlamağı sevirəm, bu layihədə bu yaxınlarda etdiyim Sadə Məhsul Sıralama Sistemini sizinlə bölüşərdim. bu sistem, zəhmət olmasa komponentləri hazırlayın
Yükləmə çubuğu olan sadə toplu fayl giriş sistemi: 5 addım
Yükləmə Çubuğu ilə Sadə Batchfile Giriş Sistemi: Burada yükləmə çubuğu olan giriş sistemi üçün Batch faylını paylaşırıq. Sizə kodu göstərəcəyik və necə istifadə edəcəyinizi də göstərəcəyik. Daha çox toplu fayl kodları üçün blogumuzu da ziyarət edə bilərsiniz. FFLocker 1.0: http://errorcode401.blogspot.in/2013/06/FFlocker-1.0.html Rar
Mikro yosunlar üçün sadə bir bulanıqlıq monitor və idarəetmə sistemi: 4 addım
Mikro yosunlar üçün sadə bir bulanıklığa nəzarət və idarəetmə sistemi: Tutaq ki, bulanıqlığı ölçmək üçün su götürməkdən cansıxırsınız, suyun içərisində hər hansı kiçik, asılmış hissəcikləri ifadə edən və ya artan işıq yolu ilə və ya daha yüksək bir hissəciklə işıq intensivliyini azaldan. konsentrasiya və ya hər ikisi
Ebot istifadə edərək sadə bir park sistemi prototipi: 3 addım
Ebot istifadə edərək sadə bir park sistemi prototipi: Ebot istifadə edərək sadə bir park sistemi prototipi hazırladım. Bu sistemdə avtomobili/obyekti aşkar etmək üçün ultrasəs sensoru var. LCD modulu aşkar edilmiş nəqliyyat vasitələrinin sayını göstərəcəkdir. Sayı maksimuma çatdıqda mesajı göstərəcək və q