lunes, 26 de febrero de 2024

EL PROGRAMA HOLA MUNDO

 HOLA  MUNDO

 
Clic aquí para descargar el programa HolaMundo: DESCARGAR

El programa "Hola, Mundo" es una tradición en la programación y se utiliza comúnmente como el primer programa que los desarrolladores escriben cuando aprenden un nuevo lenguaje de programación. La finalidad de este programa es proporcionar una introducción simple al lenguaje y al entorno de desarrollo. Aquí hay una explicación de la historia y la teoría detrás de este programa:

 

Historia:

Orígenes:

La tradición de escribir un programa "Hola, Mundo" se atribuye a Brian Kernighan, un destacado informático, coautor del libro "El lenguaje de programación C" junto con Dennis Ritchie.

El primer programa "Hola, Mundo" se escribió en el lenguaje de programación B, precursor del C, en la década de 1970.

Popularización:

 

A lo largo de los años, la tradición se ha mantenido y se ha extendido a casi todos los lenguajes de programación existentes.

 

Teoría:

Simplicidad:

El programa "Hola, Mundo" es extremadamente simple y consta de solo unas pocas líneas de código.

La simplicidad permite a los principiantes enfocarse en la estructura básica de un programa y en la sintaxis del lenguaje.

 

Verificación del Entorno:

Al escribir e imprimir "Hola, Mundo", los principiantes pueden verificar que su entorno de desarrollo esté configurado correctamente.

 

A menudo, problemas iniciales, como configuraciones incorrectas o instalaciones defectuosas, se pueden identificar y resolver con este programa simple.

 

Comprensión Básica:

El programa introduce conceptos básicos, como la estructura del código, la impresión de texto y la ejecución de un programa.

 

Ayuda a comprender cómo se lleva a cabo la entrada y salida en el lenguaje de programación.

 

Confianza Inicial:

Es un primer paso amigable para quienes están comenzando a programar, ya que proporciona una sensación de logro al ejecutar con éxito su primer programa.

 

Comparación entre Lenguajes:

Al escribir "Hola, Mundo" en varios lenguajes, los programadores pueden comparar rápidamente la sintaxis y la estructura básica de diferentes lenguajes de programación.

 

Educación Continua:

A pesar de su simplicidad, el programa "Hola, Mundo" sigue siendo una herramienta educativa valiosa para introducir conceptos más avanzados a medida que los desarrolladores avanzan en su aprendizaje.

 

En resumen, el programa "Hola, Mundo" tiene un significado pedagógico y práctico. Es una tradición que ayuda a los nuevos programadores a dar sus primeros pasos y a familiarizarse con la sintaxis y la estructura básica de un nuevo lenguaje de programación.

MANEJO DE BOTONES EN ARDUINO

CONECTAR BOTON PARA ENCENDER UN LED

 


Clic aquí para descargar codigo sin control de rebotes: DESCARGAR

Clic aquí para descargar codigo con control de rebotes: DESCARGAR


Conceptos
La conexión pull-up o pull-down en un circuito con Arduino se utiliza comúnmente para manejar la entrada de un botón. Ambas configuraciones se utilizan para establecer el estado inicial del pin cuando el botón no está siendo presionado, y cambian el estado cuando el botón se presiona.

 

1. Resistencia Pull-Up:

Cuando utilizas una resistencia pull-up, conectas una resistencia desde el pin del botón hasta el voltaje de alimentación (VCC o 5V en Arduino). Esto se hace para asegurar que el pin esté en un estado lógico alto (HIGH) cuando el botón no está siendo presionado. Cuando presionas el botón, el pin se conecta a tierra (GND), y el estado del pin cambia a bajo (LOW).

 

Circuito:

·         Pin del botón conectado a tierra (GND).

·         Resistor conectado desde el pin del botón a 5V (pull-up).

·         Cuando el botón está sin presionar, el pin está en estado HIGH.

 

Arduino Configuración:

pinMode(botonPin, INPUT_PULLUP);

 

2. Resistencia Pull-Down:

