Оглавление:
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-13 06:58
¡Hola chic @ 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 free a probarlo y el sol robot intenta seguir? Si quieres ver de inmediato como funciona, puede visitar este link.
¡Empezemos!
Запасы
Сын Los materiales:
- 1 х Arduino UNO.
- 1 х L293D.
- 2 двигателя постоянного тока.
- 2 x Fotorresistencia 180кОм.
- 1 х Батерия 9 В.
- 2 х Diodo 1n1004
- 2 x Resistencia 1кОм.
Шаг 1: ¡Preparemos La Base Para Trabajar
Пример того, что нужно использовать для работы с Tinkercad Circuits и Понер Нуэстра Arduino и protoboard para trabajar, Entonces:
- Dentro de los compoenentes básicos buscamos una Arduino Uno y la arrastramos al entorno de trabajo (изображение 1).
- Cambiamos a la pestaña de todos los compoenentes (изображение 2).
- Buscamos la placa de desarrollo grande y la arrastramos al lado de la Arduino (изображение 3).
- Conectamos la alimentación de la Arduino a la protoboard tal cual seve en la image 4.
¡Листо!
Шаг 2: ¡Agreguemos Los Componentes! - Sensores De Luz
Las Instrucciones para esta sección son:
- Busca la fotorresistencia en los component arstrastra dos a los lugares indicados en la image 1.
- Busca una resistencia y Arrastrala al espacio de trabajo, luego rotala apretando el botón de giro tres veces (изображение 2 como referencia).
- Luego posiciona dos de estas en los lugares indicados en la image 3, no hay necesidad de cambiar sus valores por que ya son de 1k Ohm cada una.
- Реализуйте все, что нужно для питания, а также штырь A4 и A5 для Arduino, Tal Cual Seve En la Image 4
¡Pasemos al siguiente paso!
Шаг 3: ¡Agreguemos Los Componentes! - Контроль Де Моторес + Моторес
Los pasos para armar esta parte son:
- Автобус, управляющий двигателем L293D, включает компоненты и устанавливает индикаторы на изображении 1.
- Ahora debes buscar un diodo y lo arrastrarlo hasta el espacio de trabajo, luego girarlo apretando el botón de giro tres veces (image 2 de referencia), luego colocarlos en la posición indicada en la imagen 3.
- Luego buscar 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 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 (изображение 4 de referencia).
- Por último conectar todo los components entre sí, usa la image 5 como referencia.
¡Listo, avancemos a la programación!
Шаг 4: ¡Hora De Programar
Ahora revisaremos el código y entenderemos como funciona, el programa complete:
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, ВЫХОД); 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, ВЫХОД); pinMode (pin_motor_der, ВЫХОД);}
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) или Entrada (INPUT).
Ультимас инструктаж есть дантро де ла функции void_loop (), есть такой ejecutarán константенте 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". Una vez lista las variables estas pasan a la función analogWrite (A, B) la cual nos dice "usar el pin 3 para emitir una señal B", чтобы контролировать двигатели.
¡Y así es como el programa funciona! (Гранд Расгос)
Шаг 5: ¡Veamos Nuestro Resultado
¡Así nos quedó la simulación!