lunes, 29 de enero de 2024

Robótica educativa con arduino

Modalidad: Lunes a Viernes
Horario: 8:00 a 10:30 hrs

Fechas aproximadas                      Cursos:

1.- ENERO DEL 8 AL 31       ♦SOLDADURA, PCB, SMD Y CAR. SEG. DE LINEA
2.- FEB DEL 1 AL 29          ♦CAR. EVASOR DE OBSTÁCULOS Y BRAZO ROBOT.
3.- DEL 4 DE MZO  AL 10 DE ABR    ♦CARRITOS VARIOS TIPOS
4.- DEL 16 DE ABR  AL 15 DE MAY   ♦SENSORES Y PROYECTOS
5.- DEL 16 DE MAY  AL 13 DE JUN    ♦DISPLAYS Y BATERIAS

NOTA: Los cursos pueden variar de fechas por el contenido temático.
Envía mensaje por Whatsapp por cualquier duda al:

Parte del contenido temático es el siguiente:

R O B Ó T I C A

 

¿Qué es un robot?

Sueño de muchas generaciones, la explosión tecnológica nos ha puesto al alcance de poder concretarlo. Para comenzar nuestro recorrido, hagamos un repaso de la historia de la robótica para comprender hacia dónde nos dirigimos.

 A imagen y semejanza

Desde los orígenes del hombre, podemos encontrar varios relatos sobre la creación de vida artificial. Por ejemplo, en la leyenda del Golem, un rabino de Praga le infunde vida a una estatua de barro. Asimismo, en la obra literaria Frankenstein, el doctor de dicho nombre crea un ser partir de órganos de otras personas, que luego se vuelve contra él. Si nos apartamos de la literatura, en el antiguo Egipto encontramos estatuas de dioses que incorporaban brazos mecánicos operados por los sacerdotes. En el siglo XIX, también se hicieron conocidas las creaciones de robots que jugaban ajedrez, aunque en realidad éstos ocultaban a un ser humano de baja estatura que operaba la máquina desde su interior (Figura 1). Es decir, el deseo de creación de un ser a nuestra imagen semejanza está presente desde los primeros tiempos de la humanidad.
                                                                                                                                                                                                     
Figura 1. El Turco, un robot que simulaba jugar al ajedrez y que, en realidad, tenía un jugador humano adentro.

El origen de la palabra robot se remonta a comienzos del siglo XIX. El dramaturgo Karel Capek utilizó por primera vez este término en su obra Opilek para referirse a un conjunto de máquinas inventadas por un científico para realizar tareas pesadas y aburridas. En checo, idioma original de la obra, el término robota significa trabajo tedioso.

Pero fue el escritor Isaac Asimov quien popularizó el término e introdujo el concepto de robótica en diversos relatos de ciencia ficción de su autoría. En sus obras, Asimov muestra facetas humanas de los robots y define un conjunto de leyes para que estos seres nuevos nunca se rebelen contra los humanos. Luego, el cine y la televisión generaron cientos de robots de diversa índole, algunos simpáticos (como R2D2 y Cortocircuito), y otros definitivamente en contra de sus creadores (Terminator, HAL). …




ENSAMBLE DEL CHASIS

1.- Retira la protección de las piezas de acrílico.
2.- Soldar los cables a los polos de los motores.  Es importante soldar de la misma manera que se muestra en la imagen, de lo contrario los motores podrían girar hacia el sentido opuesto.

3.- Coloca los soportes de acrílico al chasis.

4.- Coloca motores y tornillos en los soportes.

5.- Coloca las ruedas y los encoders en los motores.




EJEMPLO DE SENSOR DE MOVIMIENTO PIR

 

¿Qué es un sensor PIR?

Los sensores infrarrojos pasivos (PIR) son dispositivos para la detección de movimiento. Son baratos, pequeños, de baja potencia, y fáciles de usar. Por esta razón son frecuentemente usados en juguetes, aplicaciones domóticas o sistemas de seguridad.

 