Cuando utilizas una resistencia pull-down, conectas una resistencia desde el pin del botón hasta tierra (GND). Esto se hace para asegurar que el pin esté en un estado lógico bajo (LOW) cuando el botón no está siendo presionado. Cuando presionas el botón, el pin se conecta a VCC (5V), y el estado del pin cambia a alto (HIGH).

 

Circuito (el de la imagen):

·         Pin del botón conectado a VCC (5V).

·         Resistor conectado desde el pin del botón a tierra (pull-down).

·         Cuando el botón está sin presionar, el pin está en estado LOW.

 

3. Los rebotes:

Los rebotes en un botón son pequeñas fluctuaciones eléctricas que ocurren cuando se presiona o suelta un botón físico. Estas fluctuaciones pueden generar lecturas erráticas del estado del botón, lo que puede afectar negativamente la respuesta esperada en un programa Arduino. Veamos más detenidamente el fenómeno de los rebotes y cómo manejarlo:

 

¿Qué son los Rebotes?

Cuando presionas o sueltas un botón, los contactos dentro del botón pueden hacer contacto y separarse varias veces antes de establecerse en su posición final.

Estos contactos pueden generar un fenómeno llamado "rebote" debido a la mecánica interna del botón.

 

¿Cómo se Manifiestan los Rebotes?

Los rebotes pueden aparecer como una serie rápida de pulsos eléctricos.

Estos pulsos pueden hacer que el programa Arduino detecte múltiples cambios de estado en un corto período de tiempo.

 

Problemas Asociados con los Rebotes:

Dificultad para obtener una única lectura clara del estado del botón.

Puede llevar a comportamientos no deseados, como múltiples activaciones de una acción con un solo toque.

 

Cómo Manejar los Rebotes en Arduino:

Uso de Resistencias y Condensadores:

Se pueden utilizar resistencias y condensadores en circuito para filtrar los rebotes.

Sin embargo, esto puede ser complicado y a menudo se prefiere un enfoque de software más sencillo.

 

Uso de Software (Debouncing /Anti-rebote):

Un método común para manejar los rebotes es implementar una lógica de "debouncing" en el código.

El debouncing implica ignorar cualquier cambio de estado del botón durante un breve período después de que se detecta un cambio.

 

Ejemplo de Debouncing en Arduino:

const int botonPin = 2;   // Pin conectado al botón

int estadoBoton;          // Variable para almacenar el estado del botón

int estadoAnterior = LOW;  // Variable para almacenar el estado anterior del botón

unsigned long tiempoAnterior = 0;  // Variable para almacenar el tiempo del último cambio de estado

 

void setup() {

  pinMode(botonPin, INPUT);  // Configura el pin del botón como entrada

}

 

void loop() {

  // Lee el estado actual del botón

  int estadoBoton = digitalRead(botonPin);

 

  // Verifica si ha habido un cambio en el estado del botón

  if (estadoBoton != estadoAnterior) {

    // Si hay un cambio, actualiza el tiempo del último cambio

    tiempoAnterior = millis();

  }

 

  // Verifica si ha pasado un tiempo suficiente desde el último cambio

  if (millis() - tiempoAnterior > 50) {

    // Si ha pasado suficiente tiempo, actualiza el estado anterior y realiza acciones

    estadoAnterior = estadoBoton;

    // Realiza acciones según el estado actual del botón

    if (estadoBoton == HIGH) {

      // Acciones cuando el botón está presionado

    } else {

      // Acciones cuando el botón no está presionado

    }

  }

}

En este ejemplo, se utiliza millis() para medir el tiempo desde el último cambio. Si ha pasado un tiempo suficiente (50 milisegundos en este caso), se actualiza el estado anterior y se realiza alguna acción. Esto ayuda a ignorar los cambios rápidos asociados con los rebotes.

 

Conclusión:

Los rebotes son fenómenos eléctricos comunes en botones físicos.

Pueden manejarse con hardware (resistencias y condensadores) o con software (debouncing).

