<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Programación Archives &#8226; HUE CAT INGENIERÍA ESPAÑA</title>
	<atom:link href="https://huecat.es/tag/programacion/feed/" rel="self" type="application/rss+xml" />
	<link>https://huecat.es/tag/programacion/</link>
	<description>Diseño, Programación y Electrónica</description>
	<lastBuildDate>Fri, 30 Jan 2026 02:28:03 +0000</lastBuildDate>
	<language>es</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://huecat.es/wp-content/uploads/2020/10/cropped-huecat-logo-1-1-512-32x32.png</url>
	<title>Programación Archives &#8226; HUE CAT INGENIERÍA ESPAÑA</title>
	<link>https://huecat.es/tag/programacion/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Manual de Ingeniería: Buck Converter PID</title>
		<link>https://huecat.es/manual-de-ingenieria-buck-converter-pid/</link>
					<comments>https://huecat.es/manual-de-ingenieria-buck-converter-pid/#respond</comments>
		
		<dc:creator><![CDATA[HUECAT]]></dc:creator>
		<pubDate>Wed, 21 Jan 2026 15:15:36 +0000</pubDate>
				<category><![CDATA[Arduino]]></category>
		<category><![CDATA[Electrónica]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[Arduino IDE]]></category>
		<category><![CDATA[Buck]]></category>
		<category><![CDATA[DC]]></category>
		<category><![CDATA[IDE]]></category>
		<guid isPermaLink="false">https://huecat.es/?p=7633</guid>

					<description><![CDATA[<p>Vin12.0 V Vout5.0 V Inductor100 µH Switching50 kHz Documentación técnica para la implementación de un convertidor DC-DC Buck (Step-down) utilizando control digital PID en lazo cerrado. El sistema migra de una simulación HIL (Hardware-in-the-Loop) en MATLAB a una ejecución standalone en microcontrolador AVR (Arduino). 1. Lista de Materiales, Bill of Materials (BOM) Componente Especificación Crítica [&#8230;]</p>
<p>The post <a href="https://huecat.es/manual-de-ingenieria-buck-converter-pid/">Manual de Ingeniería: Buck Converter PID</a> appeared first on <a href="https://huecat.es">HUE CAT INGENIERÍA ESPAÑA</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-image size-medium is-resized is-style-default"><img fetchpriority="high" decoding="async" width="300" height="294" src="https://huecat.es/wp-content/uploads/2026/01/image-300x294.png" alt="" class="wp-image-7721" style="aspect-ratio:1.020501138952164;width:221px;height:auto" srcset="https://huecat.es/wp-content/uploads/2026/01/image-300x294.png 300w, https://huecat.es/wp-content/uploads/2026/01/image-768x753.png 768w, https://huecat.es/wp-content/uploads/2026/01/image-600x588.png 600w, https://huecat.es/wp-content/uploads/2026/01/image.png 946w" sizes="(max-width: 300px) 100vw, 300px" /></figure>


<p><style>
    .tech-doc-wrapper {<br />
        font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;<br />
        background-color: #121212;<br />
        color: #e0e0e0;<br />
        padding: 30px;<br />
        border-radius: 8px;<br />
        line-height: 1.6;<br />
        max-width: 100%;<br />
    }</p>
<p>    .tech-doc-wrapper h2 {<br />
        color: #ffffff;<br />
        border-bottom: 2px solid #3b82f6;<br />
        padding-bottom: 10px;<br />
        margin-top: 40px;<br />
        font-size: 1.5rem;<br />
        text-transform: uppercase;<br />
        letter-spacing: 0.05em;<br />
    }</p>
<p>    .tech-doc-wrapper h3 {<br />
        color: #60a5fa;<br />
        margin-top: 25px;<br />
        font-size: 1.1rem;<br />
    }</p>
<p>    /* Grid de Especificaciones */<br />
    .specs-grid {<br />
        display: grid;<br />
        grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));<br />
        gap: 15px;<br />
        margin-bottom: 30px;<br />
    }</p>
<p>    .spec-card {<br />
        background: #1e1e1e;<br />
        padding: 15px;<br />
        border: 1px solid #333;<br />
        border-radius: 4px;<br />
        text-align: center;<br />
    }</p>
<p>    .spec-card strong {<br />
        display: block;<br />
        color: #a1a1aa;<br />
        font-size: 0.8rem;<br />
        margin-bottom: 5px;<br />
    }</p>
<p>    .spec-card span {<br />
        font-family: "Consolas", monospace;<br />
        font-size: 1.2rem;<br />
        color: #fff;<br />
    }</p>
<p>    /* Tablas */<br />
    .tech-table {<br />
        width: 100%;<br />
        border-collapse: collapse;<br />
        margin: 20px 0;<br />
        background: #1e1e1e;<br />
        font-size: 0.9rem;<br />
    }</p>
<p>    .tech-table th, .tech-table td {<br />
        padding: 12px;<br />
        border-bottom: 1px solid #333;<br />
        text-align: left;<br />
    }</p>
<p>    .tech-table th {<br />
        color: #60a5fa;<br />
        text-transform: uppercase;<br />
        font-size: 0.8rem;<br />
    }</p>
<p>    /* Comparativa */<br />
    .diff-box {<br />
        display: flex;<br />
        flex-wrap: wrap;<br />
        gap: 20px;<br />
        margin-top: 20px;<br />
    }<br />
    .diff-col {<br />
        flex: 1;<br />
        min-width: 280px;<br />
        background: #18181b;<br />
        padding: 20px;<br />
        border-left: 4px solid #333;<br />
    }<br />
    .diff-col.sim { border-color: #eab308; } /* Amarillo */<br />
    .diff-col.real { border-color: #22c55e; } /* Verde */</p>
<p>    /* Bloques de Código */<br />
    .code-block {<br />
        background: #0f0f10; /* Fondo más oscuro para código */<br />
        padding: 20px;<br />
        border-radius: 6px;<br />
        overflow-x: auto;<br />
        border: 1px solid #333;<br />
        font-family: "Consolas", "Monaco", monospace;<br />
        font-size: 0.85rem;<br />
        color: #d4d4d4;<br />
    }</p>
<p>    .code-keyword { color: #c586c0; }<br />
    .code-type { color: #4ec9b0; }<br />
    .code-comment { color: #6a9955; }<br />
    .code-func { color: #dcdcaa; }</p>
<p>    /* Alerta Técnica */<br />
    .tech-alert {<br />
        background: rgba(239, 68, 68, 0.1);<br />
        border: 1px solid #ef4444;<br />
        color: #fca5a5;<br />
        padding: 15px;<br />
        margin: 20px 0;<br />
        border-radius: 4px;<br />
        font-size: 0.9rem;<br />
    }<br />
</style>
</p>
<div class="tech-doc-wrapper">
<div class="specs-grid">
<div class="spec-card"><strong>Vin</strong>12.0 V</div>
<div class="spec-card"><strong>Vout</strong>5.0 V</div>
<div class="spec-card"><strong>Inductor</strong>100 µH</div>
<div class="spec-card"><strong>Switching</strong>50 kHz</div>
</div>
<p>Documentación técnica para la implementación de un convertidor DC-DC Buck (Step-down) utilizando control digital PID en lazo cerrado. El sistema migra de una simulación HIL (Hardware-in-the-Loop) en MATLAB a una ejecución <em>standalone</em> en microcontrolador AVR (Arduino).</p>
<h2>1. Lista de Materiales, Bill of Materials (BOM)</h2>
<table class="tech-table">
<thead>
<tr>
<th>Componente</th>
<th>Especificación Crítica</th>
<th>Función</th>
</tr>
</thead>
<tbody>
<tr>
<td>MCU</td>
<td>ATmega328p (Nano/Uno)</td>
<td>Controlador Digital (PID Discreto)</td>
</tr>
<tr>
<td>MOSFET</td>
<td>IRFZ44N / IRF540</td>
<td>Conmutación de Potencia</td>
</tr>
<tr>
<td>Gate Driver</td>
<td><strong>IR2110 / TC4420</strong></td>
<td>Interfaz TTL 5V a Gate 12V. <em>Esencial para f &gt; 20kHz.</em></td>
</tr>
<tr>
<td>Inductor</td>
<td>100 µH (Núcleo Ferrita)</td>
<td><strong>Isat &gt; 2.5A</strong>. Evitar bobinas de señal SMD.</td>
</tr>
<tr>
<td>Capacitor</td>
<td>33 µF (Low ESR)</td>
<td>Filtrado de rizado de salida.</td>
</tr>
</tbody>
</table>
<div class="tech-alert"><strong>⚠️ Nota de Diseño &#8211; Feedback:</strong><br />El algoritmo PID utiliza una referencia interna de <strong>2.5V</strong>. Para obtener 5V en la salida, es obligatorio implementar un divisor de tensión 2:1 (Resistencias 10kΩ/10kΩ) en el pin de lectura (A0).</div>
<h2>2. Migración: Simulación vs. Hardware Real</h2>
<p>El código base original estaba diseñado como «esclavo» de Simulink. Para el despliegue físico, se modificó la arquitectura de software para eliminar la dependencia del puerto Serial y activar la lectura ADC directa.</p>
<div class="diff-box">
<div class="diff-col sim">
<h3>Versión A: Simulación (HIL)</h3>
<p>El Arduino espera datos de MATLAB para actuar. No funciona solo.</p>
<div class="code-block">if (Serial.available()) {<br />DVout = recepcion(); <span class="code-comment">// Lee valor virtual</span><br />u = PID(DVout);<br />Serial.write(u); <span class="code-comment">// Devuelve dato a PC</span><br />}</div>
</div>
<div class="diff-col real">
<h3>Versión B: Standalone (Real)</h3>
<p>Operación autónoma con lectura de sensores y Anti-Windup activo.</p>
<div class="code-block"><span class="code-comment">// Lee Hardware real</span><br />y = analogRead(A0) * (5.0/1023.0);<br />u = PID(y);<br /><span class="code-comment">// Actúa sobre el MOSFET</span><br />pwmWrite(9, u * 255);</div>
</div>
</div>
<h2>3. Firmware Implementado (C++)</h2>
<p>Código fuente optimizado para despliegue en campo. Se corrigió el error de saturación integral (Windup) que causaba inestabilidad en la versión de simulación.</p>
<div class="code-block">
<pre><span class="code-comment">// Firmware Control Buck PID - v1.0 Release</span>
<span class="code-keyword">#include</span> &lt;pwm.h&gt;

<span class="code-keyword">const</span> <span class="code-type">int</span> PIN_SENSOR = A0;  <span class="code-comment">// Entrada Divisor (Vout/2)</span>
<span class="code-keyword">const</span> <span class="code-type">int</span> PIN_PWM = 9;      <span class="code-comment">// Salida Gate Driver</span>

<span class="code-comment">// Constantes PID (L=100uH, C=33uF)</span>
<span class="code-type">float</span> Kp = 0.272253;
<span class="code-type">float</span> Ti = 0.0015285;
<span class="code-type">float</span> Ts = 20e-6;           <span class="code-comment">// 50kHz Loop</span>

<span class="code-comment">// Variables PID</span>
<span class="code-type">float</span> u = 0.0, u_1 = 0.0;
<span class="code-type">float</span> e = 0.0, e_1 = 0.0;
<span class="code-type">float</span> q0, q1;
<span class="code-type">float</span> Vref = 2.5;           <span class="code-comment">// Target (2.5V leídos = 5.0V reales)</span>

<span class="code-keyword">void</span> <span class="code-func">setup</span>() {
    <span class="code-comment">// Coeficientes Tustin</span>
    q0 = Kp * (1 + (Ts / (2 * Ti)));
    q1 = -Kp * (1 - (Ts / (2 * Ti)));
    
    <span class="code-comment">// Configurar PWM Asíncrono</span>
    InitTimersSafe();
    SetPinFrequencySafe(PIN_PWM, 50000); 
    pinMode(PIN_PWM, OUTPUT);
}

<span class="code-keyword">void</span> <span class="code-func">loop</span>() {
    <span class="code-comment">// 1. Lectura ADC y Normalización</span>
    <span class="code-type">float</span> y_medida = analogRead(PIN_SENSOR) * (5.0 / 1023.0);
    
    <span class="code-comment">// 2. PID Discreto</span>
    e = Vref - y_medida;
    u = u_1 + q0 * e + q1 * e_1;
    
    <span class="code-comment">// 3. Saturación y Anti-Windup (Crítico)</span>
    <span class="code-keyword">if</span> (u &gt; 0.95) u = 0.95; 
    <span class="code-keyword">if</span> (u &lt; 0.00) u = 0.00;
    
    <span class="code-comment">// 4. Actualización Estados</span>
    u_1 = u;
    e_1 = e;
    
    <span class="code-comment">// 5. Actuación</span>
    pwmWrite(PIN_PWM, (<span class="code-type">int</span>)(u * 255));
    
    <span class="code-comment">// Estabilización de Ciclo</span>
    delayMicroseconds(10);
}
</pre>
</div>
</div>

<p>The post <a href="https://huecat.es/manual-de-ingenieria-buck-converter-pid/">Manual de Ingeniería: Buck Converter PID</a> appeared first on <a href="https://huecat.es">HUE CAT INGENIERÍA ESPAÑA</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://huecat.es/manual-de-ingenieria-buck-converter-pid/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Funciones y métodos integrados en Arduino IDE</title>
		<link>https://huecat.es/funciones-y-metodos-integrados-en-arduino-ide/</link>
					<comments>https://huecat.es/funciones-y-metodos-integrados-en-arduino-ide/#comments</comments>
		
		<dc:creator><![CDATA[HUECAT]]></dc:creator>
		<pubDate>Tue, 06 Jun 2023 20:37:18 +0000</pubDate>
				<category><![CDATA[Arduino]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[Sistemas Embebidos]]></category>
		<category><![CDATA[analogWrite]]></category>
		<category><![CDATA[Arduino IDE]]></category>
		<category><![CDATA[digitalRead]]></category>
		<category><![CDATA[digitalWrite]]></category>
		<category><![CDATA[Funciones]]></category>
		<category><![CDATA[Serial]]></category>
		<category><![CDATA[Wire]]></category>
		<guid isPermaLink="false">https://huecat.es/?p=6505</guid>

					<description><![CDATA[<p>Cuando se trata de desarrollar proyectos electrónicos, Arduino IDE se ha convertido en una plataforma popular gracias a sus características únicas y su versatilidad. Además de su similitud con la sintaxis de C y C++, Arduino ofrece una serie de funciones y métodos específicos que permiten interactuar de manera eficiente con los componentes electrónicos. En [&#8230;]</p>
<p>The post <a href="https://huecat.es/funciones-y-metodos-integrados-en-arduino-ide/">Funciones y métodos integrados en Arduino IDE</a> appeared first on <a href="https://huecat.es">HUE CAT INGENIERÍA ESPAÑA</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Cuando se trata de desarrollar proyectos electrónicos, Arduino IDE se ha convertido en una plataforma popular gracias a sus características únicas y su versatilidad. Además de su similitud con la sintaxis de C y C++, Arduino ofrece una serie de funciones y métodos específicos que permiten interactuar de manera eficiente con los componentes electrónicos. En este artículo, destacaremos algunas de las particularidades de Arduino y cómo aprovechar al máximo su potencial en tus proyectos.</p>



<p>Una de las grandes ventajas de Arduino IDE es la amplia variedad de bibliotecas predefinidas disponibles. Estas bibliotecas contienen funciones listas para usar que simplifican la interacción con dispositivos y módulos comunes. Al importar una biblioteca específica, se obtiene acceso instantáneo a métodos que facilitan tareas como leer sensores, controlar motores, comunicarse con pantallas y mucho más. La biblioteca estándar de Arduino es solo el comienzo; existen innumerables bibliotecas de terceros creadas por la comunidad Arduino que ofrecen aún más funcionalidades especializadas.</p>



<p>Además de las bibliotecas, Arduino también ofrece una serie de funciones y métodos integrados que son fundamentales para el desarrollo de proyectos electrónicos. Algunos ejemplos destacados son:</p>



<ol class="wp-block-list">
<li><code>digitalRead()</code> y <code>digitalWrite()</code>: Estas funciones permiten leer y escribir valores digitales en los pines de Arduino. Son esenciales para interactuar con botones, interruptores y otros dispositivos que funcionan con señales digitales.</li>



<li><code>analogRead()</code> y <code>analogWrite()</code>: Arduino también cuenta con pines analógicos, y estas funciones permiten leer y escribir valores analógicos. Son especialmente útiles para trabajar con sensores de luz, temperatura y otros dispositivos que generan señales analógicas.</li>



<li><code>Serial</code>: Arduino tiene soporte para la comunicación serial, lo que permite establecer una conexión con otros dispositivos, como una computadora. La clase <code>Serial</code> ofrece métodos para enviar y recibir datos a través del puerto serie, lo que es esencial para la depuración y la interacción con otros sistemas.</li>



<li><code>Wire</code>: Esta biblioteca permite la comunicación I2C, un protocolo ampliamente utilizado para conectar múltiples dispositivos en un bus de dos hilos. Con los métodos proporcionados por la biblioteca <code>Wire</code>, es posible enviar y recibir datos entre Arduino y otros dispositivos compatibles con I2C.</li>
</ol>



<p>Estas son solo algunas de las particularidades de Arduino que te permitirán aprovechar al máximo su potencial en tus proyectos. Explorar las bibliotecas, funciones y métodos específicos de Arduino te brindará un mayor control sobre tus componentes electrónicos y te permitirá crear proyectos más sofisticados. Además, no olvides que la comunidad Arduino es muy activa, por lo que siempre puedes buscar ejemplos, tutoriales y proyectos similares para inspirarte y aprender nuevas formas de utilizar Arduino en tus creaciones.</p>



<p>En conclusión, al destacar las particularidades de Arduino, como sus funciones y métodos específicos, los lectores podrán comprender mejor cómo aprovechar al máximo el potencial de Arduino en sus proyectos electrónicos. Explorar las bibliotecas predefinidas, aprender sobre las funciones integradas y estar al tanto de la comunidad Arduino te abrir</p>
<p>The post <a href="https://huecat.es/funciones-y-metodos-integrados-en-arduino-ide/">Funciones y métodos integrados en Arduino IDE</a> appeared first on <a href="https://huecat.es">HUE CAT INGENIERÍA ESPAÑA</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://huecat.es/funciones-y-metodos-integrados-en-arduino-ide/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Transmisión Automática CVT para Bicicletas: Control PID y Sensor PAS</title>
		<link>https://huecat.es/bicicleta-que-hace-los-cambios-automaticamente-con-sensor-pas/</link>
					<comments>https://huecat.es/bicicleta-que-hace-los-cambios-automaticamente-con-sensor-pas/#comments</comments>
		
		<dc:creator><![CDATA[HUECAT]]></dc:creator>
		<pubDate>Fri, 26 May 2023 14:04:00 +0000</pubDate>
				<category><![CDATA[Ingeniería mecatrónica]]></category>
		<category><![CDATA[STEM]]></category>
		<category><![CDATA[Arduino]]></category>
		<category><![CDATA[Programación]]></category>
		<guid isPermaLink="false">https://huecat.es/?p=6899</guid>

					<description><![CDATA[<p>Requerimiento: Bicicleta que hace los cambios automáticamente La automatización en la movilidad personal no se limita a los motores eléctricos; la gestión eficiente de la energía mecánica es igual de crítica. Este proyecto aborda la problemática del cambio de marchas manual, que a menudo resulta en una cadencia ineficiente y fatiga prematura del ciclista. El [&#8230;]</p>
<p>The post <a href="https://huecat.es/bicicleta-que-hace-los-cambios-automaticamente-con-sensor-pas/">Transmisión Automática CVT para Bicicletas: Control PID y Sensor PAS</a> appeared first on <a href="https://huecat.es">HUE CAT INGENIERÍA ESPAÑA</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Requerimiento: Bicicleta que hace los cambios automáticamente</p>



<p>La automatización en la movilidad personal no se limita a los motores eléctricos; la gestión eficiente de la energía mecánica es igual de crítica. Este proyecto aborda la problemática del cambio de marchas manual, que a menudo resulta en una cadencia ineficiente y fatiga prematura del ciclista.</p>



<figure class="wp-block-image size-large"><a href="https://huecat.es/wp-content/uploads/2023/05/imagen-1.png"><img decoding="async" width="1024" height="582" src="https://huecat.es/wp-content/uploads/2023/05/imagen-1-1024x582.png" alt="" class="wp-image-7594" srcset="https://huecat.es/wp-content/uploads/2023/05/imagen-1-1024x582.png 1024w, https://huecat.es/wp-content/uploads/2023/05/imagen-1-300x171.png 300w, https://huecat.es/wp-content/uploads/2023/05/imagen-1-768x437.png 768w, https://huecat.es/wp-content/uploads/2023/05/imagen-1-1536x873.png 1536w, https://huecat.es/wp-content/uploads/2023/05/imagen-1-2048x1165.png 2048w, https://huecat.es/wp-content/uploads/2023/05/imagen-1-600x341.png 600w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>



<p>El objetivo fue diseñar un sistema mecatrónico capaz de leer la cadencia de pedaleo en tiempo real y ajustar la relación de transmisión automáticamente. El sistema busca mantener al ciclista en su zona óptima de RPM (Revoluciones Por Minuto), actuando como una caja de cambios inteligente que reacciona antes de que el usuario pierda inercia. No es solo comodidad; es optimización de par y eficiencia energética aplicada a un vehículo de tracción humana.</p>



<p><small>📍 Barcelona</small></p>



<figure class="wp-block-video"><video height="480" style="aspect-ratio: 848 / 480;" width="848" controls src="https://huecat.es/wp-content/uploads/2023/10/mecatronica-ingenieria-arduino-microcontrolador-esp8266.mp4"></video></figure>



<p>Trabajo realizado por Alumno del <a href="https://huecat.es/programa-de-tutorias-hue-cat-para-futuros-ingenieros-y-tecnologos/">Programa de Tutorías HUE CAT para Futuros Ingenieros y Tecnólogos</a></p>



<p><strong>Incluye Sensor PAS, Placa Arduino Uno, Módulo de LCD OLED</strong></p>



<p>El núcleo del sistema se basa en una placa <strong>Arduino Uno</strong> que procesa las señales de un sensor de asistencia al pedaleo (<strong>PAS</strong>). A diferencia de los sistemas comerciales que solo detectan movimiento, aquí se implementó un algoritmo que calcula la frecuencia de los pulsos magnéticos para determinar la cadencia exacta.</p>



<p>La lógica de actuación sigue estos principios:</p>



<ol start="1" class="wp-block-list">
<li><strong>Lectura de Cadencia:</strong> Mediante interrupciones de hardware, se capturan los flancos de señal del sensor PAS para calcular las RPM instantáneas con latencia mínima.</li>



<li><strong>Mapeo de Marchas:</strong> Se definieron umbrales de histéresis para evitar el «baile» de la cadena (cambios constantes e innecesarios). Si la cadencia supera el umbral superior (ej. 80 RPM), el sistema activa el servomotor para endurecer la marcha. Si cae por debajo del umbral inferior (ej. 50 RPM), se reduce la marcha para liberar carga.</li>



<li><strong>Visualización:</strong> Un módulo <strong>OLED</strong> comunica al usuario el estado del sistema: marcha actual, RPM y modo de operación.</li>
</ol>



<figure class="wp-block-image size-full"><a href="https://huecat.es/wp-content/uploads/2023/05/imagen.png"><img decoding="async" width="1024" height="559" src="https://huecat.es/wp-content/uploads/2023/05/imagen.png" alt="" class="wp-image-7590" srcset="https://huecat.es/wp-content/uploads/2023/05/imagen.png 1024w, https://huecat.es/wp-content/uploads/2023/05/imagen-300x164.png 300w, https://huecat.es/wp-content/uploads/2023/05/imagen-768x419.png 768w, https://huecat.es/wp-content/uploads/2023/05/imagen-600x328.png 600w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>



<p>Este desarrollo demuestra cómo componentes estándar, gestionados por un código eficiente, pueden replicar sistemas de transmisión complejos.</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: cpp; title: ; notranslate">
#include &lt;Servo.h&gt;
#include &lt;Wire.h&gt;
#include &lt;Adafruit_SSD1306.h&gt;

// Configuración de Hardware
const int PIN_SENSOR_PAS = 2; // Usamos interrupción 0
const int PIN_SERVO = 9;
Servo desviador;

// Variables de lógica
volatile unsigned long ultimoPulso = 0;
unsigned long rpm = 0;
unsigned long tiempoUltimoCalculo = 0;
int marchaActual = 1;

// Umbrales de Cadencia (Configurables)
const int UMBRAL_SUBIR_MARCHA = 75;
const int UMBRAL_BAJAR_MARCHA = 45;

void setup() {
  Serial.begin(9600);
  desviador.attach(PIN_SERVO);
  pinMode(PIN_SENSOR_PAS, INPUT_PULLUP);
  
  // Interrupción para capturar cada imán del PAS sin detener el loop
  attachInterrupt(digitalPinToInterrupt(PIN_SENSOR_PAS), contarPedaleo, RISING);
}

void loop() {
  // 1. Calcular RPM cada 500ms para estabilidad
  if (millis() - tiempoUltimoCalculo &gt; 500) {
    calcularRPM();
    ajustarTransmision();
    tiempoUltimoCalculo = millis();
  }
  
  // Aquí el procesador está libre para actualizar OLED u otras tareas
}

void contarPedaleo() {
  // Debounce simple y registro de tiempo
  if (millis() - ultimoPulso &gt; 50) { 
    rpm = 60000 / ((millis() - ultimoPulso) * 5); // Asumiendo 5 imanes en el plato
    ultimoPulso = millis();
  }
}

void ajustarTransmision() {
  // Lógica de histéresis para evitar cambios erráticos
  if (rpm &gt; UMBRAL_SUBIR_MARCHA &amp;&amp; marchaActual &lt; 5) {
    marchaActual++;
    moverDesviador(marchaActual);
  } else if (rpm &lt; UMBRAL_BAJAR_MARCHA &amp;&amp; marchaActual &gt; 1 &amp;&amp; rpm &gt; 10) {
    // rpm &gt; 10 evita bajar marchas si la bici está quieta
    marchaActual--;
    moverDesviador(marchaActual);
  }
}

void moverDesviador(int marcha) {
  // Mapeo de ángulos calibrados para cada piñón
  int angulo;
  switch(marcha) {
    case 1: angulo = 10; break;
    case 2: angulo = 35; break;
    case 3: angulo = 60; break;
    // ... completar calibración
    default: angulo = 10;
  }
  desviador.write(angulo);
}
</pre></div><p>The post <a href="https://huecat.es/bicicleta-que-hace-los-cambios-automaticamente-con-sensor-pas/">Transmisión Automática CVT para Bicicletas: Control PID y Sensor PAS</a> appeared first on <a href="https://huecat.es">HUE CAT INGENIERÍA ESPAÑA</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://huecat.es/bicicleta-que-hace-los-cambios-automaticamente-con-sensor-pas/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		<enclosure url="https://huecat.es/wp-content/uploads/2023/10/mecatronica-ingenieria-arduino-microcontrolador-esp8266.mp4" length="17434042" type="video/mp4" />

			</item>
		<item>
		<title>Cómo programar dispositivos electrónicos</title>
		<link>https://huecat.es/como-programar-dispositivos-electronicos/</link>
					<comments>https://huecat.es/como-programar-dispositivos-electronicos/#respond</comments>
		
		<dc:creator><![CDATA[Florencia Nold]]></dc:creator>
		<pubDate>Tue, 08 Jun 2021 00:38:00 +0000</pubDate>
				<category><![CDATA[Programación]]></category>
		<category><![CDATA[componenetes]]></category>
		<category><![CDATA[conexiones]]></category>
		<category><![CDATA[electrónica]]></category>
		<category><![CDATA[ESP32]]></category>
		<guid isPermaLink="false">https://huecat.es/?p=6524</guid>

					<description><![CDATA[<p>Como técnico, programar dispositivos electrónicos es una habilidad crucial para trabajar con dispositivos inteligentes. Ya sea un microcontrolador como el ESP8266 o un dispositivo como la Raspberry Pi, la programación es esencial para crear dispositivos funcionales y eficientes. En este artículo, exploraremos los pasos necesarios para programar dispositivos electrónicos y conectarlos a otros sistemas. También [&#8230;]</p>
<p>The post <a href="https://huecat.es/como-programar-dispositivos-electronicos/">Cómo programar dispositivos electrónicos</a> appeared first on <a href="https://huecat.es">HUE CAT INGENIERÍA ESPAÑA</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Como técnico, programar dispositivos electrónicos es una habilidad crucial para trabajar con dispositivos inteligentes. Ya sea un microcontrolador como el ESP8266 o un dispositivo como la Raspberry Pi, la programación es esencial para crear dispositivos funcionales y eficientes. </p>



<figure class="wp-block-image size-full"><a href="https://huecat.es/wp-content/uploads/2021/06/yo-como-tecnico-electronico-experto-en-espana.jpg"><img decoding="async" width="1024" height="1536" src="https://huecat.es/wp-content/uploads/2021/06/yo-como-tecnico-electronico-experto-en-espana.jpg" alt="" class="wp-image-7205" srcset="https://huecat.es/wp-content/uploads/2021/06/yo-como-tecnico-electronico-experto-en-espana.jpg 1024w, https://huecat.es/wp-content/uploads/2021/06/yo-como-tecnico-electronico-experto-en-espana-200x300.jpg 200w, https://huecat.es/wp-content/uploads/2021/06/yo-como-tecnico-electronico-experto-en-espana-683x1024.jpg 683w, https://huecat.es/wp-content/uploads/2021/06/yo-como-tecnico-electronico-experto-en-espana-768x1152.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>



<p>En este artículo, exploraremos los pasos necesarios para programar dispositivos electrónicos y conectarlos a otros sistemas. También hablaremos de cómo programar utilizando el lenguaje de programación C, así como del software recomendado para las tareas de programación. Sumerjámonos en el mundo de la programación y descubramos cómo crear asombrosos dispositivos inteligentes.</p>



<p></p>



<figure class="wp-block-image size-large"><a href="https://huecat.es/wp-content/uploads/2023/03/ESP32-scaled.jpg"><img decoding="async" width="1024" height="769" src="https://huecat.es/wp-content/uploads/2023/03/ESP32-1024x769.jpg" alt="" class="wp-image-6413" srcset="https://huecat.es/wp-content/uploads/2023/03/ESP32-1024x769.jpg 1024w, https://huecat.es/wp-content/uploads/2023/03/ESP32-300x225.jpg 300w, https://huecat.es/wp-content/uploads/2023/03/ESP32-768x577.jpg 768w, https://huecat.es/wp-content/uploads/2023/03/ESP32-1536x1153.jpg 1536w, https://huecat.es/wp-content/uploads/2023/03/ESP32-2048x1538.jpg 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>



<h2 class="wp-block-heading">Conexiones electrónicas</h2>



<p>La ingeniería electrónica es una habilidad esencial para un técnico, y las conexiones adecuadas son la columna vertebral del éxito de los sistemas. El kit Elegoo proporciona un completo conjunto de herramientas y componentes para construir y programar aparatos electrónicos, incluidos cables y conectores, que deben ser de alta calidad y compatibles con el aparato. Con las conexiones adecuadas, el programa puede cargarse y ejecutarse correctamente, lo que permite controlar el aparato.</p>



<p>Programar aparatos electrónicos requiere saber cómo conectarlos al microcontrolador. ESP8266, Raspberry Pi y Arduino son candidatos potenciales para esta tarea. Para programar el comportamiento del dispositivo, se suele emplear software y lenguaje de programación C. Además, es esencial depurar el código para asegurarse de que el dispositivo funciona correctamente. Se recomiendan KiCAD, ProfiCAD, AutoCAD Electrical 2020 y NI Multisim para la programación, incluida la depuración.</p>



<p>Programar dispositivos electrónicos es un esfuerzo de colaboración que implica múltiples recursos. En el proceso intervienen doce recursos, una presentación, cinco valoraciones y diez asistentes. Trabajar con otros es necesario para garantizar que el dispositivo funciona como se espera y cumple sus especificaciones. Además, con las conexiones adecuadas, es posible integrar aparatos electrónicos con otras tecnologías, como Google Home, para conseguir una experiencia de usuario intuitiva.</p>



<h2 class="wp-block-heading">Programación en C</h2>



<p>Como técnico interesado en codificar componentes electrónicos, es esencial tener un conocimiento profundo de la programación en C. Este lenguaje de programación se utiliza habitualmente para crear firmware para microcontroladores y otro hardware. Una de sus principales ventajas es que otorga a los usuarios un acceso de bajo nivel al hardware, lo que permite un mayor control sobre los dispositivos. Dominando el lenguaje C, puedes programar dispositivos electrónicos con mayor precisión y eficacia.</p>



<p>Si piensas programar dispositivos electrónicos en C, debes obtener un programador compatible con el dispositivo. Un programador es un dispositivo que te permite transferir código a un microcontrolador o a otro hardware. Existe una amplia gama de programadores, cada uno con sus propias ventajas e inconvenientes. Elegir el mejor programador para tu proyecto es esencial para que sea un éxito.</p>



<p>Para iniciarse en la programación en C, es importante dedicar tiempo a aprender los fundamentos del lenguaje. Hay varios recursos disponibles en Internet, como tutoriales, vídeos y foros, que pueden ayudarte con esto. Además, tener acceso a herramientas de software como compiladores y depuradores puede ayudarte a escribir y probar tu código. Con los recursos y herramientas adecuados, puedes convertirte en un experto en codificación de dispositivos electrónicos utilizando el lenguaje C.</p>



<h2 class="wp-block-heading">Mecatrónica y diseño industrial</h2>



<p>La mecatrónica y el diseño industrial han revolucionado la forma en que interactuamos con los aparatos electrónicos. Para tener éxito en este campo, los técnicos deben ser expertos en lenguajes de codificación, ingeniería electrónica e ingeniería mecánica. Con la ayuda de microcontroladores como Arduino y Raspberry Pi, pueden crear dispositivos electrónicos únicos que cumplan las especificaciones deseadas. Es esencial que estos artilugios electrónicos estén correctamente programados para realizar las tareas previstas, lo que requiere comprender su comportamiento y programarlos en consecuencia.</p>



<p>Para destacar en mecatrónica y diseño industrial, es esencial dominar el lenguaje de programación. El lenguaje de programación C es uno de los lenguajes de codificación más utilizados en este campo. Es un lenguaje de alto nivel sencillo de aprender y aplicar. Los programadores lo utilizan para desarrollar programas complejos que se comunican con aparatos electrónicos y sensores.</p>



<p>El diseño de aparatos electrónicos también requiere un gran conocimiento del aspecto mecánico del aparato. Los técnicos tienen que asegurarse de que el aparato sea estéticamente agradable y eficiente. Para conseguirlo, tienen que conocer los principios del diseño mecánico y las prácticas de producción. Se utiliza software como KiCAD, ProfiCAD, AutoCAD Electrical 2020 y NI Multisim para generar modelos 3D del aparato. Además, se emplea software CAD para construir los componentes electrónicos y los circuitos del dispositivo.</p>



<p>A medida que avanza la tecnología, los diseñadores mecatrónicos e industriales deben mantenerse al día de las nuevas tendencias y tecnologías. Se les anima a asistir a conferencias y talleres para conocer los últimos lenguajes y técnicas de codificación. Es aconsejable establecer contactos con otros profesionales del sector para intercambiar información y experiencias. A medida que siga aumentando la demanda de aparatos electrónicos personalizados, los técnicos en mecatrónica y diseño industrial tendrán un papel más importante en la industria electrónica.</p>
<p>The post <a href="https://huecat.es/como-programar-dispositivos-electronicos/">Cómo programar dispositivos electrónicos</a> appeared first on <a href="https://huecat.es">HUE CAT INGENIERÍA ESPAÑA</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://huecat.es/como-programar-dispositivos-electronicos/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>¿Cómo funciona el wifiManager? para ESP32/ESP8266</title>
		<link>https://huecat.es/como-funciona-el-wifimanager-para-esp32-esp8266/</link>
					<comments>https://huecat.es/como-funciona-el-wifimanager-para-esp32-esp8266/#comments</comments>
		
		<dc:creator><![CDATA[HUECAT]]></dc:creator>
		<pubDate>Fri, 23 Apr 2021 14:29:00 +0000</pubDate>
				<category><![CDATA[Arduino]]></category>
		<category><![CDATA[ESP32]]></category>
		<category><![CDATA[ESP8266]]></category>
		<category><![CDATA[IoT]]></category>
		<category><![CDATA[Sistemas Embebidos]]></category>
		<category><![CDATA[Programación]]></category>
		<guid isPermaLink="false">https://huecat.es/?p=6611</guid>

					<description><![CDATA[<p>La librería WiFiManager simplifica el proceso de configuración y gestión de conexiones WiFi en los módulos ESP32 y ESP8266. Proporciona una forma fácil de configurar y almacenar las credenciales de red WiFi, permitiendo que los dispositivos se conecten a las redes de manera autónoma y se recuperen de forma automática en caso de desconexiones. El [&#8230;]</p>
<p>The post <a href="https://huecat.es/como-funciona-el-wifimanager-para-esp32-esp8266/">¿Cómo funciona el wifiManager? para ESP32/ESP8266</a> appeared first on <a href="https://huecat.es">HUE CAT INGENIERÍA ESPAÑA</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>La librería WiFiManager simplifica el proceso de configuración y gestión de conexiones WiFi en los módulos ESP32 y ESP8266. Proporciona una forma fácil de configurar y almacenar las credenciales de red WiFi, permitiendo que los dispositivos se conecten a las redes de manera autónoma y se recuperen de forma automática en caso de desconexiones.</p>



<figure class="wp-block-image size-full"><a href="https://huecat.es/wp-content/uploads/2023/06/ESP32-ESP8266-wi-fi-manager-web-server-how-it-works.webp"><img decoding="async" width="735" height="827" src="https://huecat.es/wp-content/uploads/2023/06/ESP32-ESP8266-wi-fi-manager-web-server-how-it-works.webp" alt="" class="wp-image-6612" srcset="https://huecat.es/wp-content/uploads/2023/06/ESP32-ESP8266-wi-fi-manager-web-server-how-it-works.webp 735w, https://huecat.es/wp-content/uploads/2023/06/ESP32-ESP8266-wi-fi-manager-web-server-how-it-works-267x300.webp 267w" sizes="(max-width: 735px) 100vw, 735px" /></a></figure>



<p>El «WiFiManager» es una biblioteca diseñada para facilitar la configuración y administración del Wi-Fi en dispositivos IoT basados en los microcontroladores ESP32 y ESP8266. Esta biblioteca ofrece una forma conveniente de crear un portal de configuración basado en la web, lo que permite a los usuarios ingresar las credenciales de Wi-Fi sin necesidad de cargar un nuevo código en el dispositivo.</p>



<p>El proceso de funcionamiento del WiFiManager se puede describir en los siguientes pasos:</p>



<ol class="wp-block-list">
<li>Inclusión de la biblioteca: En primer lugar, es necesario incluir la biblioteca WiFiManager en el proyecto. Esto se puede realizar descargando e instalando la biblioteca desde el administrador de bibliotecas de Arduino IDE o mediante el uso de un gestor de paquetes como PlatformIO.</li>



<li>Creación de una instancia del WiFiManager: Se crea una instancia del objeto WiFiManager en el código del proyecto.</li>
</ol>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: cpp; title: ; notranslate">
#include &lt;WiFiManager.h&gt;

WiFiManager wifiManager;

</pre></div>


<h3 class="wp-block-heading">Inicialización y conexión:</h3>



<p> Antes de utilizar el WiFiManager, es necesario inicializarlo y conectarlo al punto de acceso Wi-Fi existente. Si se encuentran credenciales de Wi-Fi almacenadas previamente, el dispositivo se conectará automáticamente. En caso contrario, se iniciará el portal de configuración.</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
void setup() {
  // Inicializar el WiFiManager
  wifiManager.autoConnect(&quot;MiDispositivo&quot;);

  // Resto del código de configuración o funcionalidad
}
</pre></div>


<p>En el ejemplo anterior, «MiDispositivo» es el nombre del punto de acceso que se creará si no se encuentran credenciales de Wi-Fi almacenadas. Este nombre puede modificarse según las preferencias del usuario.</p>



<h3 class="wp-block-heading">Portal de configuración:</h3>



<p> Si no se encuentran credenciales de Wi-Fi almacenadas, el WiFiManager iniciará un portal de configuración. Esto implica que el ESP32/ESP8266 actuará como un punto de acceso Wi-Fi al cual es posible conectarse desde un dispositivo móvil o una computadora.</p>



<p></p>



<p>Al conectarse a este punto de acceso, se abrirá automáticamente una página de configuración basada en la web, donde los usuarios pueden ingresar las credenciales de su red Wi-Fi. Una vez que las credenciales se ingresen y envíen, el ESP32/ESP8266 se conectará a la red Wi-Fi especificada y recordará estas credenciales para futuros usos.</p>



<h3 class="wp-block-heading">Almacenamiento de la configuración: </h3>



<p>Después de que el WiFiManager se conecte exitosamente a la red Wi-Fi especificada, almacenará las credenciales en la memoria no volátil del dispositivo (por ejemplo, en el ESP32/ESP8266). Esto permite que las credenciales se utilicen en las próximas ejecuciones, sin necesidad de ingresarlas nuevamente cada vez que se reinicie el dispositivo.</p>
<p>The post <a href="https://huecat.es/como-funciona-el-wifimanager-para-esp32-esp8266/">¿Cómo funciona el wifiManager? para ESP32/ESP8266</a> appeared first on <a href="https://huecat.es">HUE CAT INGENIERÍA ESPAÑA</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://huecat.es/como-funciona-el-wifimanager-para-esp32-esp8266/feed/</wfw:commentRss>
			<slash:comments>8</slash:comments>
		
		
			</item>
		<item>
		<title>Driver LED: Barra con tecnología Indexable</title>
		<link>https://huecat.es/design-cheba-diseno-cheba-indexable-driver-barcelona-spain-esp8266-microcontroller-lamp/</link>
		
		<dc:creator><![CDATA[HUECAT]]></dc:creator>
		<pubDate>Fri, 29 Nov 2019 20:33:00 +0000</pubDate>
				<category><![CDATA[Diseño de producto]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[Diseño de PCB]]></category>
		<category><![CDATA[Trabajos Realizados]]></category>
		<guid isPermaLink="false">https://hue.cat/?p=264</guid>

					<description><![CDATA[<p>BCN/2019. uC, sensor de movimiento, control por ENCODER/DIAL retroiluminado</p>
<p>The post <a href="https://huecat.es/design-cheba-diseno-cheba-indexable-driver-barcelona-spain-esp8266-microcontroller-lamp/">Driver LED: Barra con tecnología Indexable</a> appeared first on <a href="https://huecat.es">HUE CAT INGENIERÍA ESPAÑA</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>BCN/2019. uC, sensor de movimiento, control por ENCODER/DIAL retroiluminado</p>



<p></p>



<p></p>



<p></p>
<p>The post <a href="https://huecat.es/design-cheba-diseno-cheba-indexable-driver-barcelona-spain-esp8266-microcontroller-lamp/">Driver LED: Barra con tecnología Indexable</a> appeared first on <a href="https://huecat.es">HUE CAT INGENIERÍA ESPAÑA</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Cómo medir temperatura y humedad con Arduino y los sensores DHT11-DHT22</title>
		<link>https://huecat.es/medir-temperatura-y-humedad-con-dht-11-dht-22-arduino-ide-microcontrolador-programacion-espana-clases-y-tutorias/</link>
					<comments>https://huecat.es/medir-temperatura-y-humedad-con-dht-11-dht-22-arduino-ide-microcontrolador-programacion-espana-clases-y-tutorias/#comments</comments>
		
		<dc:creator><![CDATA[HUECAT]]></dc:creator>
		<pubDate>Thu, 04 Jan 2018 01:17:00 +0000</pubDate>
				<category><![CDATA[Arduino]]></category>
		<category><![CDATA[Electrónica]]></category>
		<category><![CDATA[IDE]]></category>
		<category><![CDATA[Programación]]></category>
		<guid isPermaLink="false">https://huecat.es/?p=6484</guid>

					<description><![CDATA[<p>Medir la temperatura y la humedad es una tarea común en muchos proyectos de electrónica y automatización del hogar. En este tutorial, te mostraré cómo utilizar Arduino en combinación con los sensores de temperatura y humedad DHT11 y DHT22 para obtener lecturas precisas de estos parámetros ambientales. Estos sensores son ampliamente utilizados debido a su [&#8230;]</p>
<p>The post <a href="https://huecat.es/medir-temperatura-y-humedad-con-dht-11-dht-22-arduino-ide-microcontrolador-programacion-espana-clases-y-tutorias/">Cómo medir temperatura y humedad con Arduino y los sensores DHT11-DHT22</a> appeared first on <a href="https://huecat.es">HUE CAT INGENIERÍA ESPAÑA</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Medir la temperatura y la humedad es una tarea común en muchos proyectos de electrónica y automatización del hogar. En este tutorial, te mostraré cómo utilizar Arduino en combinación con los sensores de temperatura y humedad DHT11 y DHT22 para obtener lecturas precisas de estos parámetros ambientales. Estos sensores son ampliamente utilizados debido a su costo asequible, su facilidad de uso y su precisión razonable.</p>



<figure class="wp-block-image size-full"><a href="https://huecat.es/wp-content/uploads/2023/05/Sensori-DHT11-e-DHT22.jpg"><img decoding="async" width="982" height="351" src="https://huecat.es/wp-content/uploads/2023/05/Sensori-DHT11-e-DHT22.jpg" alt="" class="wp-image-6491" srcset="https://huecat.es/wp-content/uploads/2023/05/Sensori-DHT11-e-DHT22.jpg 982w, https://huecat.es/wp-content/uploads/2023/05/Sensori-DHT11-e-DHT22-300x107.jpg 300w, https://huecat.es/wp-content/uploads/2023/05/Sensori-DHT11-e-DHT22-768x275.jpg 768w" sizes="(max-width: 982px) 100vw, 982px" /></a></figure>



<p></p>



<p>Materiales necesarios:</p>



<ul class="wp-block-list">
<li>Placa de desarrollo tipo (por ejemplo, Arduino UNO)</li>



<li>Sensor DHT11 o DHT22</li>



<li>Resistencia de 10k ohmios</li>



<li>Protoboard o breadboard</li>



<li>Cables de conexión</li>
</ul>



<p>Paso 1: Conexiones eléctricas Conecta el sensor DHT11 o DHT22 a la placa Arduino según el siguiente esquema:</p>



<ul class="wp-block-list">
<li>Conecta el pin de datos del sensor (generalmente marcado como «out» o «data») al pin digital 2 de Arduino.</li>



<li>Conecta la alimentación del sensor (VCC) al pin de 5V de la <a href="https://huecat.es/la-placa-de-desarrollo/" target="_blank" rel="noreferrer noopener">placa de desarrollo</a>.</li>



<li>Conecta el pin de tierra del sensor (GND) al pin GND del circuito.</li>



<li>Si se está utilizando el sensor DHT22, conectar una resistencia de 10k ohmios entre el pin de datos y el pin de alimentación (VCC).</li>
</ul>



<p></p>



<p>Paso 2: Código de programación Abre el entorno de desarrollo de Arduino IDE y crea un nuevo proyecto. Asegúrate de tener instalada la biblioteca «DHT» en tu entorno. Luego, copia y pega el siguiente código:</p>



<figure class="wp-block-image size-full"><a href="https://huecat.es/wp-content/uploads/2023/09/sketch_sep02a-Arduino-1.8.19-02_09_2023-23_10_46.png"><img decoding="async" width="784" height="411" src="https://huecat.es/wp-content/uploads/2023/09/sketch_sep02a-Arduino-1.8.19-02_09_2023-23_10_46.png" alt="" class="wp-image-6800" srcset="https://huecat.es/wp-content/uploads/2023/09/sketch_sep02a-Arduino-1.8.19-02_09_2023-23_10_46.png 784w, https://huecat.es/wp-content/uploads/2023/09/sketch_sep02a-Arduino-1.8.19-02_09_2023-23_10_46-300x157.png 300w, https://huecat.es/wp-content/uploads/2023/09/sketch_sep02a-Arduino-1.8.19-02_09_2023-23_10_46-768x403.png 768w" sizes="(max-width: 784px) 100vw, 784px" /></a></figure>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: cpp; title: ; notranslate">
#include &lt;DHT.h&gt;

#define DHTPIN 2 // Pin digital al que está conectado el sensor
#define DHTTYPE DHT11 // Si utilizas el DHT22, cambia esta línea por DHT22

DHT dht(DHTPIN, DHTTYPE);

void setup() {
  Serial.begin(9600);
  dht.begin();
}

void loop() {
  float humidity = dht.readHumidity();
  float temperature = dht.readTemperature();

  if (isnan(humidity) || isnan(temperature)) {
    Serial.println(&quot;Error al leer el sensor DHT!&quot;);
    return;
  }

  Serial.print(&quot;Humedad: &quot;);
  Serial.print(humidity);
  Serial.print(&quot;% - Temperatura: &quot;);
  Serial.print(temperature);
  Serial.println(&quot;°C&quot;);

  delay(2000); // Espera 2 segundos antes de tomar la siguiente lectura
}

</pre></div>


<p>Paso 3: Compilar y cargar el programa Verifica que la placa Arduino esté conectada correctamente a tu computadora y selecciona el tipo de placa y puerto en el entorno de Arduino. Luego, compila y carga el programa en la placa.</p>



<p>Paso 4: Verificación y lecturas Una vez cargado el programa, abre el monitor serial en el entorno de Arduino. Deberías comenzar a ver las lecturas de temperatura y humedad que se actualizan cada 2 segundos.</p>



<p>Conclusión: En este tutorial, aprendiste cómo utilizar Arduino y los sensores DHT11 y DHT22 para medir la temperatura y la humedad ambiental. Puedes utilizar esta información para una amplia gama de proyectos, como sistemas de monitoreo climático, control de invernaderos, etc.</p>
<p>The post <a href="https://huecat.es/medir-temperatura-y-humedad-con-dht-11-dht-22-arduino-ide-microcontrolador-programacion-espana-clases-y-tutorias/">Cómo medir temperatura y humedad con Arduino y los sensores DHT11-DHT22</a> appeared first on <a href="https://huecat.es">HUE CAT INGENIERÍA ESPAÑA</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://huecat.es/medir-temperatura-y-humedad-con-dht-11-dht-22-arduino-ide-microcontrolador-programacion-espana-clases-y-tutorias/feed/</wfw:commentRss>
			<slash:comments>5</slash:comments>
		
		
			</item>
	</channel>
</rss>
