![Sistem radar simplu de la Magicbit: 6 pași Sistem radar simplu de la Magicbit: 6 pași](https://i.howwhatproduce.com/images/001/image-1425-j.webp)
Cuprins:
2025 Autor: John Day | [email protected]. Modificat ultima dată: 2025-01-23 15:04
Acest tutorial arată cum să creați un sistem radar simplu folosind senzorul HC-SR04 și placa de dezvoltare Microbit cu procesare și ID-uri Arduino.
Provizii:
- Micro-servo motor SG90
- Sârme jumper (generice)
- Breadboard (generic)
- Magicbit
- Cablu USB-A la Micro-USB
- Senzor cu ultrasunete - HC-SR04 (Generic)
Pasul 1: Poveste
În acest tutorial vom învăța despre cum să faci un sistem radar simplu folosind placa de bază Magicbit. În acest scop folosim senzorul cu ultrasunete HC-SR04 și pentru afișarea datelor, folosim mediul de procesare. Să începem.
Pasul 2: Teorie și metodologie
În primul rând, să discutăm cum funcționează acest lucru. Principiul este foarte ușor. Mai întâi ne rotim senzorul în jurul axei verticale în interval de 180 de grade continuu. În timpul acelei mișcări, luăm datele despre distanța până la cel mai apropiat obiect de la senzorul ultrasonic la fiecare unghi. Pentru acest proces folosim placa de bază Magicbit. După aceea, trebuie să stabilim conexiunea cu mediul de procesare pentru afișarea datelor noastre. Prin urmare, folosim protocolul de comunicație serială cu o rată de transmisie adecvată. Apoi ne proiectăm interfața sistemului radar utilizând IDE de procesare. În acel IDE configurăm comunicația noastră serială pentru a obține date în timp real prin serial. Așadar, comunicăm în timp real cu Magicbit și afișăm datele care se trimit de la Magicbit către IDE-ul de procesare.
Pasul 3: Configurare hardware
![Configurare hardware Configurare hardware](https://i.howwhatproduce.com/images/001/image-1425-1-j.webp)
![Configurare hardware Configurare hardware](https://i.howwhatproduce.com/images/001/image-1425-2-j.webp)
Pentru acest proiect am folosit în principal trei componente hardware. Sunt Magicbit, servomotor și senzor cu ultrasunete. Conexiunea dintre toate aceste părți este prezentată în figura de mai sus.
Senzorul cu ultrasunete a folosit 3,3 v pentru pornire. Prin urmare, am folosit portul inferior drept al plăcii Magicbit pentru a conecta senzorul cu ultrasunete la Magicbit. Dar servomotorul este folosit 5V pentru o funcționare corectă, de aceea am folosit portul inferior stâng pentru a conecta servomotorul cu Magicbit. În acest caz, folosim modulul conector servo bit Magic. Dar dacă nu aveți acel modul, puteți utiliza trei fire jumper pentru a conecta 5V la 5V, Gnd la Gnd și pinul de semnal la 26 de pini pe magicbit.
După construirea circuitului avem de construit o mică parte mecanică. setați conectorul servo lateral unic pe servomotor folosind piulița mică. Apoi fixați senzorul pe acel conector folosind o consolă în formă de L sau în mod corespunzător. După întregul sistem ne-am fixat pe panou. Dar puteți utiliza alte suprafețe pentru a monta servo și Magicbit.
Pasul 4: Configurare software
![Configurare software Configurare software](https://i.howwhatproduce.com/images/001/image-1425-3-j.webp)
![Configurare software Configurare software](https://i.howwhatproduce.com/images/001/image-1425-4-j.webp)
Latura software este puțin complexă. Pentru o înțelegere corectă, puteți consulta următoarele linkuri înainte de a trece la următoarea parte.
magicbit-arduino.readthedocs.io/en/latest/
hello.processing.org/editor/
Să ne uităm la codul IDE Arduino și cum funcționează acel cod.
Pentru conducerea servo folosim servoteca ESP32. Această bibliotecă include aproape în managerul de placă de biți magici în IDE Arduino. Pentru a face față senzorului cu ultrasunete, folosim noua bibliotecă Ping. Acesta poate fi descărcat de pe următorul link.
bitbucket.org/teckel12/arduino-new-ping/do…
Descărcați fișierul zip și mergeți instrumentele> includeți biblioteca> adăugați biblioteca Zip în Arduino. acum selectați fișierul zip descărcat al noii biblioteci de pini. Pentru comunicarea cu procesarea am folosit comunicații seriale cu o rată de 115200 baud. Aceasta este frecvența cea mai adecvată pentru ESP32. În orice unghi, ne trimitem datele către computer folosind acest protocol. Distanța de cel mai apropiat obiect frontal de la senzor, direcția de rotație și unghiul de rotație sunt incluse în aceste date. Folosind două pentru bucle, ne rotim servo-ul în două direcții. În timp ce rotația de un grad am trimis date seriale de 4 ori. Motivul pentru care îl puteți înțelege în procesarea explicației părții.
Acum este timpul să analizăm mediul de procesare. Acesta este un software de programare bazat pe Java. Putem scrie schița programului nostru în această schiță în procesarea IDE. De asemenea, putem genera ieșiri vizuale din rularea programului nostru. De asemenea, puteți lua ieșire ca obiecte 2D și 3D. Nu numai asta, acest lucru poate fi folosit pentru procesarea imaginilor și multe altele.
Mai întâi în schița de procesare proiectăm interfața noastră de afișare a datelor folosind funcții grafice simple. La începutul codului, stabilim comunicarea noastră serial, incluzând biblioteci seriale. În funcția de configurare trebuie să faceți o schimbare în funcție de portul USB pe care l-ați folosit pentru a conecta Magicbit la computer. vă puteți verifica portul folosind Arduino IDE când configurați Arduino IDE pentru încărcarea codului. Apoi schimbați numele portului com în partea de configurare din schița de procesare. când datele seriale sunt disponibile, funcția Serialevent se declanșează automat. Prin urmare, logica principală a codului este includerea în eveniment serial pentru a preveni lipsa unghiurilor și a datelor. când sunt disponibile date noi, trasăm o linie pe ecran în funcție de unghiul nostru. În acel moment, dacă nu există detectarea obiectului, atunci linia completă este de culoare verde. Dacă nu, o porțiune a liniei va fi roșie în funcție de distanța de la senzor la obiect. De asemenea, în funcție de direcția de rotație, trasăm încă 200 de linii în apropierea acelei linii cu un nivel descrescător de culoare verde. între fiecare Main avem diferență de 0,25 grade. Prin urmare, primim câte 4 citiri la Magicbit în fiecare rotație de grad. Din acest motiv, putem crea o căutare frumoasă mână în ecran.
După încărcarea completă a codului în magie și setarea piesei hardware, deschideți IDE-ul de procesare și executați codul făcând clic pe butonul Executare. Acum aveți un sistem radar foarte simplu.
Puteți personaliza codurile după cum doriți ceea ce doriți să afișați.
Pasul 5: Depanare
Schița de procesare nu rulează.
- Așteaptă puțin. Datorită timpului de pornire depinde de performanța computerului și a GPU-ului.
- Verificați dacă numărul portului serial este corect la schița de procesare.
- Verificați dacă conexiunea USB este corectă.
- Verificați conexiunea dintre senzorul cu ultrasunete și Magicbit.
- Deschideți monitorul serial și verificați dacă datele provin de la Arduino. Dacă nu, problema este codul Arduino sau conexiunea USB.
Servo-ul nu funcționează.
- Verificați dacă conexiunea USB este corectă.
- Verificați cablajul.
- Verificați dacă servo-ul este în stare bună.
Pasul 6: Cod Arduino
#include
#define TRIGGER_PIN 21 #define ECHO_PIN 22 #define MAX_DISTANCE 200 Sonar NewPing (TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); #include // include servo biblioteca int distance; Servo RadarServo; void setup () {Serial.begin (115200); RadarServo.attach (26); // Definește pe care pin este întârzierea atașată servomotorului (3000); } void loop () {// roteste servomotorul de la 15 la 165 de grade pentru (int i = 0; i <= 180; i ++) {RadarServo.write (i); întârziere (50); distance = sonar.ping_cm (); // Apelează o funcție pentru calcularea distanței măsurate de senzorul cu ultrasunete pentru fiecare grad pentru (int j = 0; j0) {break; } Serial.print (i); // Trimite gradul curent în Serial Port Serial.print (","); // Trimite caracter de adăugare chiar lângă valoarea anterioară necesară ulterior în IDE de procesare pentru indexarea Serial.print (j); // Trimite gradul curent în Serial Port Serial.print ("*"); Serial.print (1); // Trimite valoarea distanței în Serial Port Serial.print ("/"); // Trimite caracter de adăugare chiar lângă valoarea anterioară necesară ulterior în IDE de procesare pentru indexarea Serial.print (distanță); // Trimite valoarea distanței în Serial Port Serial.print ("."); // Trimite caracterul de adaos chiar lângă valoarea anterioară necesară ulterior în IDE de procesare pentru indexare}} // Repetă liniile anterioare de la 165 la 15 grade pentru (int i = 180; i> = 0; i -) {RadarServo.scrie (i); întârziere (50); distanță = sonar.ping_cm (); for (int j = 75; j> = 0; j- = 25) {if (i == 180 && (j == 75 || j == 50 || j == 25)) {continua; } Serial.print (i); // Trimite gradul curent în Serial Port Serial.print (","); // Trimite caracter de adăugare chiar lângă valoarea anterioară necesară ulterior în IDE de procesare pentru indexarea Serial.print (j); // Trimite gradul curent în Serial Port Serial.print ("*"); Serial.print (-1); // Trimite valoarea distanței în Serial Port Serial.print ("/"); // Trimite caracter de adăugare chiar lângă valoarea anterioară necesară ulterior în IDE de procesare pentru indexarea Serial.print (distanță); // Trimite valoarea distanței în Serial Port Serial.print ("."); // Trimite caracter de adăugare chiar lângă valoarea anterioară necesară mai târziu în IDE de procesare pentru indexare}}
}
Recomandat:
Senzor de culoare DIY simplu de la Magicbit: 5 pași
![Senzor de culoare DIY simplu de la Magicbit: 5 pași Senzor de culoare DIY simplu de la Magicbit: 5 pași](https://i.howwhatproduce.com/images/001/image-2886-12-j.webp)
Senzor de culoare DIY simplu de la Magicbit: În acest tutorial vom învăța despre cum să realizăm un senzor de culoare simplu folosind Magicbit cu Arduino
Sistem simplu de rezervare și stare Kicker cu integrare slabă: 12 pași (cu imagini)
![Sistem simplu de rezervare și stare Kicker cu integrare slabă: 12 pași (cu imagini) Sistem simplu de rezervare și stare Kicker cu integrare slabă: 12 pași (cu imagini)](https://i.howwhatproduce.com/images/002/image-5091-15-j.webp)
Sistem simplu de rezervare a statutului și rezervării cu integrare slabă: într-o companie în care lucrez există o masă kicker. Compania ocupă multe etaje și pentru unii dintre angajați este nevoie de până la 3 minute pentru a ajunge la masă și … pentru a realiza că masa este deja ocupată
Sistem simplu de sortare a produselor cu Raspberry Pi și Arduino: 5 pași
![Sistem simplu de sortare a produselor cu Raspberry Pi și Arduino: 5 pași Sistem simplu de sortare a produselor cu Raspberry Pi și Arduino: 5 pași](https://i.howwhatproduce.com/images/006/image-16096-j.webp)
Sistem simplu de sortare a produselor cu Raspberry Pi și Arduino: Sunt un FAN al ingineriei, îmi place să programez și să fac proiecte electronice în timpul liber, în acest proiect aș împărtăși cu dvs. un sistem simplu de sortare a produselor pe care l-am făcut recent. acest sistem, vă rugăm să pregătiți componentele
Sistem simplu de autentificare Batchfile cu bara de încărcare: 5 pași
![Sistem simplu de autentificare Batchfile cu bara de încărcare: 5 pași Sistem simplu de autentificare Batchfile cu bara de încărcare: 5 pași](https://i.howwhatproduce.com/images/005/image-14898-25-j.webp)
Sistem simplu de autentificare Batchfile cu bara de încărcare: Aici împărtășim fișierul Batch pentru sistemul de conectare cu bara de încărcare. Vă vom arăta codul și vă vom arăta, de asemenea, cum să utilizați. De asemenea, puteți vizita blogul nostru pentru mai multe coduri de fișiere batch. FFLocker 1.0: http://errorcode401.blogspot.in/2013/06/FFlocker-1.0.html Rar
Un sistem simplu de monitorizare și control al turbidității pentru microalge: 4 pași
![Un sistem simplu de monitorizare și control al turbidității pentru microalge: 4 pași Un sistem simplu de monitorizare și control al turbidității pentru microalge: 4 pași](https://i.howwhatproduce.com/images/002/image-5378-40-j.webp)
Un sistem simplu de monitorizare și control al turbidității pentru microalge: Să spunem doar că te-ai plictisit de eșantionarea apei pentru a măsura turbiditatea, un termen brut care indică orice particule mici, suspendate din apă, care reduce intensitatea luminii fie cu o cale de lumină în creștere, fie cu o particulă mai mare concentrare sau ambele