Colleccion De Proyectos Basicos Tinkrercad

by johancass95 in Circuits > Arduino

301 Views, 2 Favorites, 0 Comments

Colleccion De Proyectos Basicos Tinkrercad

imagen_2023-12-12_134649358.png

¡Bienvenido a nuestra galería de circuitos básicos en Tinkercad!

¿Alguna vez has querido sumergirte en el mundo de la electrónica y la creación de circuitos, pero no sabes por dónde empezar? ¡Estás en el lugar correcto! En esta galería, te invitamos a explorar una serie de circuitos básicos diseñados en Tinkercad, una plataforma interactiva que te permite aprender y experimentar con circuitos electrónicos de manera divertida y educativa.

¿Qué puedes encontrar aquí? Desde simples circuitos con LEDs y resistencias hasta configuraciones más complejas con sensores y microcontroladores, nuestra galería ofrece una variedad de diseños para todos los niveles de habilidad e interés en electrónica. Cada circuito viene acompañado de una descripción detallada y la posibilidad de interactuar con él, modificarlo y aprender jugando.

¿Por qué Tinkercad? Es una herramienta potente y fácil de usar que simula circuitos en tiempo real, lo que te permite experimentar sin riesgos de dañar componentes físicos. Además, es una excelente plataforma para principiantes y expertos por igual, ofreciendo un entorno intuitivo para aprender y diseñar circuitos electrónicos.

¡Sumérgete en nuestra galería y descubre cómo funcionan estos circuitos básicos! Desde el parpadeo de un LED hasta la interacción con sensores, te garantizamos una experiencia de aprendizaje práctica y emocionante. ¡Atrévete a explorar y crea tus propios circuitos mientras te diviertes en el mundo de la electrónica en Tinkercad!

¡Comienza tu viaje en la creación de circuitos hoy mismo!

Stacionamiento Inteligente Con Arduino Bacico


¡Bienvenidos al proyecto de estacionamiento inteligente con Arduino! En esta actividad, utilizamos un sensor ultrasónico para medir la distancia entre el sensor y un objeto cercano. Con esta información, controlamos un servomotor que simula la apertura y cierre de una barrera de estacionamiento.

Mediante el código programado en Arduino, el sensor ultrasónico calcula la distancia hasta el objeto más cercano y, a partir de esa medida, mueve el servomotor para reflejar esa distancia en un ángulo. Esto simula la apertura y cierre de una barrera en un estacionamiento, mostrando cómo la tecnología puede gestionar el acceso en función de la proximidad de un vehículo.

En la pantalla del Monitor Serie, se mostrará la distancia detectada y el ángulo al que se ha movido el servomotor, permitiendo comprender cómo la información obtenida del sensor se traduce en acciones concretas del sistema.

¡Explorar el código y ver cómo la distancia se convierte en movimiento es solo el comienzo! Este proyecto sienta las bases para entender cómo la tecnología puede automatizar procesos simples y cómo los sensores pueden interactuar con dispositivos de salida, como los servomotores, para crear sistemas inteligentes y útiles en nuestro entorno.

Controlar Una Puerta De Garaje



El código presenta una funcionalidad básica para controlar una puerta de garaje utilizando un motor servo. Al presionar el botón, la puerta se abre o cierra dependiendo de su estado actual. Además, se encienden y apagan LEDs rojos y verdes para indicar el estado de la puerta.

En cuanto al funcionamiento de la puerta de garaje, el código simula una apertura y cierre secuencial del motor, aumentando o disminuyendo gradualmente su posición. Sin embargo, la acción de abrir o cerrar la puerta se realiza rápida.


