Turinys:
2025 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2025-01-13 06:57
Sveikas prašmatnus@s! En esta oportunidad vamos a armar un seguidor de luz simple con una Arduino con un par de fotorresistencias y motores, te recomendamos usarlo en lugares de poca iluminación e interiores ¿Te imaginas sales al aire libre a probarlo y el robot intenta seguir el sol? Si quieres ver de inmediato como funciona, puede visitar este link.
Pe Empezemos!
Prekės
Los materiales sūnus:
- 1 x „Arduino UNO“.
- 1 x L293D.
- 2 x nuolatinės srovės variklis.
- 2 x variklio atsparumas 180k om.
- 1 x Baterija 9 V.
- 2 x Diodo 1n1004
- 2 x Atsparumas 1k omui.
1 žingsnis: paruoškite „La Base Para Trabajar“
Primero que nada debemos abrir Tinkercad Circuits y poner nuestra Arduino y protoboard para trabajar, entonces:
- Dentro de los composenentes básicos buscamos una Arduino Uno y la arrastramos al entorno de trabajo (1 pav.).
- Cambiamos a la pestaña de todos los composenentes (2 pav.).
- Buscamos la placa de desarrollo grande y la arrastramos al lado de la Arduino (3 pav.).
- „Conectamos la alimentación de la Arduino“ir „protoboard“tal cual se ve en la imagen 4.
Listo!
2 žingsnis: „Agreguemos Los Componentes“! - Sensores De Luz
Instrukcijos sūnui:
- Busca la fotorresistencia en los komponentesy arrastra dos a los lugares indicados en la imagen 1.
- Busca una resistencia y arrastrala al espacio de trabajo, luego rotala apretando el botón de giro tres veces (2 paveikslėlis su nuoroda).
- Skaitykite daugiau informacijos apie tai, kaip matyti iš 3, be šieno, kad reikia, kad būtų galima susitarti, ar tai yra 1 k Ohm cada una.
- Realizar las conexiones a las líneas de alimentación y al pin A4 ir A5 de Arduino, tal cual se ve en la imagen 4
¡Pasemos al siguiente paso!
3 žingsnis: „Agreguemos Los Componentes“! - „Motores + Motores“valdymas
Los pasos para armar esta parte son:
- Autobusas, valdantis variklį L293D, skirtas sudedamosioms dalims ir arrastrarlo, turi būti rodomas ir rodomas 1.
- Ahora debes buscar un diodo y lo arrastrarlo hasta el espacio de trabajo, luego girarlo apretando el botón de giro tres veces (2 pav. Nuoroda), luego colocarlos en la posición indicada en la imagen 3.
- Skaitykite autobusus el motor dc simple y arrastrar dos al Espacio de trabajo, el de abajo debe ser rotado apretando el botón de giro seis veces (3 nuoroda).
- Autobusas be baterijų de 9 V ir arrastrarla al espacio de trabajo, luego rotarlo apretando el botón de giro nueve veces (4 nuotraukos nuoroda).
- Por último conectar todo los komponentes entre sí, usa la imagen 5 como reference.
¡Listo, avancemos a la programción!
4 žingsnis: „Hora De Programar“
„Ahora revisaremos el código y entenderemos como funciona“, užbaigta programa:
int pin_motor_der = 5; int pin_motor_izq = 6; float control_der = 0; float control_izq = 0; void setup () {pinMode (pin_motor_izq, OUTPUT); pinMode (pin_motor_der, OUTPUT); Serial.begin (9600);} void loop () {control_der = 1.0 - analogRead (A4) /1017.0; control_izq = 1.0 - analogRead (A5) /1017.0; analogWrite (pin_motor_izq, 255*control_izq); analogWrite (pin_motor_der, 255*control_der);}
Primero que nada podemos que se especifican algunas variables al inicio, estas son:
int pin_motor_der = 5; int pin_motor_izq = 6; float control_der = 0; float control_izq = 0;
Dos son int, lo que indica que son valores enteros, pin_motor_der y pin_motor_izq son las variables por las cuales especificamos los pines que controlarán el motor, las dos siguientes son de tipo float, o sea, son valores con decimales, control_der y control_izq se usarán para hacer el control de velocidad de los motores a usar.
La siguiente parte consta de las instrucciones dentro de la función void_setup (), los cuales se ejecutarán solo una vez, estos son:
void setup () {pinMode (pin_motor_izq, OUTPUT); pinMode (pin_motor_der, OUTPUT);}
En esta parte nos encontramos con pinMode (A, B) el cual nos permite decirle a la arduino "Arduino quiero usar el pin A como B" sinedo B salida (OUTPUT) o entrada (INPUT).
Las últimas instrucciones están dentro de la función void_loop (), estas se ejecutarán konstantemente en orden hasta que el Arduino se apage o deje de funcionar.
void loop () {control_der = 1.0 - analogRead (A4) /1017.0; control_izq = 1.0 - analogRead (A5) /1017.0; analogWrite (pin_motor_izq, 255*control_izq); analogWrite (pin_motor_der, 255*control_der);}
Primero que nada tenemos que asignar valores a las variables de control, la idea es poder tener un rango entre 0 y 1 (con decimales, por eso son float) el cual se logra al hacer la lectura del valor de la fotorresistencia mediante la función analog (A), donde A es el pin a leer, luego este valor es dividido por 1017.0 para que quede en el rango deseado, por último este valor se resta a uno para pasar de rango "0 a 1" a "1 a 0". Jei norite įvesti kintamųjų sąrašą, įveskite analoginį rašymą (A, B) la cual nos dice "usar el pin 3 para emitir una señal B" que controlara los motores.
¡Y así es como el program funciona! (didysis rasgas)
5 žingsnis: „Veamos Nuestro Resultado“
¡Así nos quedó la simulación!