Com fer un robot de neteja de terres mitjançant un sensor d'ultrasons?

Un robot automàtic de neteja de terres no és un concepte nou. Però aquests robots tenen un problema important. Són molt cars. Què passa si podem fabricar un robot de neteja de terres de baix cost que sigui tan eficient com el robot disponible al mercat. Aquest robot utilitzarà un sensor d'ultrasons i evitarà qualsevol obstacle en el seu camí. En fer-ho, netejarà tota l’habitació.



(Aquesta imatge està extreta de Circuit Digest)

Com s'utilitza el sensor d'ultrasons per fabricar un robot de neteja del terra automàtic?

Com sabem ara el resum del nostre projecte. Recopilem informació addicional per començar a treballar.



Pas 1: recollida dels components

El millor enfocament per iniciar qualsevol projecte és fer una llista de components complets al començament i fer un breu estudi de cada component. Això ens ajuda a evitar els inconvenients enmig del projecte. A continuació es mostra una llista completa de tots els components utilitzats en aquest projecte.



  • Xassís de roda de cotxe
  • Bateria
  • Mostra el pinzell

Pas 2: estudiar els components

Ara, ja que tenim una llista completa de tots els components, fem un pas endavant i estudiem breument el funcionament de cada component.



Arduino nano és una placa de microcontroladors que s’utilitza per controlar o realitzar diferents tasques en un circuit. Cremem un Codi C a Arduino Nano per dir a la placa de microcontroladors com i quines operacions realitzar. Arduino Nano té exactament la mateixa funcionalitat que Arduino Uno, però en una mida força petita. El microcontrolador de la placa Arduino Nano és ATmega328p.

Arduino Nano

El L298N és un circuit integrat d’alta corrent i alta tensió. És un pont complet dual dissenyat per acceptar la lògica TTL estàndard. Té dues entrades d’activació que permeten que el dispositiu funcioni de forma independent. Es poden connectar i operar dos motors alhora. La velocitat dels motors es varia a través dels passadors PWM.



Controlador de motor L298N

La placa HC-SR04 és un sensor d'ultrasons que s'utilitza per determinar la distància entre dos objectes. Consisteix en un transmissor i un receptor. El transmissor converteix el senyal elèctric en un senyal ultrasònic i el receptor torna a convertir el senyal ultrasònic en el senyal elèctric. Quan el transmissor envia una ona ultrasònica, es reflecteix després de xocar amb un objecte determinat. La distància es calcula utilitzant el temps que triga el senyal ultrasònic en passar del transmissor i tornar al receptor.

Sensor d'ultrasons

Pas 3: Muntatge dels components

Com sabem ara com funcionen tots els components, anem a muntar tots els components i comencem a fabricar un robot.

Agafeu un xassís de roda de cotxe i munteu un raspall d’espectacle davant dels xassís. Munteu el Scotch Brite sota el robot. Assegureu-vos que estigui just darrere del raspall de sabates. Ara poseu una petita tauleta a la part superior de les persecucions i, darrere d’ella, poseu el controlador del motor. Feu les connexions adequades dels motors al controlador del motor i connecteu amb cura els pins del controlador del motor a l’Arduino. Munteu una bateria darrere del xassís. La bateria encendrà el controlador del motor que alimentarà els motors. L'Arduino també prendrà energia del controlador del motor. El pin Vcc i la terra del sensor d'ultrasons es connectaran a 5V i a terra de l'Arduino.

Esquema de connexions

Pas 4: Introducció a Arduino

Si encara no esteu familiaritzat amb l’IDE ​​Arduino, no us preocupeu, perquè a continuació s’explica un procediment pas a pas per configurar i utilitzar Arduino IDE amb una placa de microcontrolador.

  1. Descarregueu la versió més recent d'Arduino IDE des de Arduino.
  2. Connecteu la placa Arduino Nano al portàtil i obriu el tauler de control. al tauler de control, feu clic a Maquinari i so . Ara feu clic a Dispositius i impressores. Aquí trobareu el port al qual està connectada la vostra placa de microcontrolador. En el meu cas ho és COM14 però és diferent en diferents ordinadors.

    Buscant Port

  3. Feu clic al menú Eina i configureu el tauler a Arduino Nano.

    Taula de configuració

  4. Al mateix menú d'eines, establiu el port al número de port que heu observat anteriorment al fitxer Dispositius i impressores .

    Configuració del port

  5. Al mateix menú d'eines, configureu el processador a ATmega328P (Bootloader antic).

    Processador

  6. Baixeu-vos el codi adjunt a continuació i enganxeu-lo al vostre IDE Arduino. Feu clic al botó pujar per gravar el codi a la placa del microcontrolador.

    Pujar

Feu clic a aquí per descarregar el codi.

Pas 5: entendre el codi

El codi està força ben comentat i s’explica per si mateix. Però, tot i així, s’explica breument a continuació.

1. Al començament, tots els pins d'Arduino que farem servir, s'inicialitzen.

int enable1pin = 8; // Pins per al primer motor int motor1pin1 = 2; int motor1pin2 = 3; int enable2pin = 9; // Pins per al segon motor int motor2pin1 = 4; int motor2pin2 = 5; const int trigPin = 11; // Pins per al sensor d'ultrasons const int echoPin = 10; const int buzzPin = 6; llarga durada; // Variables per a distància flotant del sensor ultrasònic;

2. configuració nul·la () és una funció en la qual configurem tots els pins que s’utilitzaran com INPUT o OUTPUT. La funció Baud Rate també es defineix en aquesta funció. La velocitat de transmissió és la velocitat amb què la placa de microcontrolador es comunica amb els sensors connectats.

configuració nul·la () {Serial.begin (9600); pinMode (trigPin, OUTPUT); pinMode (echoPin, INPUT); pinMode (buzzPin, OUTPUT); pinMode (enable1pin, OUTPUT); pinMode (enable2pin, OUTPUT); pinMode (motor1pin1, OUTPUT); pinMode (motor1pin2, OUTPUT); pinMode (motor2pin1, OUTPUT); pinMode (motor2pin2, OUTPUT); }

3. bucle buit () és una funció que s'executa contínuament en un bucle. En aquest bucle, hem indicat al microcontrolador quan ha d’avançar si no es troba cap obstacle en 50 cm. El robot prendrà un gir brusc a la dreta quan es trobi un obstacle.

bucle buit () {digitalWrite (trigPin, LOW); delayMicroseconds (2); digitalWrite (trigPin, HIGH); delayMicroseconds (10); digitalWrite (trigPin, LOW); durada = pulseIn (echoPin, HIGH); distància = 0,034 * (durada / 2); if (distància> 50) // Avança si no es troba cap obstacle {digitalWrite (enable1pin, HIGH); digitalWrite (enable2pin, HIGH); digitalWrite (motor1pin1, HIGH); digitalWrite (motor1pin2, BAIX); digitalWrite (motor2pin1, HIGH); digitalWrite (motor2pin2, BAIX); } else if (distància<50) // Sharp Right Turn if an obstacle found { digitalWrite(enable1pin, HIGH); digitalWrite(enable2pin, HIGH); digitalWrite(motor1pin1, HIGH); digitalWrite(motor1pin2, LOW); digitalWrite(motor2pin1, LOW); digitalWrite(motor2pin2, LOW); } delay(300); // delay }

Ara, com hem comentat tot el que necessiteu per fabricar un robot de neteja de terres automàtic, gaudiu de la fabricació del vostre propi robot de neteja de pisos de baix cost i eficient.