El código proporcionado es un ejemplo de cómo controlar un servomotor utilizando un potenciómetro y comunicación serial en Arduino. Se emplea un servomotor para simular el movimiento, como el de una puerta o una barrera, con dos posiciones definidas: una posición inicial (PosI) y una posición final (PosF). Además, se utilizan dos LEDs (LedI y LedF) para indicar visualmente estas posiciones.

  1. Inclusión de Librerías y Definiciones:
  • Se incluye la librería Servo.h para controlar el servomotor.
  • Se definen constantes para los pines de los LEDs (LedI y LedF), el pin del potenciómetro (potpin), y los valores de las posiciones inicial y final (PosI y PosF).
  1. Configuración Inicial:
  • Se establece la comunicación serial a una velocidad de 115200 baudios (Serial.begin(115200)).
  • Se configuran los pines de los LEDs como salidas (pinMode(LedI, OUTPUT) y pinMode(LedF, OUTPUT)).
  • Se adjunta el servomotor al pin 5 (myservo.attach(pinServo)).
  1. Bucle Principal (loop()):
  • Se verifica si hay datos disponibles en el puerto serial.
  • Si se recibe el carácter 'I' o 'F' por serial, se espera una cadena de texto y se convierte a un número entero (PosI o PosF).
  • Si se recibe 'R', se calcula y muestra la diferencia entre PosF y PosI (el recorrido).
  • Si se recibe '?', se muestra la posición inicial (PosI) y final (PosF) actualmente configuradas.
  1. Control del Servomotor:
  • Se lee el valor del potenciómetro (valores entre 0 y 1023) y se mapea a un rango entre PosI y PosF.
  • Se mueve el servomotor a la posición determinada por el valor del potenciómetro (myservo.write(val)).
  • Los LEDs LedI y LedF se encienden si la posición actual del servomotor coincide con PosI o PosF, respectivamente.
  1. Retardo y Ciclo Continuo:
  • Se introduce un pequeño retardo para permitir que el servomotor alcance su posición.
  • El código se ejecuta continuamente en el bucle loop().

Este código proporciona una introducción al control de un servomotor, lectura de puertos seriales y utilización de LEDs para indicar estados, mostrando cómo la interacción entre estos componentes puede ser programada y controlada mediante Arduino.

Control Led RGB



Este programa controla un LED RGB de ánodo común utilizando tres pines PWM (Pulse Width Modulation) en Arduino. El LED RGB tiene cuatro pines: uno para el ánodo común y tres para los colores rojo (R), verde (G) y azul (B). El código permite controlar la intensidad de cada color utilizando la entrada analógica de tres pines (A0, A1 y A2).

  1. Configuración Inicial:
  • En la función setup(), se configuran los pines 9, 10 y 11 como salidas para los colores R, G y B respectivamente, y se llama a la función Definido() para mostrar una secuencia predefinida de colores.
  1. Bucle Principal (loop()):
  • Se leen los valores analógicos de los pines A0, A1 y A2 que representan la intensidad de los colores R, G y B respectivamente.
  • Estos valores se mapean al rango de 0 a 255 (valores de PWM) y se utilizan para controlar la intensidad de cada color usando analogWrite() en los pines correspondientes.
  1. Función Definido():
  • Muestra una secuencia predefinida de colores en el LED RGB utilizando analogWrite() para variar la intensidad de los colores en pasos definidos y con pausas de 1 segundo entre cada cambio.


Nivel De Antrada Analogica



Este código lee un valor analógico de un potenciómetro conectado al pin A0. Luego, el valor leído se mapea a un rango de 0 a 100. Dependiendo del valor mapeado, se encienden diferentes combinaciones de LEDs para indicar el nivel o rango en el que se encuentra el potenciómetro. Cada LED representa un rango de valores del potenciómetro, desde 0 a 20, 21 a 40, 41 a 60 y finalmente, 61 a 100.

Semaforo Cont 7 Seg


En resumen, este código utiliza diferentes funciones para controlar LEDs, el display de 7 segmentos y el zumbador según el estado de los pulsadores. La lógica del cronómetro se basa en una cuenta regresiva mostrada en el display de 7 segmentos y se controla mediante la interacción de los pulsadores.

Funciones:

  1. setup()
  • Descripción: Esta función se ejecuta una vez al inicio del programa y se encarga de inicializar los pines de entrada/salida, la comunicación serial, el display de 7 segmentos y los LEDs.
  1. Verde()
  • Descripción: Esta función se utiliza para encender el LED verde y apagar los demás LEDs.
  1. Amarillo()
  • Descripción: Controla el LED amarillo. Si se cumple el tiempo determinado, alterna el estado del LED y, si está encendido, activa un tono en el zumbador.
  1. Rojo()
  • Descripción: Controla el LED rojo. Si se cumple el tiempo determinado, alterna el estado del LED y ajusta el tono del zumbador según una condición específica.
  1. loop()
  • Descripción: Esta función se ejecuta continuamente después de la función setup(). Controla el funcionamiento del programa en un ciclo infinito, leyendo los pulsadores y llamando a las funciones según ciertas condiciones.
  1. Manejo de Pulsadores:
  • digitalRead(BtnStart) y digitalRead(BtnReset) - Detectan si los pulsadores de inicio y reinicio están siendo presionados.
  1. Lógica del Cronómetro:
  • Controla la cuenta regresiva que se muestra en el display de 7 segmentos.
  1. matrix.print(cont) y matrix.writeDisplay()
  • Controla la visualización del número en el display de 7 segmentos.