El debouncing en software es una técnica comúnmente utilizada y puede implementarse en el código Arduino para garantizar una lectura confiable del estado del botón.


jueves, 22 de febrero de 2024

INTRODUCCION A LA PROGRAMACION ARDUINO

 INTRODUCCIÓN A LA PROGRAMACIÓN CON ARDUINO


 A. Estructura Básica de un Programa Arduino

Objetivo: Comprender la estructura básica de un programa Arduino.

Actividad:

·         Concepto de programa y su estructura.

·         Las secciones fundamentales: setup() y loop().

1. Concepto de Programa y su Estructura en Arduino:

·         Programa: Un programa es como una receta para decirle a la computadora (o en este caso, a Arduino) qué hacer. Escribimos programas para que Arduino realice tareas específicas, como encender luces o mover motores.

·         Estructura del Programa en Arduino: Imagina que estás escribiendo una carta. En un programa de Arduino, hay dos partes importantes: setup() y loop(). En la sección setup(), le dices a Arduino qué preparativos hacer antes de empezar la tarea principal. En loop(), le dices a Arduino qué hacer una y otra vez.

2. Secciones Fundamentales: setup() y loop():

·         setup(): Aquí pones las instrucciones que Arduino solo necesita hacer una vez, al comienzo. Por ejemplo, si estás encendiendo una luz, le dirías a Arduino en setup() que prepare la luz.

·         loop(): En esta sección, colocas las instrucciones que quieres que Arduino repita una y otra vez. Si quieres que una luz parpadee, le dices a Arduino en loop() que encienda y apague la luz en un bucle.


 B. Entorno de Desarrollo Arduino (IDE)

Objetivo: Familiarizarse con el entorno de desarrollo Arduino.

Actividad:

·         Presentar el entorno de desarrollo Arduino IDE.

·         Destacar las secciones clave, como el área de código, el monitor serial y la barra de herramientas.

1. Entorno de Desarrollo Arduino IDE:

·         Definición: El Arduino IDE (Entorno de Desarrollo Integrado) es el programa que usamos para escribir, compilar y cargar nuestros programas en la placa Arduino.

·         Instalación: Puedes descargar e instalar el Arduino IDE desde el sitio web oficial de Arduino. Es compatible con diferentes sistemas operativos como Windows, macOS y Linux.

2. Secciones Clave del Arduino IDE:

·         Área de Código: Es la parte principal de la ventana donde escribes tu programa. Aquí es donde colocas todas las instrucciones para que Arduino las siga. Los programas en Arduino están escritos en un lenguaje similar al inglés y son llamados "sketches".

·         Monitor Serial: Es como una ventana que te permite comunicarte con Arduino. Puedes imprimir información desde tu programa usando Serial.print() o Serial.println(), y ver esa información en el Monitor Serial. Es útil para depurar y entender lo que está haciendo tu programa.

·         Barra de Herramientas: Aquí encontrarás botones importantes. Algunos de los más destacados son:

1.       Verificar (Tick): Comprueba si hay errores en tu programa sin cargarlo en la placa.

2.       Subir (Flecha hacia arriba): Carga tu programa en la placa Arduino.

3.       Nuevo (Archivo con esquina doblada): Abre un nuevo sketch.

4.       Abrir (Carpeta abierta): Abre un sketch existente.

5.       Monitor Serial (Lupa): Abre o cierra la ventana del Monitor Serial.

6.       Área de Mensajes: Justo debajo del área de código, hay un área que muestra mensajes importantes, como errores durante la verificación o carga del programa. Te da pistas sobre lo que podría estar mal en tu código.

·         Barra de Estado: En la parte inferior, hay una barra que muestra información sobre la placa seleccionada, el puerto COM y el tipo de conexión.

3. Ampliación sobre el Uso:

·         Escribir y Verificar: Después de escribir tu programa, haces clic en el ícono de "verificación" para asegurarte de que no haya errores antes de cargarlo en la placa.

