Taula de continguts:
- Pas 1: peces i programari
- Pas 2: procés de construcció
- Pas 3: controlador del motor L293D
- Pas 4: Bluetooth HC-05
- Pas 5: Monitor de la bateria
- Pas 6: Sensor de gamma ultrasònica HC-SR04
- Pas 7: Larson Scanner
- Pas 8: Codi
- Pas 9: càmera
- Pas 10: MIT App Inventor2
- Pas 11: connecteu el mòbil al cotxe RC
- Pas 12: Ja esteu fet
Vídeo: Robot Car amb Bluetooth, càmera i aplicació MIT Inventor2: 12 passos (amb imatges)
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:14
Alguna vegada has volgut construir el teu propi cotxe robot? Bé … aquesta és la vostra oportunitat !!
En aquest instructiu us explicaré com fer un cotxe robot controlat mitjançant Bluetooth i l'aplicació MIT Inventor2. Tingueu en compte que sóc un principiant i que aquest és el meu primer instrument, així que, si us plau, sigueu suaus en els vostres comentaris.
Hi ha moltes instruccions disponibles, però en aquest he intentat combinar moltes funcions com ara: transmissió de càmera, evitació d’obstacles, sensor de gamma ultrasònic, escàner Larson (amb charlieplexing) i control de la bateria a una aplicació per a Android.
Comencem i coneixem Frankie (utilitza idees de molts llocs … d’aquí Robo Frankenstein)
Pas 1: peces i programari
Aquí, a la meva ciutat natal, és difícil aconseguir totes les peces, per tant, he pogut obtenir-ne la majoria a www.aliexpress.com
Calculo que el projecte es pot construir entre 25 i 30 dòlars americans sense tenir en compte l’antic mòbil.
- Xassís del cotxe: 3 rodes, 2 motors 6V (9 USD)
- Arduino Nano (2 USD)
- Bluetooth HC-05 (de 3 a 4 dòlars)
- Controlador de motor L293D per conduir motors de rodes (1,50 USD per un lot de 5 peces)
- Mòbil antic amb càmera i Wi-Fi
- Sensor d'ultrasons HC-SR04 per mesurar a un objecte proper (1 USD)
- 6 LEDs per a escàner Larson
- ATtiny85 per a l'escàner Larson (1 USD)
- Taula de pa (1 USD)
- Filferros
- Resistència de 100K Ohm (4)
- Resistència de 1 K ohm (2)
- Resistència de 2K Ohm (1)
- Resistència de 270 Ohm (3)
- Zumbador
Programari:
- IDE Arduino
- Càmera web IP (per a Android mòbils antics)
- Aplicació MIT Inventor2: aquesta aplicació és fantàstica, però només funciona per al sistema operatiu Android (sense iPhone… ho sento!)
Pas 2: procés de construcció
El xassís del cotxe és molt fàcil de muntar; té 2 motors de 6V que alimenten les rodes posteriors i un paquet de 4 bateries.
El cotxe Robot es controla mitjançant Bluetooth i Wi-Fi. El Bluetooth controla les comunicacions en sèrie entre el Car i l'aplicació MIT inventor2 i el Wi-Fi s'utilitza per comunicar-se amb la càmera (mòbil antic) instal·lada davant del cotxe.
Per a aquest projecte, he utilitzat dues bateries: l’arduino funciona amb una bateria de 9V i els motors del cotxe amb 6V (quatre bateries AA de 1,5V).
Arduino Nano és el cervell d’aquest projecte que controla el cotxe, el brunzidor, el sensor de gamma ultrasònic HC-SR04, el Bluetooth HC-05, l’escàner Larson (ATtiny85) i supervisa les bateries. La bateria de 9V va a Vin (pin 30) i el pin 27 d’Arduino proporciona una potència regulada de 5V a la placa de suport. Cal lligar tots els terrenys de tots els circuits integrats i bateries.
Adjunt, l’esquema del circuit el va fer a Excel (Ho sento … la propera vegada provaré Fritzing). Ho he connectat tot fent servir taulers de connexió i connectors de filferro mascle a mascle, el meu sembla un niu de rates.
Pas 3: controlador del motor L293D
L293D és un controlador de mitja H de quàdruple corrent elevat dissenyat per proporcionar corrents d’unitat bidireccionals de fins a 600 mA a tensions de 4.5V a 36V. S’utilitza per conduir les rodes del cotxe.
S'alimenta amb un paquet de bateries de 6 V (quatre 1,5 V AA) per als motors i utilitza 5 V per a la lògica que prové de 5 V regulats (pin 27) a Arduino Nano. Les connexions es mostren a l'esquema adjunt.
No calia instal·lar-lo en un dissipador de calor.
Pas 4: Bluetooth HC-05
HC-05 Bluetooth funciona amb 5V (pin arduino 27), però és important entendre que el nivell lògic és de 3,3V, és a dir, les comunicacions (Tx i Rx) amb 3,3V. És per això que s’ha de configurar Rx amb un màxim de 3,3 V que es pot aconseguir amb un convertidor de canvi de nivell o, com en aquest cas, amb un divisor de tensió mitjançant l’ús de resistències de 1 K i 2 K tal com es veu al circuit.
Pas 5: Monitor de la bateria
Per tal de controlar els nivells de la bateria, he establert divisors de tensió per tal de reduir els nivells de tensió per sota dels 5V (rang màxim d’Arduino). El divisor de tensió disminueix la tensió mesurada dins del rang de les entrades analògiques Arduino.
S’utilitzen les entrades analògiques A4 i A6 i s’utilitzen resistències altes (100K ohms) per no esgotar massa les bateries en el procés de mesura. Hem de comprometre’ns, si les resistències són massa baixes (10K ohms), tenen menys efectes de càrrega, la lectura del voltatge és més precisa, però el dibuix és més actual; si són massa elevats (1M ohms), amb un efecte de càrrega més elevat, la lectura de tensió és menys precisa, però menys dibuix de corrent.
La supervisió de la bateria es realitza cada 10 segons i es mostra directament al mòbil del controlador.
Estic segur que hi ha molt marge de millora en aquesta part, ja que estic llegint des de dos pins analògics i el MUX intern canvia entre ells. No estic fent una mitjana de diverses mesures i potser això és el que hauria de fer.
Deixeu-me explicar la següent fórmula:
// Llegiu el voltatge del pin analògic A4 i feu el calibratge per a Arduino:
voltatge1 = (analogRead (A4) * 5,0 / 1024,0) * 2,0; //8,0V
La placa nano Arduino conté convertidors analògics i digitals de 8 canals de 10 bits. La funció analogRead () retorna un número entre 0 i 1023 que és proporcional a la quantitat de voltatge que s’aplica al pin. Això proporciona una resolució entre lectures de: 5 volts / 1024 unitats o, 0,0049 volts (4,9 mV) per unitat.
El divisor de tensió redueix la meitat de la tensió i, per obtenir una tensió real, cal multiplicar-lo per 2.
IMPORTANT: estic segur que hi ha una manera més eficient d’alimentar un arduino que la meva manera de fer-ho !! Com a novell, he après de la manera més difícil. El pin Arduino Vin utilitza un regulador de tensió lineal, cosa que significa que, amb una bateria de 9V, cremareu una gran part de la potència del propi regulador lineal. No és bó. Ho vaig fer així perquè era ràpid i només perquè no ho sabia millor … però assegureu-vos que a la versió 2.0 de Robo Frankie segur que ho faré de manera diferent.
Estic pensant (en veu alta) que una font d’alimentació de commutació continuada de CC i una bateria recarregable de ions de Li poden ser una manera millor. El vostre amable suggeriment serà més que benvingut …
Pas 6: Sensor de gamma ultrasònica HC-SR04
HC-SR04 és un sensor de gamma ultrasònic. Aquest sensor proporciona mesures de 2cm a 400cm amb una precisió de fins a 3mm. En aquest projecte, s’utilitza per evitar obstacles quan arriba als 20cm o menys i també per mesurar la distància a qualsevol objecte que s’envia al telèfon mòbil.
Hi ha un botó a la pantalla del mòbil que cal fer clic per sol·licitar la distància a un objecte proper.
Pas 7: Larson Scanner
Volia incloure alguna cosa divertida, així que vaig incloure un escàner Larson que s’assembla a K. I. T. T. de Knight Rider.
Per a l’escàner Larson he utilitzat ATtiny85 amb charlieplexing. El Charlieplexing és una tècnica per conduir una pantalla multiplexada en la qual s’utilitzen relativament pocs pins d’E / S d’un microcontrolador per conduir una sèrie de LED. El mètode utilitza les capacitats lògiques de tres estats dels microcontroladors per tal d’obtenir eficiència respecte a la multiplexació tradicional.
En aquest cas, estic fent servir 3 pins d'ATtiny85 per encendre 6 LED !!
Podeu il·luminar els LED "X" amb N pins. Utilitzeu la fórmula següent per obtenir quants LEDs podeu conduir:
X = N (N-1) LEDs amb N pins:
3 pins: 6 LED;
4 pins: 12 LED;
5 pins: 20 LED … ja tens la idea;-)
El corrent flueix de positiu (ànode) a negatiu (càtode). La punta de la fletxa és càtode.
És important tenir en compte que el pin 1 (al codi IDE Arduino) fa referència al pin 6 físic a ATtiny85 (consulteu el pinout adjunt).
Adjunt, busqueu el codi que cal penjar a ATtiny85 que controla l'escàner Larson. No descric com penjar un codi a ATtiny85, ja que hi ha un munt d’instructibles que fan això com aquest.
Pas 8: Codi
Adjunto el codi que cal carregar a ATtiny85 que controla l'escàner Larson i el codi per a Arduino nano's.
Pel que fa a l'Arduino nano, he utilitzat part de codis d'altres instructibles (aquí) i he fet canvis per adaptar-me a les meves necessitats. He inclòs un diagrama de flux (també en paraula per obtenir una imatge més clara) del codi per entendre millor com funciona el Switch-Case.
Important: per pujar el codi CarBluetooth a Arduino nano, heu de desconnectar Rx i Tx del mòdul Bluetooth HC-05.
Pas 9: càmera
L'aplicació Càmera web IP s'ha de descarregar des de Play Store i instal·lar-la al vostre mòbil antic. Comproveu les preferències de vídeo, ajusteu la resolució en conseqüència i, finalment, baixeu a l'última ordre "Inici del servidor" per iniciar la transmissió. No oblideu activar la Wi-Fi al mòbil !!
Pas 10: MIT App Inventor2
MIT App inventor2 és una eina basada en el núvol que ajuda a crear aplicacions al navegador web. Aquesta aplicació (només per a mòbils basats en Android) es pot carregar a la vostra cel·la i controlar el cotxe del vostre robot.
Jo adjunto codi.apk i.aia perquè pugueu veure el que he fet i modificar-lo com vulgueu. He utilitzat un codi d'Internet (aplicació MIT) i he fet les meves pròpies modificacions. Aquest codi controla el moviment del cotxe robot, rep el senyal del sensor d'ultrasons, encén els llums i emet un so al zumbador. També rep senyal de les bateries que ens fa saber el nivell de tensió.
Amb aquest codi podrem rebre dos senyals diferents des del cotxe: 1) distància a un objecte proper i 2) voltatge de les bateries del motor i del arduino.
Per tal d’identificar la cadena de sèrie rebuda, he inclòs un indicador al codi d’Arduino que especifica el tipus de cadena enviada. Si Arduino envia la distància mesurada des del sensor d'ultrasons, envia un caràcter "A" davant de la cadena. Sempre que Arduino envia nivells de bateria, envia un senyalador amb un caràcter "B". Al codi inventors2 de l'aplicació MIT he analitzat la cadena de sèrie provinent d'Arduino i he comprovat si hi ha aquestes marques. Com he dit, sóc un principiant i estic segur que hi ha maneres més eficients de fer-ho i espero que algú em pugui il·luminar d’una manera millor.
Envieu Arduino_Bluetooth_Car.apk al vostre telèfon mòbil (per correu electrònic o Google Drive) i instal·leu-lo.
Pas 11: connecteu el mòbil al cotxe RC
Primer de tot, activeu el wi-fi al mòbil antic (el del robot RC).
Al mòbil del controlador, activeu el vostre wi-fi, Bluetooth i obriu Arduino_Bluetooth_Car.apk que acabeu d’instal·lar. Al final de la pantalla (desplaceu-vos cap avall si no la podeu veure) veureu dos botons: Dispositius i CONNECCIÓ. Feu clic a Dispositius i seleccioneu el Bluetooth del vostre cotxe RC (hauria de ser alguna cosa HC 05), feu clic a CONNECTA i hauríeu de veure el missatge CONNECTAT a la part inferior esquerra de la pantalla. La primera vegada se us demanarà una contrasenya (introduïu 0000 o 1234).
Hi ha un quadre on heu d’escriure l’adreça IP del vostre mòbil antic (el mòbil que es troba al vostre cotxe RC), en el meu cas és
Aquest número IP es pot detectar al router Wi-Fi. Heu d’entrar a la configuració de l’encaminador, seleccionar la llista de dispositius (o alguna cosa semblant en funció de la marca de l’encaminador) i hauríeu de poder veure el vostre antic dispositiu mòbil, fer-hi clic i introduir aquest número d’IP en aquest quadre.
A continuació, seleccioneu CÀMERA i hauríeu de començar a veure la càmera en temps real des del vostre cotxe RC.
Pas 12: Ja esteu fet
Estàs acabat! Comenceu a jugar amb ell
Canvis futurs: canviaré la bateria de 9V amb bateries de ions de Li per tal de recarregar-les i utilitzar un regulador de voltatge DC-DC incrementat, també vull millorar el monitor de la bateria incloent un suavitzat (mitjana) de les lectures analògiques. No planeja incloure A. I. tot i així …;-)
He participat al meu primer concurs instructiu … així que si us plau vota;-)
Recomanat:
Tower Climb Helping Robot V1 - Control de dues potes, RF, BT amb aplicació: 22 passos (amb imatges)
Tower Climb Helping Robot V1 - Control de dues potes, RF, BT amb aplicació: quan vegi sargantanes a les parets, penso fabricar un robot com aquest. És una idea a llarg termini, busco molts articles per a electroadhesius i comprovo d'alguna manera la manca de capacitat de retenció. Només per ara tinc previst fer-ho mitjançant electroimant per
Soft Toy Bluetooth Daus i desenvolupa jocs per a Android amb l'aplicació MIT Inventor: 22 passos (amb imatges)
Soft Toy Bluetooth Daus i desenvolupament de jocs per a Android amb l'aplicació MIT Inventor: el joc de daus té un mètode diferent 1) Jugar tradicionalment amb daus de fusta o llautó.2) Juga al mòbil o a la PC amb el valor de dau aleatori creat per mòbil o pc.en aquest mètode diferent jugueu als daus físicament i moveu la moneda al mòbil o al PC
Cub LED RGB amb aplicació Bluetooth + AnimationCreator: 14 passos (amb imatges)
Cub LED RGB amb aplicació Bluetooth + AnimationCreator: és una instrucció sobre com construir un cub LED RGB 6x6x6 (ànodes comuns) controlat per una aplicació Bluetooth mitjançant un Arduino Nano. Tota la versió es pot adaptar fàcilment a un cub 4x4x4 o 8x8x8. Aquest projecte està inspirat en GreatScott. Vaig decidir
Cotxe Arduino amb tracció a les quatre rodes Bluetooth amb cotxe UNO R3, HC-05 i L293D amb codificació i aplicació per a Android: 8 passos
Cotxe RC Bluetooth Arduino de 4 rodes amb motor UNO R3, HC-05 i L293D amb aplicació per a codificació i Android: Avui us explicaré com fer un cotxe RC bluetooth amb tracció a les 4 rodes amb HC 05, blindatge del motor L293, Motor de 4 CC, amb codificació i aplicació per a Android per controlar el cotxe. Component utilitzat: -1-Arduino UNO R32-Bluetooth HC-053-Motorshield L293
RC Car Hack: controlat per Bluetooth mitjançant l’aplicació Android: 3 passos (amb imatges)
RC Car Hack: controlat per Bluetooth mitjançant l'aplicació Android: estic segur que cadascun de vosaltres podeu trobar a casa un cotxe RC no utilitzat. Aquesta instrucció us ajudarà a canviar el vostre vell cotxe RC a un regal original :) A causa del fet que el cotxe RC que tenia era petit, he triat Arduino Pro Mini com a controlador principal. Un altre