Prueva Basica Eeprom Led



Este código utiliza un botón para pausar y reanudar una secuencia de encendido y apagado de tres LEDs. Cuando se presiona el botón, se guarda en la memoria EEPROM el estado actual de la secuencia de LEDs. El programa lee este valor al reanudar la secuencia. Cuando está en pausa, todos los LEDs se apagan.

  1. Configuración de pines y variables:
  • Se definen los pines para los LEDs (PinLed1, PinLed2, PinLed3), el botón (PinBtn) y se establece el número total de LEDs (NumLesd).
  • También se define una dirección en la memoria EEPROM para almacenar datos (address) y se establece el tiempo de la secuencia (TmeSecuencia).
  • Se inicializan variables como pause para controlar la pausa, cont para contar el estado de la secuencia y ArayLeds que almacena los pines de los LEDs.
  1. Función setup():
  • Configura los pines de los LEDs y del botón.
  • Asocia una interrupción al botón (attachInterrupt) que activará la función interrupcion() cuando el botón se presione.
  • Inicia la comunicación serial y la comunicación con la memoria EEPROM.
  1. Función interrupcion():
  • Se llama cuando se presiona el botón.
  • Invierte el estado de pause, lo que permite pausar o reanudar la secuencia.
  • Si se activa la pausa, se guarda el valor del contador cont en la dirección de memoria address de la EEPROM.
  1. Función loop():
  • Si no está en pausa (pause == 0):
  • Lee el valor almacenado en la EEPROM si ha habido un cambio y se ha desactivado la pausa.
  • Apaga el LED anterior al actual si el contador no está en 0.
  • Enciende el LED actual y avanza al siguiente LED en la secuencia.
  • Reinicia el contador si ha llegado al límite (3 LEDs).
  • Si está en pausa (pause == 1):
  • Apaga todos los LEDs.


Semaforo Esclavo Maestro I2c



ste código controla la secuencia de un semáforo, enviando comandos a través de I2C a otro dispositivo para controlar los LEDs correspondientes a los estados del semáforo. Sin embargo, los detalles específicos de cómo se configura la comunicación I2C y cómo se interpretan los comandos están en las funciones SendSemaforos() y Parpadeo(), las cuales no se presentan en este fragmento de código.

  1. Inclusión de librerías y definición de pines:
  • Se incluye la librería Wire.h para la comunicación I2C.
  • Se definen los pines para los LEDs del semáforo: verde (3), amarillo (4) y rojo (5).
  1. Declaración de variables:
  • contSemaforo: Variable para controlar la secuencia del semáforo.
  • tiempoEspera: Tiempo de espera entre cambios de estado del semáforo.
  • tiempoParpadea: Tiempo de parpadeo del LED.
  • NParpadeo: Número de veces que parpadea el LED.
  1. Función setup():
  • Inicia la comunicación I2C con Wire.begin().
  • Inicia la comunicación serial con Serial.begin(9600).
  • Configura los pines de los LEDs como salidas.
  1. Función loop():
  • Llama a la función secuencia() que controla la secuencia del semáforo.
  1. Función secuencia():
  • Envía comandos a través de I2C utilizando la función SendSemaforos() para
    controlar la secuencia del semáforo en diferentes estados.
  • Activa un patrón específico de encendido y apagado de los LEDs para simular la secuencia del semáforo en cada estado mediante la función Parpadeo().
  1. Comentarios adicionales:
  • Se encuentran líneas de comentarios que indican los diferentes estados del semáforo (S1, S2, S3, S4), pero la lógica de cómo se usan estos estados no está implementada explícitamente en este fragmento de código.

Parece que este código controla la secuencia de un semáforo, enviando comandos a través de I2C a otro dispositivo para controlar los LEDs correspondientes a los estados del semáforo. Sin embargo, los detalles específicos de cómo se configura la comunicación I2C y cómo se interpretan los comandos están en las funciones SendSemaforos() y Parpadeo(), las cuales no se presentan en este fragmento de código.