·         Cargar en la Placa: Una vez que has verificado que tu programa está bien, haces clic en el ícono de "subir" para cargar el programa en tu placa Arduino. Después de eso, tu programa comienza a ejecutarse en la placa.

     ·         Monitor Serial: Si necesitas ver datos o mensajes que imprimes en tu programa, puedes abrir             el Monitor Serial para ver esta información en tiempo real.

 

C. Ejemplos Prácticos - Hola Mundo en Arduino

Objetivo: Aplicar conocimientos sobre la estructura de un programa y el uso del entorno Arduino IDE.

Actividad:

·         Realizar un ejemplo práctico: "Hola Mundo" en Arduino.

·         Explicar el uso de funciones setup() y loop().

·         Mostrar cómo cargar y ejecutar el programa en una placa Arduino.

1. Realizar un Ejemplo Práctico: "Hola Mundo" en Arduino:

Código "Hola Mundo":

void setup() {

  Serial.begin(9600);  // Inicia la comunicación serial a 9600 baudios

  Serial.println("¡Hola Mundo!");  // Imprime "¡Hola Mundo!" en el monitor serial

}

 

void loop() {

  // El loop está vacío en este ejemplo

}

·         setup(): En esta función, preparamos la placa para la ejecución del programa. En este caso, iniciamos la comunicación serial a 9600 baudios (una velocidad de comunicación) y luego imprimimos "¡Hola Mundo!" en el monitor serial.

·         loop(): Aunque esta función está vacía en este ejemplo, generalmente es donde colocarías las instrucciones que deseas que Arduino repita continuamente.

2. Explicar el Uso de Funciones setup() y loop():

·         setup(): Esta función se ejecuta una sola vez al principio del programa. Es el lugar ideal para inicializar configuraciones, como establecer la velocidad de comunicación o configurar pines.

·         loop(): Después de que setup() se ejecuta, loop() se ejecuta continuamente en un bucle. Aquí pones las instrucciones que deseas que Arduino repita indefinidamente. Por ejemplo, si quieres que un LED parpadee, colocarías el código en loop().

3. Mostrar Cómo Cargar y Ejecutar el Programa en una Placa Arduino:

·         Conexión de la Placa: Conecta tu placa Arduino a la computadora mediante un cable USB.

·         Seleccionar el Tipo de Placa: Abre el Arduino IDE, ve a "Herramientas" y selecciona el modelo de tu placa (por ejemplo, Arduino Uno) y el puerto al que está conectada la placa.

·         Verificar y Cargar: Haz clic en el ícono de verificación (Verificar) para asegurarte de que no hay errores en tu código. Luego, haz clic en la flecha (Cargar) para transferir el programa a la placa Arduino.

·         Observar en el Monitor Serial: Puedes abrir el monitor serial (botón en la esquina superior derecha) para ver la salida del programa. En este caso, deberías ver "¡Hola Mundo!".

martes, 13 de febrero de 2024

LAS BOBINAS – TRABAJO SOCIAL

                                       LAS BOBINAS – TRABAJO SOCIAL

 VER EL VIDEO: https://www.youtube.com/watch?v=0w0ycQobkq0

Estructura de las Bobinas:

Conductor (alambre de cobre o aluminio preferiblemente magnetico):

Las bobinas están compuestas principalmente por un conductor, que es generalmente un alambre de cobre o aluminio. Estos materiales son excelentes conductores eléctricos y permiten que la corriente eléctrica fluya eficientemente a través de la bobina.

 

Número de Espiras (una espira es una vuelta del hilo de alambre en la bobina):

La eficiencia y la potencia de una bobina pueden verse afectadas por el número de espiras (vueltas) en la bobina. Un mayor número de espiras aumenta la resistencia eléctrica, pero también puede aumentar la inducción electromagnética.

 

Núcleo Magnético:

Algunas bobinas tienen un núcleo magnético en su interior, que puede ser de hierro o algún material ferromagnético. El núcleo magnético concentra y guía las líneas de flujo magnético, mejorando la eficiencia de la bobina.

Funcionamiento de las Bobinas:

 

Inducción Electromagnética:

