Taula de continguts:
- Pas 1: història
- Pas 2: teoria i metodologia
- Pas 3: Configuració del maquinari
- Pas 4: Configuració del programari
- Pas 5: resolució de problemes
- Pas 6: Codi Arduino
Vídeo: Sistema de radar simple de Magicbit: 6 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:10
Aquest tutorial mostra com fer un sistema de radar senzill mitjançant el sensor HC-SR04 i la placa de desenvolupament Microbit amb processament i IDE Arduino.
Subministraments:
- Micro-servo motor SG90
- Cable de pont (genèric)
- Tauler de pa (genèric)
- Magicbit
- Cable USB-A a Micro-USB
- Sensor d'ultrasons - HC-SR04 (genèric)
Pas 1: història
En aquest tutorial aprendrem sobre com fer un sistema de radar senzill mitjançant la placa de desenvolupament del nucli Magicbit. Per a aquest propòsit, fem servir un sensor d’ultrasons HC-SR04 i, per mostrar dades, fem servir un entorn de processament. Comencem.
Pas 2: teoria i metodologia
En primer lloc, analitzem com funciona això. El principi és molt fàcil. Primer girem el sensor al voltant de l'eix vertical en un rang de 180 graus contínuament. Durant aquest moviment prenem les dades sobre la distància a l'objecte més proper del sensor d'ultrasons en tots els angles. Per a aquest procés utilitzem la placa base Magicbit. Després, hem d’establir la connexió amb l’entorn de processament per mostrar les nostres dades. Per tant, fem servir un protocol de comunicació en sèrie amb una velocitat de transmissió adequada. A continuació, dissenyem la nostra interfície del sistema de radar utilitzant IDE de processament. En aquest IDE configurem la nostra comunicació serial per obtenir dades en temps real mitjançant serial. Així doncs, fem una comunicació en temps real amb Magicbit i mostrem les dades que s’envien des de Magicbit a l’IDE de processament.
Pas 3: Configuració del maquinari
Per a aquest projecte hem utilitzat principalment tres components de maquinari. Són Magicbit, servomotor i sensor d'ultrasons. La connexió entre totes aquestes parts es mostra a la figura superior.
El sensor ultrasònic utilitza 3,3 v per engegar. Per tant, hem utilitzat el port inferior dret de la placa Magicbit per connectar el sensor d'ultrasons a Magicbit. Però el servomotor s’utilitza 5V per a un funcionament adequat, per tant, hem utilitzat el port inferior esquerre per connectar el servomotor amb Magicbit. En aquest cas, fem servir el mòdul de connector servo de bits Magic. Però si no teniu aquest mòdul, podeu utilitzar tres cables jumper per connectar 5V a 5V, Gnd a Gnd i el pin de senyal a 26 pins a magicbit.
Després de construir el circuit, tenim una petita part mecànica per construir. ajusteu el connector de servo lateral únic al servomotor mitjançant una femella petita. A continuació, fixeu el sensor en aquest connector utilitzant un suport en forma de L o de la manera adequada. Després de tot el sistema, vam fixar-nos en taulers de suport. Però podeu utilitzar una altra superfície per muntar servo i Magicbit.
Pas 4: Configuració del programari
El costat del programari és poc complex. Per obtenir una comprensió adequada, podeu consultar els enllaços següents abans de passar a la següent part.
magicbit-arduino.readthedocs.io/en/latest/
hello.processing.org/editor/
Vegem el codi IDE d'Arduino i com funciona aquest codi.
Per conduir el servo, fem servir la biblioteca de servidors ESP32. Aquesta biblioteca gairebé inclou el gestor de taules de bits màgics a Arduino IDE. Per tractar el sensor d'ultrasons, utilitzem la nova biblioteca de Ping. Es pot descarregar des del següent enllaç.
bitbucket.org/teckel12/arduino-new-ping/do…
Descarregueu el fitxer zip i vés eines> inclou biblioteca> afegiu biblioteca Zip a Arduino. ara seleccioneu el fitxer zip descarregat de la nova biblioteca de pins. Per comunicar-nos amb el processament, hem utilitzat la comunicació en sèrie amb una velocitat de 115200 baud. Aquesta és la freqüència més adequada per a ESP32. Des de qualsevol angle, enviem les nostres dades a l’ordinador mitjançant aquest protocol. La distància a l'objecte frontal més proper del sensor, la direcció de rotació i l'angle de rotació s'inclouen en aquestes dades. Utilitzant dos per a bucles, girem el nostre servo en dues direccions. Mentre rotàvem un grau, vam enviar dades de sèrie 4 vegades. La raó per la qual ho podeu entendre en processar l'explicació de la peça.
Ara és hora de mirar l'entorn de processament. Es tracta d’un programari de programació basat en Java. Podem escriure un esbós del nostre programa en aquest esbós en processament IDE. També podem generar sortida visual mitjançant l'execució del nostre programa. També podeu prendre sortida com a objectes 2D i 3D. No només això, es pot utilitzar per al processament d’imatges i moltes coses més.
En el primer esbós de processament dissenyem la nostra interfície de visualització de dades mitjançant funcions gràfiques senzilles. Al començament del codi, establim la nostra comunicació serial mitjançant la inclusió de biblioteques en sèrie. A la funció de configuració heu de canviar segons el port USB que heu utilitzat per connectar Magicbit a l'ordinador. podeu comprovar el vostre port mitjançant Arduino IDE quan configureu Arduino IDE per penjar el codi. A continuació, canvieu el nom del port de com a la part de configuració a l'esbós de processament. quan les dades de sèrie estan disponibles, la funció Serialevent s’activa automàticament. Per tant, la lògica principal del codi és incloure en un esdeveniment en sèrie per evitar que falten els angles i les dades. quan hi hagi noves dades disponibles, dibuixem una línia a la pantalla segons el nostre angle. En aquell moment, si no hi ha cap objecte detectat, la línia completa té un color verd. Si no, llavors alguna porció de la línia quedarà vermella segons la distància del sensor a l'objecte. També segons la direcció de rotació, dibuixem 200 línies més properes a aquesta línia amb un nivell decreixent de color verd. entre cada principal tenim 0,25 graus de diferència. Per tant, obtenim 4 lectures alhora de Magicbit en cada rotació de graus. Per aquest motiu, podem crear belles mans a la pantalla.
Després de carregar el codi completament a màgia i configurar la part de maquinari, obriu l'IDE de processament i executeu el codi fent clic al botó d'execució. Ara teniu un sistema de radar molt senzill.
Podeu personalitzar els codis segons vulgueu mostrar el que vulgueu.
Pas 5: resolució de problemes
L'esbós de processament no s'està executant.
- Espera una estona. A causa del temps d'inici, depèn del rendiment del vostre PC i GPU.
- Comproveu que el número de port de sèrie sigui correcte a l’esbós de processament.
- Comproveu que la connexió USB estigui fixada correctament.
- Comproveu la connexió entre el sensor d'ultrasons i Magicbit.
- Obriu el monitor sèrie i comproveu que les dades provenen d’Arduino. Si no, el problema és el vostre codi Arduino o la vostra connexió USB.
El servo no funciona.
- Comproveu que la connexió USB estigui fixada correctament.
- Comproveu el cablejat.
- Comproveu que el servo està en bon estat.
Pas 6: Codi Arduino
#incloure
#define TRIGGER_PIN 21 #define ECHO_PIN 22 #define MAX_DISTANCE 200 Sonar NewPing (TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); #include // include servo library int distance; Servo RadarServo; configuració nul·la () {Serial.begin (115200); RadarServo.attach (26); // Defineix en quin pin hi ha el retard de connexió del servomotor (3000); } void loop () {// gira el servomotor de 15 a 165 graus per a (int i = 0; i <= 180; i ++) {RadarServo.write (i); retard (50); distance = sonar.ping_cm (); // Crida a una funció per calcular la distància mesurada pel sensor d'ultrasons per a cada grau per (int j = 0; j0) {break; } Serial.print (i); // Envia el grau actual al port sèrie Serial.print (","); // Envia un caràcter d'addició just al costat del valor anterior necessari més endavant a l'IDE de processament per indexar Serial.print (j); // Envia el grau actual al port sèrie Serial.print ("*"); Serial.print (1); // Envia el valor de la distància al port sèrie Serial.print ("/"); // Envia un caràcter d'addició just al costat del valor anterior necessari més endavant a l'IDE de processament per indexar Serial.print (distància); // Envia el valor de la distància al port sèrie Serial.print ("."); // Envia un caràcter d'addició just al costat del valor anterior necessari a l'IDE de processament per indexar}} // Repeteix les línies anteriors de 165 a 15 graus per (int i = 180; i> = 0; i -) {RadarServo.escriu (i); retard (50); distància = sonar.ping_cm (); for (int j = 75; j> = 0; j- = 25) {if (i == 180 && (j == 75 || j == 50 || j == 25)) {continuar; } Serial.print (i); // Envia el grau actual al port sèrie Serial.print (","); // Envia un caràcter d'addició just al costat del valor anterior necessari més endavant a l'IDE de processament per indexar Serial.print (j); // Envia el grau actual al port sèrie Serial.print ("*"); Serial.print (-1); // Envia el valor de la distància al port sèrie Serial.print ("/"); // Envia un caràcter d'addició just al costat del valor anterior necessari més endavant a l'IDE de processament per indexar Serial.print (distància); // Envia el valor de la distància al port sèrie Serial.print ("."); // Envia un caràcter d'addició just al costat del valor anterior necessari més endavant a l'IDE de processament per a la indexació}}
}
Recomanat:
Sistema de radar de bricolatge que utilitza un sensor d'ultrasons: 3 passos
Sistema de radar de bricolatge que utilitza un sensor d'ultrasons: aquí us comparteixo aquest projecte que és fàcil de fer amb un sensor d'ultrasons arduino i servomotor
SISTEMA DE RADAR ULTRASONNIC AMB ARDUINO: 3 passos
SISTEMA DE RADAR ULTRASONNIC AMB ARDUINO: El circuit descrit aquí demostra el funcionament d’un sistema de radar basat en ultrasons. Utilitza un sensor d’ultrasons per detectar un objecte i mesurar-ne la distància i gira segons el servomotor. L’angle de rotació es mostra en una pantalla LCD de 16x2
Un sistema simple de control i control de la terbolesa per a microalgues: 4 passos
Un sistema de control i control simple de la terbolesa per a les microalgues: diguem que us avorreix el mostreig d’aigua per mesurar la terbolesa, un terme brut que indica les partícules petites i en suspensió de l’aigua, que redueixen la intensitat de la llum ja sigui amb un recorregut de llum creixent o amb una partícula més alta concentració o tots dos
Sistema de notificacions ISS simple: 6 passos (amb imatges)
Sistema de notificacions ISS simple: què és l’Estació Espacial Internacional i per què voleu predir on es troba? Per respondre a la primera pregunta, podem buscar una resposta al lloc web de la NASA. El que en definitiva és: L’Estació Espacial Internacional és una nau espacial gran. Orbita al voltant de
Un simple prototip del sistema d’estacionament mitjançant Ebot: 3 passos
Un prototip simple del sistema d’estacionament amb Ebot: he fet un prototip simple del sistema d’estacionament amb Ebot. En aquest sistema, hi ha un sensor d’ultrasons per detectar el vehicle / objecte. El mòdul LCD mostrarà el nombre de vehicles detectats. Un cop el nombre arribi al màxim, es mostrarà el missatge & q