<?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>Arduino Archives &#8226; HUE CAT INGENIERÍA ESPAÑA</title>
	<atom:link href="https://huecat.es/category/tecnologia-es/arduino/feed/" rel="self" type="application/rss+xml" />
	<link>https://huecat.es/category/tecnologia-es/arduino/</link>
	<description>Diseño, Programación y Electrónica</description>
	<lastBuildDate>Mon, 02 Feb 2026 14:10: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>Arduino Archives &#8226; HUE CAT INGENIERÍA ESPAÑA</title>
	<link>https://huecat.es/category/tecnologia-es/arduino/</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>Etiquetadora de bolsas para empresa en España</title>
		<link>https://huecat.es/etiquetadora-de-bolsas-para-empresa-en-espana/</link>
					<comments>https://huecat.es/etiquetadora-de-bolsas-para-empresa-en-espana/#respond</comments>
		
		<dc:creator><![CDATA[HUECAT]]></dc:creator>
		<pubDate>Fri, 30 May 2025 13:04:00 +0000</pubDate>
				<category><![CDATA[Arduino]]></category>
		<category><![CDATA[Tubo T5]]></category>
		<guid isPermaLink="false">https://huecat.es/?p=7734</guid>

					<description><![CDATA[<p>La Anatomía del Control El sistema se divide en dos motores paso a paso que actúan como el músculo de la operación. Mientras el Motor 1 (Yugo) gestiona la presión mecánica para el sellado, el Motor 2 (Bolsa) controla el avance del material. No hay azar aquí: el sensor óptico busca una marca física en [&#8230;]</p>
<p>The post <a href="https://huecat.es/etiquetadora-de-bolsas-para-empresa-en-espana/">Etiquetadora de bolsas para empresa en España</a> appeared first on <a href="https://huecat.es">HUE CAT INGENIERÍA ESPAÑA</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p></p>



<figure class="wp-block-image size-full is-resized"><a href="https://huecat.es/wp-content/uploads/2026/01/impresora-imagen-destacada-proyecto.jpg"><img decoding="async" width="519" height="497" src="https://huecat.es/wp-content/uploads/2026/01/impresora-imagen-destacada-proyecto.jpg" alt="" class="wp-image-7735" style="aspect-ratio:1.0442998176444696;width:519px;height:auto" srcset="https://huecat.es/wp-content/uploads/2026/01/impresora-imagen-destacada-proyecto.jpg 519w, https://huecat.es/wp-content/uploads/2026/01/impresora-imagen-destacada-proyecto-300x287.jpg 300w" sizes="(max-width: 519px) 100vw, 519px" /></a></figure>



<h3 class="wp-block-heading">La Anatomía del Control</h3>



<p>El sistema se divide en dos motores paso a paso que actúan como el músculo de la operación. Mientras el <strong>Motor 1 (Yugo)</strong> gestiona la presión mecánica para el sellado, el <strong>Motor 2 (Bolsa)</strong> controla el avance del material. No hay azar aquí: el sensor óptico busca una marca física en el plástico; si no la encuentra en unos segundos, el sistema se bloquea.</p>



<h3 class="wp-block-heading">El Riesgo del Calor</h3>



<p>Un termopar <strong>MAX6675</strong> vigila la resistencia. Si la temperatura cruza el umbral de seguridad, el sistema ejecuta un <code>apagarTodo()</code>. En una línea de producción, el tiempo de inactividad es pérdida, pero la fundición del equipo es un fracaso administrativo. El sellado ocurre en una ventana de milisegundos donde la energía se convierte en cierre hermético.</p>



<p></p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: cpp; title: ; notranslate">
/*
 * PROYECTO: Embolsadora y Etiquetadora Automatizada (Versión Industrial)
 * CLIENTE: Empresa España
 * DESCRIPCIÓN: Sistema de control de estados asincrónico para sellado térmico y etiquetado.
 * LÓGICA: No bloqueante (Zero-Delay) para garantizar seguridad activa.
 */

#include &lt;SPI.h&gt;
#include &quot;max6675.h&quot;

// --- CONFIGURACIÓN DE PINES ---
#define STEP_PIN1 32 
#define DIR_PIN1 33 
#define ENABLE_PIN1 25 
#define STEP_PIN2 27 
#define DIR_PIN2 26 
#define ENABLE_PIN2 13 

#define SWITCH_1 36
#define SWITCH_2 21
#define SWITCH_3 22
#define ENDSTOP 39
#define SENSOR_BOLSA 35

#define RELAY_RESISTENCIA 23
#define RELAY_YUGO 15
#define RELAY_IMP_ABRIR 4
#define RELAY_IMPRESION 17

// --- PARÁMETROS TÉCNICOS ---
const float TEMP_UMBRAL_SELLADO = 180.0;
const float TEMP_MAX_SEGURIDAD = 240.0;
const int YUGO_MAX_PASOS = 550;
const unsigned long TIMEOUT_BOLSA = 7500; // ms

// --- VARIABLES DE ESTADO ---
int estado = 1;
unsigned long estadoStartTime = 0;
MAX6675 termopar(18, 16, 19); // SCK, CS, SO

void setup() {
  Serial.begin(115200);
  configurarHardware();
  Serial.println(&quot;SISTEMA INICIALIZADO - MODO SEGURIDAD ACTIVA&quot;);
}

void loop() {
  monitorearTemperatura(); // Siempre activo, sin importar el estado
  procesarMotores();       // Movimiento asincrónico
  maquinaDeEstados();      // Lógica principal
}

// --- LÓGICA DE CONTROL (MÁQUINA DE ESTADOS) ---
void maquinaDeEstados() {
  switch (estado) {
    case 1: // Standby
      if (digitalRead(SWITCH_1) == LOW) cambiarEstado(2);
      break;

    case 2: // Calibración inicial
      moverMotores(1, true, false, YUGO_MAX_PASOS);
      cambiarEstado(3);
      break;

    case 13: // Pre-calentamiento (Cero Delays)
      digitalWrite(RELAY_RESISTENCIA, LOW);
      if (millis() - estadoStartTime &gt;= 100) {
        cambiarEstado(14);
      }
      break;

    case 14: // Sellado activo y presión de yugo
      digitalWrite(RELAY_YUGO, LOW);
      if (millis() - estadoStartTime &gt;= 600) { // Tiempo de sellado
        digitalWrite(RELAY_RESISTENCIA, HIGH);
        digitalWrite(RELAY_YUGO, HIGH);
        cambiarEstado(15);
      }
      break;

    case 16: // Pulso de impresión
      digitalWrite(RELAY_IMPRESION, LOW);
      if (millis() - estadoStartTime &gt;= 500) {
        digitalWrite(RELAY_IMPRESION, HIGH);
        cambiarEstado(10); // Reiniciar ciclo
      }
      break;

    case 20: // EMERGENCIA
      apagarTodo();
      break;
  }
}

// --- FUNCIONES DE SEGURIDAD ---
void monitorearTemperatura() {
  static unsigned long lastCheck = 0;
  if (millis() - lastCheck &gt; 100) {
    float t = termopar.readCelsius();
    if (t &gt; TEMP_MAX_SEGURIDAD || isnan(t)) {
      Serial.println(&quot;ERROR CRÍTICO: TEMPERATURA FUERA DE RANGO&quot;);
      cambiarEstado(20);
    }
    lastCheck = millis();
  }
}

void cambiarEstado(int nuevoEstado) {
  estado = nuevoEstado;
  estadoStartTime = millis();
  Serial.printf(&quot;Transición a Estado: %d\n&quot;, nuevoEstado);
}

void apagarTodo() {
  digitalWrite(RELAY_RESISTENCIA, HIGH);
  digitalWrite(RELAY_YUGO, HIGH);
  digitalWrite(RELAY_IMPRESION, HIGH);
  digitalWrite(ENABLE_PIN1, HIGH);
  digitalWrite(ENABLE_PIN2, HIGH);
  estado = 0;
}

void configurarHardware() {
  pinMode(RELAY_RESISTENCIA, OUTPUT); digitalWrite(RELAY_RESISTENCIA, HIGH);
  pinMode(RELAY_YUGO, OUTPUT);        digitalWrite(RELAY_YUGO, HIGH);
  pinMode(RELAY_IMPRESION, OUTPUT);   digitalWrite(RELAY_IMPRESION, HIGH);
  pinMode(ENABLE_PIN1, OUTPUT);       digitalWrite(ENABLE_PIN1, HIGH);
  pinMode(ENABLE_PIN2, OUTPUT);       digitalWrite(ENABLE_PIN2, HIGH);
  // ... resto de pines de motores y sensores
}

// Implementación de moverMotores y bachMotores (asincrónicos)...
</pre></div>


<p></p>
<p>The post <a href="https://huecat.es/etiquetadora-de-bolsas-para-empresa-en-espana/">Etiquetadora de bolsas para empresa en España</a> appeared first on <a href="https://huecat.es">HUE CAT INGENIERÍA ESPAÑA</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://huecat.es/etiquetadora-de-bolsas-para-empresa-en-espana/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>Sintaxis de código Arduino IDE</title>
		<link>https://huecat.es/sintaxis-de-codigo-arduino/</link>
					<comments>https://huecat.es/sintaxis-de-codigo-arduino/#comments</comments>
		
		<dc:creator><![CDATA[HUECAT]]></dc:creator>
		<pubDate>Sat, 06 May 2023 20:21:44 +0000</pubDate>
				<category><![CDATA[Arduino]]></category>
		<category><![CDATA[Programación]]></category>
		<guid isPermaLink="false">https://huecat.es/?p=6499</guid>

					<description><![CDATA[<p>Arduino IDE utiliza un lenguaje de programación basado en el estándar de C++, aunque proporciona una serie de funciones y bibliotecas específicas para facilitar la interacción con los componentes electrónicos. Aunque existen algunas diferencias y limitaciones en comparación con el C++ estándar, los principios básicos de la sintaxis son los mismos. La sintaxis general para [&#8230;]</p>
<p>The post <a href="https://huecat.es/sintaxis-de-codigo-arduino/">Sintaxis de código Arduino IDE</a> appeared first on <a href="https://huecat.es">HUE CAT INGENIERÍA ESPAÑA</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="has-medium-font-size">Arduino IDE utiliza un lenguaje de programación basado en el estándar de C++, aunque proporciona una serie de funciones y bibliotecas específicas para facilitar la interacción con los componentes electrónicos. Aunque existen algunas diferencias y limitaciones en comparación con el C++ estándar, los principios básicos de la sintaxis son los mismos.</p>



<figure class="wp-block-image size-full"><a href="https://huecat.es/wp-content/uploads/2023/05/logaritmos-arduino-ide.jpg"><img decoding="async" width="1024" height="322" src="https://huecat.es/wp-content/uploads/2023/05/logaritmos-arduino-ide.jpg" alt="" class="wp-image-6676" srcset="https://huecat.es/wp-content/uploads/2023/05/logaritmos-arduino-ide.jpg 1024w, https://huecat.es/wp-content/uploads/2023/05/logaritmos-arduino-ide-300x94.jpg 300w, https://huecat.es/wp-content/uploads/2023/05/logaritmos-arduino-ide-768x242.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>



<p class="has-medium-font-size">La sintaxis general para escribir el programa Arduino es casi similar a la del C y C++ ordinario. Aquellos que estén familiarizados con el C y C++ básico podrán comenzar a utilizarlo fácilmente.</p>



<p></p>



<p>Un programa Arduino se estructura principalmente en dos funciones: <code>setup()</code> y <code>loop()</code>. La función <code>setup()</code> se ejecuta una sola vez al inicio del programa y se utiliza para realizar la configuración inicial, como la inicialización de pines y la configuración de la comunicación serial. La función <code>loop()</code> es la parte principal del programa y se ejecuta continuamente en un ciclo infinito después de que <code>setup()</code> ha finalizado. Aquí es donde se colocan las instrucciones que se deben repetir una y otra vez, como leer sensores, tomar decisiones y controlar los actuadores.</p>



<p>La mayoría de las instrucciones en Arduino IDE siguen la estructura de la programación en C y C++. Por ejemplo, para asignar un valor a una variable, se utiliza el operador de asignación (<code>=</code>). Los operadores aritméticos como suma (<code>+</code>), resta (<code>-</code>), multiplicación (<code>*</code>), división (<code>/</code>) y módulo (<code>%</code>) también se utilizan de la misma manera.</p>



<p>Las estructuras de control como las condicionales (<code>if</code>, <code>else if</code>, <code>else</code>) y los bucles (<code>for</code>, <code>while</code>, <code>do-while</code>) se utilizan para tomar decisiones y repetir bloques de código, al igual que en C y C++. Estas estructuras permiten controlar el flujo del programa en función de ciertas condiciones o realizar iteraciones hasta que se cumpla una condición específica.</p>



<p>Además de la sintaxis básica, Arduino proporciona una amplia gama de bibliotecas predefinidas que contienen funciones listas para usar. Estas bibliotecas simplifican la interacción con dispositivos y módulos comunes, como sensores, pantallas LCD, motores, comunicación inalámbrica, entre otros. Al incluir una biblioteca específica, puedes aprovechar las funciones y métodos que ofrece para facilitar el desarrollo de tu proyecto.</p>



<p>En resumen, la sintaxis de código Arduino se basa en el lenguaje de programación C++ estándar, pero con algunas diferencias y bibliotecas adicionales. Aquellos familiarizados con C y C++ básico encontrarán que Arduino es fácil de aprender y utilizar. Con su sintaxis intuitiva y bibliotecas convenientes, Arduino se ha convertido en una plataforma popular para el desarrollo de proyectos electrónicos, desde simples experimentos hasta complejas aplicaciones embebidas.</p>
<p>The post <a href="https://huecat.es/sintaxis-de-codigo-arduino/">Sintaxis de código 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/sintaxis-de-codigo-arduino/feed/</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
			</item>
		<item>
		<title>Brazo robótico</title>
		<link>https://huecat.es/brazo-robotico/</link>
					<comments>https://huecat.es/brazo-robotico/#comments</comments>
		
		<dc:creator><![CDATA[HUECAT]]></dc:creator>
		<pubDate>Thu, 25 Aug 2022 16:22:00 +0000</pubDate>
				<category><![CDATA[Arduino]]></category>
		<category><![CDATA[Ingeniería mecatrónica]]></category>
		<category><![CDATA[STEM]]></category>
		<guid isPermaLink="false">https://huecat.es/?p=6025</guid>

					<description><![CDATA[<p>📍Barcelona 2022 Proyecto de programación de acciones e iteraciones en Software para ubicar las esferas en diferentes posiciones. Un brazo robótico es un dispositivo mecánico controlado por computadora que se utiliza para manipular objetos de manera similar a un brazo humano. Estos brazos robóticos se pueden programar para realizar una variedad de tareas, desde simples [&#8230;]</p>
<p>The post <a href="https://huecat.es/brazo-robotico/">Brazo robótico</a> appeared first on <a href="https://huecat.es">HUE CAT INGENIERÍA ESPAÑA</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>📍Barcelona 2022</p>



<figure class="wp-block-video"><video height="480" style="aspect-ratio: 848 / 480;" width="848" autoplay loop muted src="https://huecat.es/wp-content/uploads/2022/03/Robotic-arm-spain-programming.mp4"></video></figure>



<p>Proyecto de programación de acciones e iteraciones en Software para ubicar las esferas en diferentes posiciones.</p>



<p></p>



<p>Un brazo robótico es un dispositivo mecánico controlado por computadora que se utiliza para manipular objetos de manera similar a un brazo humano. Estos brazos robóticos se pueden programar para realizar una variedad de tareas, desde simples movimientos hasta operaciones más complejas. La programación de acciones e iteraciones en software es fundamental para controlar y coordinar los movimientos del brazo robótico.</p>



<p>Arduino es una plataforma electrónica de código abierto que se utiliza ampliamente en proyectos de robótica, incluidos los brazos robóticos. Proporciona una forma fácil de controlar y programar componentes electrónicos, lo que permite a los ingenieros y aficionados crear sus propios sistemas robóticos.</p>



<p>La ingeniería mecatrónica es una disciplina que combina elementos de ingeniería mecánica, electrónica y de control para diseñar y construir sistemas automatizados. Los brazos robóticos son un ejemplo común de aplicación de la ingeniería mecatrónica, ya que requieren conocimientos en estas áreas para su diseño y programación.</p>
<p>The post <a href="https://huecat.es/brazo-robotico/">Brazo robótico</a> appeared first on <a href="https://huecat.es">HUE CAT INGENIERÍA ESPAÑA</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://huecat.es/brazo-robotico/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		<enclosure url="https://huecat.es/wp-content/uploads/2022/03/Robotic-arm-spain-programming.mp4" length="14016940" type="video/mp4" />

			</item>
		<item>
		<title>Diferenciación entre Arduino y Arduino IDE</title>
		<link>https://huecat.es/diferenciacion-entre-arduino-y-arduino-ide/</link>
					<comments>https://huecat.es/diferenciacion-entre-arduino-y-arduino-ide/#comments</comments>
		
		<dc:creator><![CDATA[HUECAT]]></dc:creator>
		<pubDate>Mon, 06 Jun 2022 20:41:00 +0000</pubDate>
				<category><![CDATA[Arduino]]></category>
		<guid isPermaLink="false">https://huecat.es/?p=6503</guid>

					<description><![CDATA[<p>Explorando alternativas y su papel en los proyectos electrónicos Introducción: En el emocionante mundo de la electrónica y la programación, Arduino y Arduino IDE son términos que suelen estar interconectados. Sin embargo, es importante comprender que Arduino y Arduino IDE son entidades diferentes, cada una con su propio propósito y función. En este artículo, exploraremos [&#8230;]</p>
<p>The post <a href="https://huecat.es/diferenciacion-entre-arduino-y-arduino-ide/">Diferenciación entre Arduino y Arduino IDE</a> appeared first on <a href="https://huecat.es">HUE CAT INGENIERÍA ESPAÑA</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Explorando alternativas y su papel en los proyectos electrónicos</p>



<p>Introducción:</p>



<p>En el emocionante mundo de la electrónica y la programación, Arduino y Arduino IDE son términos que suelen estar interconectados. Sin embargo, es importante comprender que Arduino y Arduino IDE son entidades diferentes, cada una con su propio propósito y función. En este artículo, exploraremos en detalle las diferencias entre Arduino y Arduino IDE, así como algunas alternativas más económicas y populares, como el ESP32 y el ESP8266.</p>



<p>Arduino:</p>



<p>Arduino es una plataforma de hardware de código abierto que ha ganado una enorme popularidad en la comunidad de proyectos electrónicos. Consiste en una placa programable que permite la interacción con una amplia gama de componentes electrónicos. La flexibilidad y la simplicidad de Arduino hacen que sea una opción accesible tanto para principiantes como para expertos en electrónica. Su comunidad activa y el soporte de una amplia variedad de bibliotecas hacen de Arduino una opción versátil para desarrollar proyectos electrónicos.</p>



<p>Arduino IDE:</p>



<p>Arduino IDE (Integrated Development Environment) es un entorno de desarrollo integrado diseñado específicamente para programar y cargar código en las placas Arduino. Es una herramienta de software que proporciona una interfaz amigable para escribir, compilar y cargar programas en las placas Arduino. El IDE simplifica el proceso de desarrollo al ofrecer funciones de gestión de bibliotecas, depuración y comunicación con la placa. Aunque Arduino IDE es la opción más comúnmente utilizada, existen alternativas populares como PlatformIO y Visual Studio Code con extensiones específicas para Arduino.</p>



<p>Diferencias clave:</p>



<p>La principal diferencia entre Arduino y Arduino IDE radica en su función y propósito. Mientras que Arduino es la plataforma de hardware en sí misma, Arduino IDE es el software utilizado para programarla. Arduino IDE es solo una de las opciones disponibles para programar las placas Arduino, y su popularidad se debe en parte a su facilidad de uso y a la comunidad de usuarios activa que proporciona soporte y recursos.</p>



<p>Alternativas económicas: ESP32 y ESP8266</p>



<p>Además de Arduino, existen alternativas más económicas y poderosas que ofrecen funcionalidades similares, como el ESP32 y el ESP8266. Estos microcontroladores Wi-Fi y Bluetooth de bajo costo son ampliamente utilizados en proyectos de IoT (Internet de las cosas) y tienen una gran base de usuarios y una comunidad activa.</p>



<p>El ESP32, por ejemplo, ofrece una mayor potencia de procesamiento y más opciones de conectividad que Arduino, con soporte incorporado para Wi-Fi y Bluetooth. Además, tiene una amplia variedad de pines de entrada/salida (GPIO) que permiten la conexión y el control de una amplia gama de sensores y actuadores.</p>



<p>Por su parte, el ESP8266 es una opción más económica y también cuenta con soporte para Wi-Fi, lo que lo convierte en una opción popular para proyectos que requieren conectividad inalámbrica.</p>



<p>Conclusión:</p>



<p>En conclusión, Arduino y Arduino IDE son elementos clave en el mundo de los proyectos electrónicos. Arduino es una plataforma de hardware de código abierto que permite la interacción con componentes electrónicos, mientras que Arduino IDE es el software utilizado para programar las placas Arduino. Ambos desempeñan un papel fundamental en la creación de proyectos electrónicos de manera accesible y versátil.</p>
<p>The post <a href="https://huecat.es/diferenciacion-entre-arduino-y-arduino-ide/">Diferenciación entre Arduino y 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/diferenciacion-entre-arduino-y-arduino-ide/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Arduino IDE: Compilar código para ESP32/ESP8266</title>
		<link>https://huecat.es/arduino-ide-compilar-codigo-para-esp32-esp8266/</link>
					<comments>https://huecat.es/arduino-ide-compilar-codigo-para-esp32-esp8266/#comments</comments>
		
		<dc:creator><![CDATA[HUECAT]]></dc:creator>
		<pubDate>Mon, 26 Jul 2021 16:08:43 +0000</pubDate>
				<category><![CDATA[Arduino]]></category>
		<category><![CDATA[ESP32]]></category>
		<category><![CDATA[ESP8266]]></category>
		<category><![CDATA[Programación]]></category>
		<guid isPermaLink="false">https://huecat.es/?p=4905</guid>

					<description><![CDATA[<p>Arduino IDE es un compilador que hace que insertar lógica en lenguaje C sea muy fácil, sobre todo si la placa que compras es marca Arduino pues viene con el «CORE» pre-instalado. Cuando utilizamos placas de otros fabricante o incluso microcontroladores que no se encuentran en estas placas marca Arduino, tenemos muchas veces a disposición [&#8230;]</p>
<p>The post <a href="https://huecat.es/arduino-ide-compilar-codigo-para-esp32-esp8266/">Arduino IDE: Compilar código 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>Arduino IDE es un compilador que hace que insertar lógica en lenguaje C sea muy fácil, sobre todo si la placa que compras es marca Arduino pues viene con el «CORE» pre-instalado.</p>



<p></p>



<p>Cuando utilizamos placas de otros fabricante o incluso microcontroladores que no se encuentran en estas placas marca Arduino, tenemos muchas veces a disposición Frameworks de diversos fabricantes, como es el caso de los microcontroladores ESPRESSIF: ESP8266 y ESP32</p>



<p></p>



<p>Luego de tener instalado el driver del FTDI en nuestro ordenador, se procede a decirle al «Arduino IDE» desde qué dirección cargar placas adicionales.</p>



<p>Archivo &gt; Preferencias</p>



<figure class="wp-block-image size-large"><img decoding="async" width="892" height="520" src="https://huecat.es/wp-content/uploads/2020/10/Sin-titulo-1.jpg" alt="" class="wp-image-4709" srcset="https://huecat.es/wp-content/uploads/2020/10/Sin-titulo-1.jpg 892w, https://huecat.es/wp-content/uploads/2020/10/Sin-titulo-1-300x175.jpg 300w, https://huecat.es/wp-content/uploads/2020/10/Sin-titulo-1-768x448.jpg 768w" sizes="(max-width: 892px) 100vw, 892px" /><figcaption class="wp-element-caption">Puedes compilar este código con Arduino IDE</figcaption></figure>



<p><a href="https://github.com/esp8266/Arduino" target="_blank" rel="noreferrer noopener">ESP8266 Core</a></p>



<p>https://arduino.esp8266.com/stable/package_esp8266com_index.json</p>



<p><a href="https://github.com/espressif/arduino-esp32/blob/master/docs/arduino-ide/boards_manager.md" target="_blank" rel="noreferrer noopener">ESP32 Core</a></p>



<p>https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json</p>



<p></p>



<h5 class="wp-block-heading">Si quieres tener instalados los firmwares de ambos microcontroladores, puedes separar los link con una «,»</h5>



<p>https://arduino.esp8266.com/stable/package_esp8266com_index.json, https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json</p>



<p>Ver <a href="https://github.com/espressif/arduino-esp32/blob/master/docs/arduino-ide/boards_manager.md">https://github.com/espressif/arduino-esp32/blob/master/docs/arduino-ide/boards_manager.md</a> para más detalles.</p>



<p></p>



<h2 class="wp-block-heading">¿Cómo verificar si el microcontrolador se instaló correctamente?</h2>



<p><br>Ahora que ha instalado ESP32 en su «Arduino IDE», si desea saber si desea instalar ESP32/8266 en Arduino IDE correctamente o no. Puede verificarlo usando un ejemplo simple ya disponible en Arduino IDE para la placa de desarrollo ESP32 para Internet de las cosas. Cuando instala la biblioteca ESP32 en Arduino IDE, estos ejemplos también se instalan. </p>



<p>Se pueden seguir estos pasos:</p>



<p>1. conectar tu placa con una computadora a través de un cable USB. </p>



<p>2. Conectar la placa con una computadora, seleccione la placa que está utilizando.</p>



<p>Hay muchos tipos de placas ESP32/8266 disponibles en el mercado. Suelo preferir la versión de ALIExpress Wemos D32 que incluye AUTOFLASH.  Pero puedes usar cualquier tablero que quieras. Para seleccionar la placa, ir a herramientas&gt;Placas, clic en el módulo de Desarrollo. Imagen a continuación:</p>



<figure class="wp-block-image size-large"><a href="https://huecat.es/wp-content/uploads/2022/12/image-1.png"><img decoding="async" width="1024" height="576" src="https://huecat.es/wp-content/uploads/2022/12/image-1-1024x576.png" alt="" class="wp-image-6075" srcset="https://huecat.es/wp-content/uploads/2022/12/image-1-1024x576.png 1024w, https://huecat.es/wp-content/uploads/2022/12/image-1-300x169.png 300w, https://huecat.es/wp-content/uploads/2022/12/image-1-768x432.png 768w, https://huecat.es/wp-content/uploads/2022/12/image-1-1536x864.png 1536w, https://huecat.es/wp-content/uploads/2022/12/image-1.png 1920w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>



<p></p>



<p>Ahora selección del puerto:</p>



<p></p>



<figure class="wp-block-image size-large"><a href="https://huecat.es/wp-content/uploads/2022/12/image-3.png"><img decoding="async" width="1024" height="576" src="https://huecat.es/wp-content/uploads/2022/12/image-3-1024x576.png" alt="" class="wp-image-6077" srcset="https://huecat.es/wp-content/uploads/2022/12/image-3-1024x576.png 1024w, https://huecat.es/wp-content/uploads/2022/12/image-3-300x169.png 300w, https://huecat.es/wp-content/uploads/2022/12/image-3-768x432.png 768w, https://huecat.es/wp-content/uploads/2022/12/image-3-1536x864.png 1536w, https://huecat.es/wp-content/uploads/2022/12/image-3.png 1920w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>



<p></p>



<p>Ahora subir el Sketch (Control+U)</p>



<figure class="wp-block-image size-large"><a href="https://huecat.es/wp-content/uploads/2022/12/profesor-de-ARDUINO-IDE-ELECTRONICA-INGENIERIA-ESPANA-HUE-CAT-2.jpg"><img decoding="async" width="1024" height="576" src="https://huecat.es/wp-content/uploads/2022/12/profesor-de-ARDUINO-IDE-ELECTRONICA-INGENIERIA-ESPANA-HUE-CAT-2-1024x576.jpg" alt="" class="wp-image-6083" srcset="https://huecat.es/wp-content/uploads/2022/12/profesor-de-ARDUINO-IDE-ELECTRONICA-INGENIERIA-ESPANA-HUE-CAT-2-1024x576.jpg 1024w, https://huecat.es/wp-content/uploads/2022/12/profesor-de-ARDUINO-IDE-ELECTRONICA-INGENIERIA-ESPANA-HUE-CAT-2-300x169.jpg 300w, https://huecat.es/wp-content/uploads/2022/12/profesor-de-ARDUINO-IDE-ELECTRONICA-INGENIERIA-ESPANA-HUE-CAT-2-768x432.jpg 768w, https://huecat.es/wp-content/uploads/2022/12/profesor-de-ARDUINO-IDE-ELECTRONICA-INGENIERIA-ESPANA-HUE-CAT-2-1536x864.jpg 1536w, https://huecat.es/wp-content/uploads/2022/12/profesor-de-ARDUINO-IDE-ELECTRONICA-INGENIERIA-ESPANA-HUE-CAT-2.jpg 1920w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>



<p></p>
<p>The post <a href="https://huecat.es/arduino-ide-compilar-codigo-para-esp32-esp8266/">Arduino IDE: Compilar código 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/arduino-ide-compilar-codigo-para-esp32-esp8266/feed/</wfw:commentRss>
			<slash:comments>3</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>Timers o Temporizadores Arduino</title>
		<link>https://huecat.es/temporizadores-arduin/</link>
					<comments>https://huecat.es/temporizadores-arduin/#respond</comments>
		
		<dc:creator><![CDATA[HUECAT]]></dc:creator>
		<pubDate>Fri, 26 Feb 2021 01:18:00 +0000</pubDate>
				<category><![CDATA[Arduino]]></category>
		<category><![CDATA[delay]]></category>
		<category><![CDATA[millis]]></category>
		<category><![CDATA[timer]]></category>
		<category><![CDATA[timers]]></category>
		<guid isPermaLink="false">https://huecat.es/?p=6186</guid>

					<description><![CDATA[<p>¿Qué es TIMER en Electrónica Embebida? El temporizador es una especie de interrupción. Es como un reloj simple que puede medir el intervalo de tiempo de un evento. Cada microcontrolador tiene un reloj (oscilador), digamos que en Arduino Uno es de 16Mhz. Este es el responsable de la velocidad. Cuanto mayor sea la frecuencia de [&#8230;]</p>
<p>The post <a href="https://huecat.es/temporizadores-arduin/">Timers o Temporizadores Arduino</a> appeared first on <a href="https://huecat.es">HUE CAT INGENIERÍA ESPAÑA</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p></p>



<h2 class="wp-block-heading">¿Qué es TIMER en Electrónica Embebida? </h2>



<p>El temporizador es una especie de <a href="https://huecat.es/interrupciones-en-un-microcontrolador/" target="_blank" rel="noreferrer noopener">interrupción</a>. Es como un reloj simple que puede medir el intervalo de tiempo de un evento. Cada microcontrolador tiene un reloj (oscilador), digamos que en Arduino Uno es de 16Mhz. Este es el responsable de la velocidad. Cuanto mayor sea la frecuencia de reloj, mayor será la velocidad de procesamiento. Un temporizador utiliza un contador que cuenta a cierta velocidad dependiendo de la frecuencia del reloj. En Arduino Uno se necesitan 1/16000000 segundos o 62 nanosegundos para hacer un solo conteo. Lo que significa que Arduino se mueve de una instrucción a otra instrucción por cada 62 nanosegundos.</p>



<p></p>



<p>En esta página se buscan establecer nuestros bits de registro del temporizador para usar la interrupción de desbordamiento del temporizador para alternar un LED cada vez que ocurra una interrupción. </p>



<p>El valor del precargador del bit del temporizador también se puede ajustar usando botones para controlar la duración en la que ocurre la interrupción.</p>



<p></p>



<p></p>



<h2 class="wp-block-heading">Timers / Temporizadores en Arduino UNO</h2>



<p>En Arduino UNO hay tres temporizadores que se utilizan para diferentes funciones.</p>



<h3 class="wp-block-heading">Timer0 / Temporizador0: </h3>



<p>Es un temporizador de 8 bits y se utiliza en funciones de temporizador como delay(), millis().</p>



<h3 class="wp-block-heading">Timer1 / Temporizador1: </h3>



<p>Es un temporizador de 16 bits y se usa en la biblioteca de servos. </p>



<h3 class="wp-block-heading">Timer2/Temporizador2: </h3>



<p>Es un temporizador de 8 bits y se utiliza en la función tone().</p>



<p></p>



<p></p>



<h2 class="wp-block-heading">Registros de Timer de Arduino</h2>



<p>Para cambiar la configuración de los temporizadores, se utilizan registros de temporizador. </p>



<h3 class="wp-block-heading">A) TIMER1: Registros de control de temporizador / Timer (TCCRnA/B): </h3>



<p>Este registro contiene los bits de control principales del temporizador y se utiliza para controlar los preescaladores del temporizador. También permite controlar el modo de temporizador usando los bits WGM.</p>



<figure class="wp-block-table"><table><tbody><tr><td>TCCR1A</td><td>7</td><td>6</td><td>5</td><td>4</td><td>3</td><td>2</td><td>1</td><td>0</td></tr><tr><td>&nbsp;</td><td>COM1A1</td><td>COM1A0</td><td>COM1B1</td><td>COM1B0</td><td>COM1C1</td><td>COM1C0</td><td>WGM11</td><td>WGM10</td></tr></tbody></table></figure>



<figure class="wp-block-table"><table><tbody><tr><td>TCCR1B</td><td>7</td><td>6</td><td>5</td><td>4</td><td>3</td><td>2</td><td>1</td><td>0</td></tr><tr><td>&nbsp;</td><td>ICNC1</td><td>ICES1</td><td>&#8211;</td><td>WGM13</td><td>WGM12</td><td>CS12</td><td>CS11</td><td>CS10</td></tr></tbody></table></figure>



<h4 class="wp-block-heading">Prescaler / Preescalador</h4>



<p>Los bits CS12, CS11, CS10 en TCCR1B establecen el valor del preescalador. Se utiliza un preescalador para configurar la velocidad del reloj del temporizador. Arduino Uno tiene preescaladores de 1, 8, 64, 256, 1024.</p>



<figure class="wp-block-table"><table><tbody><tr><td><strong>CS12</strong></td><td><strong>CS11</strong></td><td><strong>CS10</strong></td><td>Uso</td></tr><tr><td>0</td><td>0</td><td>0</td><td>No Clock Timer STOP</td></tr><tr><td>0</td><td>0</td><td>1</td><td>CLCK i/o /1 No Prescaling</td></tr><tr><td>0</td><td>1</td><td>0</td><td>CLK i/o /8 (From Prescaler)</td></tr><tr><td>0</td><td>1</td><td>1</td><td>CLK i/o /64 (From Prescaler)</td></tr><tr><td>1</td><td>0</td><td>0</td><td>CLK i/o /256 (From Prescaler)</td></tr><tr><td>1</td><td>0</td><td>1</td><td>CLK i/o /1024 (From Prescaler)</td></tr><tr><td>1</td><td>1</td><td>0</td><td>External clock source on T1 Pin. Clock on falling edge &nbsp;</td></tr><tr><td>1</td><td>1</td><td>1</td><td>External Clock source on T1 pin. Clock on rising edge.</td></tr></tbody></table></figure>



<p></p>



<h3 class="wp-block-heading">B) TIMER 2: Registro de temporizador/contador (TCNTn)</h3>



<p>Este registro se utiliza para controlar el valor del contador y establecer un valor de precarga. Fórmula para el valor del precargador para el tiempo requerido en segundos: TCNTn = 65535 – (16x1010xTiempo en segundos / Valor del preescalador) Para calcular el valor del precargador para el temporizador 1 durante un tiempo de 2 segundos: </p>



<p>TCNT1&nbsp; = 65535 – (16&#215;10<sup>6</sup>x2 / 1024) = 34285</p>



<p></p>



<p></p>



<p></p>



<h2 class="wp-block-heading">Interrupciones del temporizador de Arduino</h2>



<p><br>Hay varias interrupciones de temporizador en Arduino:</p>



<p><br>a) Interrupción de desbordamiento del temporizador:</p>



<p>Cada vez que el temporizador alcanza su valor máximo, por ejemplo (16 Bit-65535), se produce la interrupción de desbordamiento del temporizador. Por lo tanto, se llama a una rutina de servicio de interrupción ISR cuando el bit de interrupción de desbordamiento del temporizador está habilitado en el TOIEx presente en el registro de máscara de interrupción del temporizador TIMSKx.</p>



<p></p>



<p>Formato de la función ISR:</p>



<pre class="wp-block-code"><code>ISR(TIMER1_COMPA_vect)
{
}</code></pre>



<h3 class="wp-block-heading">Registro de comparación de salida (OCRnA/B):</h3>



<p>Aquí, cuando se produce la interrupción de coincidencia de comparación de salida, se llama al servicio de interrupción ISR (TIMERx_COMPy_vect) y también se establecerá el bit indicador OCFxy en el registro TIFRx. Este ISR se habilita configurando el bit de habilitación en OCIExy presente en el registro TIMSKx. Donde TIMSKx es Registro de máscara de interrupción de temporizador. </p>



<p></p>



<h3 class="wp-block-heading">Captura de entrada de temporizador: </h3>



<p>A continuación, cuando se produce la interrupción de captura de entrada del temporizador, se llama al servicio de interrupción ISR (TIMERx_CAPT_vect) y también se establece el bit indicador ICFx en TIFRx (registro de indicador de interrupción del temporizador). Este ISR se habilita configurando el bit de habilitación en ICIEx presente en el registro TIMSKx.</p>



<p></p>
<p>The post <a href="https://huecat.es/temporizadores-arduin/">Timers o Temporizadores Arduino</a> appeared first on <a href="https://huecat.es">HUE CAT INGENIERÍA ESPAÑA</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://huecat.es/temporizadores-arduin/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>¿Cómo instalar la librería LiquidCrystal_I2C?</title>
		<link>https://huecat.es/como-instalar-la-libreria-liquidcrystal_i2c/</link>
					<comments>https://huecat.es/como-instalar-la-libreria-liquidcrystal_i2c/#comments</comments>
		
		<dc:creator><![CDATA[HUECAT]]></dc:creator>
		<pubDate>Sat, 12 Sep 2020 22:08:00 +0000</pubDate>
				<category><![CDATA[Arduino]]></category>
		<category><![CDATA[Programación]]></category>
		<guid isPermaLink="false">https://huecat.es/?p=6864</guid>

					<description><![CDATA[<p>//Usamos la de Marco Schwartz</p>
<p>The post <a href="https://huecat.es/como-instalar-la-libreria-liquidcrystal_i2c/">¿Cómo instalar la librería LiquidCrystal_I2C?</a> appeared first on <a href="https://huecat.es">HUE CAT INGENIERÍA ESPAÑA</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>//Usamos la de Marco Schwartz</p>



<ol class="wp-block-list">
<li>En el programa Arduino IDE, abre el menú «Herramientas» (Tools).</li>



<li>En el menú «Herramientas», selecciona «Gestor de bibliotecas» (Library Manager).</li>



<li>En la ventana del «Gestor de bibliotecas», en el campo de búsqueda, escribir «LiquidCrystal_I2C» y presiona Enter.</li>



<li>Debería verse la biblioteca «LiquidCrystal I2C» en los resultados de la búsqueda. Haz clic en el botón «Instalar» (Install) que se encuentra junto a la biblioteca.</li>



<li>El Arduino IDE descargará e instalará la biblioteca automáticamente.</li>



<li>Una vez que la instalación esté completa, se verá un mensaje que indica que la biblioteca se ha instalado con éxito.</li>
</ol>



<p></p>
<p>The post <a href="https://huecat.es/como-instalar-la-libreria-liquidcrystal_i2c/">¿Cómo instalar la librería LiquidCrystal_I2C?</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-instalar-la-libreria-liquidcrystal_i2c/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
	</channel>
</rss>