Cuando una bobina se encuentra en un campo magnético y experimenta un cambio en el flujo magnético (por ejemplo, al girar en presencia de imanes), se induce una fuerza electromotriz (fem) según la Ley de Faraday.

 

Generación de Corriente:

La corriente inducida en la bobina es el resultado del flujo magnético que corta las espiras del conductor. Esta corriente generada es eléctricamente utilizable y puede ser dirigida hacia otros componentes del sistema.

 

Tipos de Bobinas:

Bobinas de Aire:

No tienen un núcleo magnético y su eficiencia puede ser menor que las bobinas con núcleo. Son comunes en aplicaciones de radiofrecuencia y en la fabricación de inductancias.

 

Bobinas con Núcleo de Hierro o Ferrita:

Estos núcleos magnéticos aumentan la inductancia y son utilizados en transformadores y dispositivos inductivos donde se busca concentrar el flujo magnético.

 

Bobinas de Autoinducción:

Tienen una sola espira y se utilizan para inducir una corriente en sí mismas. Se emplean en dispositivos como relés y en aplicaciones de almacenamiento de energía.

 

Aplicaciones de las Bobinas:

Generación de Energía:

Como en tu proyecto, las bobinas se utilizan en generadores y sistemas de energía renovable para convertir el movimiento mecánico en energía eléctrica.

Transformadores:

 

En transformadores, las bobinas están acopladas magnéticamente para transferir energía eléctrica de un circuito a otro, ya sea aumentando o disminuyendo el voltaje.

 

Inductores en Circuitos Electrónicos:

En circuitos eléctricos, las bobinas se utilizan como inductores para almacenar energía magnética y regular la corriente.

 

Bobinas de Antena:

En aplicaciones de comunicación, como en antenas, las bobinas se utilizan para sintonizar frecuencias y mejorar la recepción de señales.

 

Dispositivos Electromagnéticos:

Se emplean en relés, solenoides y otros dispositivos electromagnéticos donde se necesita generar un campo magnético para realizar un trabajo mecánico.

 

En resumen, las bobinas son componentes esenciales en la ingeniería eléctrica y electrónica, desempeñando un papel vital en la generación, transformación y regulación de la energía eléctrica en una amplia gama de aplicaciones.

 

Generación de energía:

a. Principios electromagnéticos: Explora los principios de la inducción electromagnética, que es la base de la generación de energía en tu proyecto.

b. Ley de Faraday: Introduce la ley de Faraday y cómo un campo magnético cambiante induce una corriente eléctrica en una bobina.

 

Componentes eléctricos:

a. Bobinas y núcleos magnéticos: Explica cómo el diseño de las bobinas y la presencia de núcleos magnéticos afectan la eficiencia de la generación de energía.

b. Imanes de neodimio: Analiza las propiedades magnéticas de los imanes de neodimio y cómo afectan la generación de energía en la bobina.

 

Conversión de energía:

a. Conversión electromecánica: Describe cómo se convierte la energía mecánica del giro del abanico en energía eléctrica en la bobina.

b. Eficiencia de conversión: Habla sobre la importancia de la eficiencia en la conversión de energía y cómo se pueden mejorar los diseños para aumentarla.

 

Almacenamiento de energía:

a. Baterías: Explica los conceptos básicos de cómo funcionan las baterías, incluyendo los tipos de baterías que podrían ser adecuados para tu proyecto.

b. Controladores de carga: Introduce la función de los controladores de carga en la gestión eficiente del proceso de carga de las baterías.

 

Circuitos eléctricos y electrónica:

a. Inversores: Explica el papel de los inversores en convertir la corriente continua de las baterías en corriente alterna para alimentar el abanico.

b. Controladores de carga: Examina cómo los controladores de carga garantizan la carga segura y eficiente de las baterías.

CODIGO EJERCICIO TCRT5000

 CODIGO TCRT5000


CLIC AQUI PARA DESCARGAR CODIGO:https://drive.google.com/file/d/1BTjSED5p3YV6PU_LYMUfbue_yarb55H0/view?usp=sharing

