Inhoudsopgave:
2025 Auteur: John Day | [email protected]. Laatst gewijzigd: 2025-01-13 06:57
¡Hola chic@s! En esta oportunidad vamos a armar un seguidor de luz simple con una Arduino con un par de fotorresistencias y motores, to recomendamos usarlo en lugares de poca iluminación e interiores Te imaginas sales al aire libre a probarlo y el robot intenta sol seguir? Si quieres ver de inmediato como funciona, puede visitar este link.
Empezemos!
Benodigdheden
Los materiaal zoon:
- 1x Arduino UNO.
- 1x L293D.
- 2x Motor-gelijkstroom.
- 2x Fotorresistencia 180k Ohm.
- 1 x Batterij 9 V.
- 2 x Diodo 1n1004
- 2x Weerstand 1k Ohm.
Stap 1: Bereid je voor op La Base Para Trabajar
Primero que nada debemos abrir Tinkercad Circuits en poner nuestra Arduino en protoboard para trabajar, entonces:
- De basis van de buscamo's en Arduino Uno y la arrastramos al entorno de trabajo (afbeelding 1).
- Cambiamos a la pestaña de todos los compoenentes (afbeelding 2).
- Buscamos la placa de desarrollo grande y la arrastramos al lado de la Arduino (afbeelding 3).
- Verbind de voeding met Arduino met een protoboard tal van se ve en la imagen 4.
Lijst!
Stap 2: ¡Agreguemos Los Componentes! - Sensores de Luz
Las instrucciones para esta sección son:
- Busca la fotorresistencia en los componentesy 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 (imagen 2 como referencia).
- Lees meer over de estas en los lugares indicados en la imagen 3, no hay necesidad de cambiar sus valores que ya son the 1k Ohm cada una.
- Realizar las conexiones a las líneas de alimentación y al pin A4 y A5 de Arduino, tal van se ve en la imagen 4
Pasemos al siguiente paso!
Stap 3: ¡Agreguemos Los Componentes! - Controle De Motoren + Motoren
Los pasos para armar esta parte son:
- Buscar el control de motor L293D entre los componentes y arrastrarlo hasta el lugar indicado en la imagen 1.
- Ahora debes buscar un diodo y lo arrastrarlo hasta el espacio de trabajo, luego girarlo apretando el botón de giro tres veces (imagen 2 de referencia), luego colocarlos en la posición indicada en la imagen 3.
- Luego buscar el motor dc simple y arrastrar dos a espacio de trabajo, el de abajo debe ser rotado apretando el botón de giro seis veces (imagen 3 de referencia).
- Buscar una batería de 9 V y arrastrarla al espacio de trabajo, luego rotarlo apretando el botón de giro nueve veces (imagen 4 de referencia).
- U kunt een verbinding maken met de componenten van de vorige afbeelding, in de Verenigde Staten van Amerika 5 como referencia.
¡Listo, avancemos a la programación!
Stap 4: Hora De Programar
Ahora revisaremos el codigo y entenderemos como funciona, el programa completo es:
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, UITGANG); Serial.begin(9600);}void loop(){ control_der = 1.0 - analogRead(A4)/1017.0; control_izq = 1.0 - analoog lezen (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 variabelen 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 door las cuales especificamos los pines que controlarán el motor, las dos siguientes son de tipo float, o sea, son valores con decimales, control_se y control_izq para hacer el control de velocidad de los motores a usar.
De volgende stap is gemaakt om de functie van de void_setup(), los te laten van het solo-onze, estos son:
void setup(){ pinMode(pin_motor_izq, OUTPUT); pinMode (pin_motor_der, OUTPUT);}
En esta parte nos encontramos con pinMode(A, B) en geens permite decirle a la arduino "Arduino quiero usar el pin A como B " sinedo B salida (OUTPUT) o entrada (INPUT).
Dit is een manier om de functie van de void_loop() uit te voeren, zodat de functie constant kan worden gehouden en de Arduino kan worden gebruikt om de functie te vervullen.
void loop(){ control_der = 1.0 - analogRead(A4)/1017.0; control_izq = 1.0 - analoog lezen (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 rangeo 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 analogRead (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 pasar de rango "0 a 1" a "1 a 0". U kunt een lijst met variabelen maken die pas op een analoge functie schrijven (A, B) met de dobbelstenen "gebruik de pin 3 die u kunt verzenden naar een andere B" met de controle over de motor.
Y así es como el programa funciona! (een grandes rasgos)
Stap 5: ¡Veamos Nuestro Resultaat
Así nos quedó la simulación!