Los sensores PIR se basan en la medición de la radiación infrarroja. Todos los cuerpos (vivos o no) emiten una cierta cantidad de energía infrarroja, mayor cuanto mayor es su temperatura. Los dispositivos PIR disponen de un sensor piro eléctrico capaz de captar esta radiación y convertirla en una señal eléctrica.

 

En realidad cada sensor está dividido en dos campos y se dispone de un circuito eléctrico que compensa ambas mediciones. Si ambos campos reciben la misma cantidad de infrarrojos la señal eléctrica resultante es nula. Por el contrario, si los dos campos realizan una medición diferente, se genera una señal eléctrica.

De esta forma, si un objeto atraviesa uno de los campos se genera una señal eléctrica diferencial, que es captada por el sensor, y se emite una señal digital.

  

Materiales

  • Módulo de Sensor PIR
  • Arduino UNO (cualquier versión)
  • LED
  • Buzzer
  • Protoboard
  • Cables de conexión
  • Resistencia de 330 ohmios

 Conexión

Conectar los sensores PIR a un microcontrolador Arduino es realmente simple. El PIR actúa como una salida digital que puede ser de alto o bajo voltaje.

Entonces, todo lo que necesita hacer es escuchar en una entrada digital en su Arduino. Si el pin emite un pitido agudo significa que fue detectado.

 

Código

El código es muy simple y básicamente mantiene un registro de si la entrada al pin 2 es alta o baja. También realiza un seguimiento del estado del pin, de modo que imprime un mensaje cuando el movimiento se ha iniciado y se ha detenido. El código es INCORRECTO por lo que tendrás que corregirlo. El led estará encendido y el buzzer apagado mientras no detecte señal el PIR, cuando detecte la señal el led empezara a parpadear y el buzzer emitirá un sonido. Recuerda el funcionamiento del sendor PIR.

 
void setup() {
            pinMode(2, INPUT); //PIN 2 as INPUT
            pinMode(3, OUTPUT); //PIN 3 as OUTPUT
}
void loop() {
            if (digitalRead(2) == HIGH){
                        digitalWrite(3, HIGH); // turn the LED/Buzz ON
                        delay(100); // wait for 100 msecond
                        digitalWrite(3, LOW); // turn the LED/Buzz OFF
                        delay(100); // wait for 100 msecond
            }
}
/*
* PIR sensor tester
*/
int ledPin = 13;                // choose the pin for the LED
int inputPin = 2;               // choose the input pin (for PIR sensor)
int pirState = LOW;             // we start, assuming no motion detected
int val = 0;                    // variable for reading the pin status
void setup() {
            pinMode(ledPin, OUTPUT);      // declare LED as output
            pinMode(inputPin, INPUT);     // declare sensor as input
            Serial.begin(9600);
}
 void loop(){
            val = digitalRead(inputPin);  // read input value
            if (val == HIGH) {            // check if the input is HIGH
                        digitalWrite(ledPin, HIGH);  // turn LED ON
                        if (pirState == LOW) {
                                     // we have just turned on
                                     Serial.println("Motion detected!");
                                     // We only want to print on the output change, not state
                                     pirState = HIGH;
                        }
            } else {
                        digitalWrite(ledPin, LOW); // turn LED OFF
                        if (pirState == HIGH){
                                     // we have just turned of
                                     Serial.println("Motion ended!");
                                     // We only want to print on the output change, not state
                                     pirState = LOW;
                        }
            }
}


BRAZO ROBÓTICO

Desarrollo

Para mover cada articulación (servomotor) se hará actualizando la variable Estado. Dicha variable se modificara al de acuerdo al protocolo que se definió en el brazo robot.
El protocolo no es mas que un carácter. Dependiendo del valor del carácter el robot moverá una articulación usando la función Mover_servo().
Para cambiar la articulación que se quiera mover solo bastara con presionar el joystick.
Para obtener un retroalimentación de que servo se ha seleccionado se utiliza una pantalla LCD 16X2.
Pantalla LCD Servo y grados actuales.

Diagrama de conexión

Diagrama de conexión LCD 16x2 I2C

Diagrama modulo joystick