jueves, 8 de febrero de 2024

EL SENSOR TCRT5000 SEGUIDOR DE LINEAS

 EL SENSOR TCRT5000 SEGUIDOR DE LINEAS


El MODULO TCRT5000

 



El módulo TCRT5000 es un sensor infrarrojo utilizado comúnmente en proyectos de robótica, específicamente en robots seguidores de línea. Este sensor consta de un emisor infrarrojo y un receptor montados en la misma carcasa. El emisor emite luz infrarroja y el receptor detecta la luz reflejada. La cantidad de luz reflejada depende de la superficie sobre la que incide, por lo que se puede utilizar para seguir líneas en superficies contrastantes.

 

Aquí hay algunas características clave del módulo TCRT5000:

 Emisor y receptor infrarrojo: La unidad cuenta con un diodo emisor infrarrojo y un fototransistor como receptor en el mismo encapsulado.

 Distancia de trabajo: La distancia efectiva de trabajo del TCRT5000 suele ser de unos pocos milímetros a unos pocos centímetros, lo que lo hace adecuado para aplicaciones de detección cercana.

 Sensibilidad ajustable: Algunos módulos TCRT5000 tienen un potenciómetro incorporado que permite ajustar la sensibilidad del sensor, lo que puede ser útil para adaptarse a diferentes condiciones de iluminación o colores de superficie.

 Respuesta a contrastes: Este sensor es particularmente efectivo en la detección de contrastes, como líneas negras sobre fondos blancos o viceversa.

 Cuando se utiliza en un robot seguidor de línea, el TCRT5000 se monta en la parte inferior del robot, mirando hacia el suelo. Al detectar el contraste entre la línea y el fondo, el robot puede ajustar sus motores para mantenerse en la trayectoria deseada.

 

 

Pines del sensor

 Algunos módulos TCRT5000 pueden tener cuatro pines en lugar de tres. La configuración adicional suele ser un pin de salida analógica. Aquí está la explicación para cada uno de los cuatro pines:

 VCC (Voltage Common Collector): Este pin se conecta a la alimentación positiva, típicamente 5V.

 GND (Ground): Este pin se conecta a la tierra o el polo negativo del circuito.

 OUT (Salida Digital): Este pin proporciona una salida digital y puede tener dos estados posibles: alto (1) o bajo (0). Similar a la explicación anterior, este pin se conecta a un pin digital de entrada en un microcontrolador y se utiliza para determinar si el sensor está sobre una línea o no.

 AOUT (Salida Analógica A0): Algunos módulos TCRT5000 cuentan con una salida analógica adicional (AOUT / A0). Este pin proporciona una señal analógica proporcional a la intensidad de la luz infrarroja reflejada. La salida analógica puede ser útil en situaciones donde se necesita una lectura más precisa de la cantidad de luz reflejada, lo que puede ser beneficioso en algunas aplicaciones de detección de línea.

 Cuando utilizas un módulo TCRT5000 con salida analógica, conectas el pin AOUT a un pin analógico en tu microcontrolador, como los pines A0, A1, etc., en Arduino. Luego, puedes leer esta señal analógica para obtener información más detallada sobre la intensidad de la reflexión infrarroja y ajustar tu lógica en consecuencia.

 Para utilizar el módulo TCRT5000, generalmente se conecta a una placa de desarrollo o microcontrolador como Arduino. El microcontrolador recibe las señales del sensor y puede realizar acciones específicas, como ajustar la dirección del robot para seguir la línea.

 Es importante señalar que la calibración y el ajuste fino son cruciales para el rendimiento efectivo del robot seguidor de línea. Los cambios en la iluminación o en las condiciones del suelo pueden afectar la respuesta del sensor, por lo que algunos proyectos incorporan métodos de calibración automática o adaptación dinámica para mejorar la robustez del sistema en diferentes entornos.

REGION ANDINA

  LA REGION ANDINA La zona andina de Colombia es una de las cinco principales regiones geográficas del país y destaca por ser la más poblada...