24/07/2021
Si te adentras en el universo de Arduino, prepárate para un viaje emocionante. No solo aprenderás a programar, sino que también comprenderás cómo dar vida a tus ideas electrónicas. Este artículo es tu punto de partida ideal, tanto si eres un completo novato en programación como si deseas construir tu propio Arduino desde cero. Desmitificaremos el código Arduino y te guiaremos paso a paso en el montaje de una placa funcional en protoboard. ¡Empecemos!

Introducción al Lenguaje de Programación Arduino
Si nunca has programado, ¡bienvenido al club! Formas parte de la inmensa mayoría de personas que no han escrito una línea de código. Pero no te preocupes, este tutorial está diseñado para iniciarte en los fundamentos de la programación Arduino de forma sencilla y accesible. Como dijo Steve Jobs, “todo el mundo debería saber programar porque programar te enseña a pensar”. Y es que la programación no es solo para expertos en informática; es una habilidad valiosa que fomenta el pensamiento lógico y la resolución de problemas.
Un Breve Recorrido Histórico
El lenguaje de Arduino tiene sus raíces en el legendario lenguaje C. Si ya tienes experiencia con C, este tutorial te resultará familiar. Si no, basta con saber que C es el lenguaje en el que se han desarrollado sistemas operativos tan importantes como UNIX y Linux, además de innumerables sistemas, programas y aplicaciones. El lenguaje de Arduino es una versión simplificada y mucho más intuitiva de C. Su objetivo principal es que puedas programar de forma intuitiva, concentrándote en lo que quieres lograr en lugar de la complejidad técnica.

Arduino nació en el Interactive Design Institute en Ivrea, Italia. Los estudiantes allí utilizaban Processing, un lenguaje orientado a artistas y diseñadores con un entorno de desarrollo visual e intuitivo. Processing sirvió de inspiración para el entorno de desarrollo de Arduino y su lenguaje de programación, buscando siempre la facilidad de uso y la accesibilidad.
Trabajar con Arduino implica principalmente interactuar con sus puertos de entrada y salida. Para simplificar la programación de estos puertos (analógicos, digitales, etc.), el lenguaje Arduino utiliza librerías. Estas librerías, que forman parte integral del lenguaje, te permiten programar pines digitales como entradas o salidas, leer señales analógicas, controlar servos y motores, entre otras funciones. La base de estas librerías, conocidas como “core libraries”, proviene de Wiring, una macro librería desarrollada por Hernando Barragán.
Cada vez que se añade un nuevo puerto a Arduino, se proporciona un conjunto de librerías especializadas para ese puerto, mantenidas por los desarrolladores.
Variables: Los Contenedores de Datos
La programación, en esencia, consiste en dar instrucciones a tu Arduino y a los dispositivos que controla para que realicen acciones. Un programa Arduino (o “sketch”) logra esto procesando datos y enviándolos a actuadores. Las variables son la forma en que representamos y manipulamos estos datos dentro del sketch.
Piensa en las variables como cajones de un escritorio. Cada cajón tiene una etiqueta que describe su contenido, y dentro se encuentra el valor de la variable. Existen diferentes tipos de variables para representar diversos tipos de datos: números (enteros, decimales, binarios, hexadecimales), texto (caracteres individuales o cadenas), matrices (arrays), constantes, etc.
Tipos de Variables en Arduino
El lenguaje Arduino soporta una variedad de tipos de variables para adaptarse a diferentes necesidades:
| Tipo | Descripción | Ejemplo |
|---|---|---|
void | Reservado para funciones que no devuelven valor. | void setup()void loop() |
byte | Entero de 0 a 255 (8 bits). | byte testVariable = 129; |
int | Entero entre -32,768 y 32,767 (16 bits). | int testVariable = 28927; |
long | Entero entre -2,147,483,648 y 2,147,483,647 (32 bits). | long testVariable = 67876; |
float | Número real (decimal) con rango entre ±3.4028325E+38 (32 bits). | float testVariable = 3.56; |
unsigned int | Entero positivo de 0 a 65,545 (16 bits). | unsigned int testVariable = 38948; |
unsigned long | Entero positivo de 0 a 4,294,967,296 (32 bits). | unsigned long testVariable = 657456; |
word | Sinónimo de unsigned int. | word testVariable = 51000; |
boolean | Valor lógico: true (verdadero) o false (falso). | boolean testVariable = true; |
char | Carácter ASCII (8 bits). Puede ser un carácter o su código ASCII. | char testVariable = ‘a’;char testvariable = 97; |
unsigned char | Similar a byte, entero de 0 a 255 (8 bits). | unsigned char testUnCh = 36; |
En Arduino, al usar una variable, primero debes declarar su tipo (ej. int) y luego su nombre (ej. testVariable). Puedes declarar una variable sin asignarle un valor inicial:
int comienzo;O inicializarla al declararla:
int comienzo = 0;Es recomendable inicializar las variables al declararlas para facilitar la depuración y optimizar el código. Al declarar una variable, anticipa su uso y el rango de valores que tomará. Por ejemplo, si esperas valores mayores a 32,000, usa long en lugar de int, o float si necesitas decimales. No hacerlo puede llevar a resultados inesperados.
Ejemplo de uso de variables: Parpadeo de un LED
int LEDpin = 6; // Inicializa LEDpin con el pin 6 void setup(){ pinMode(LEDpin,OUTPUT); } void loop(){ digitalWrite(LEDpin,HIGH); delay (1000); digitalWrite(pinLED,LOW); delay (1000); }Este código hace parpadear un LED conectado al pin 6. La variable LEDpin facilita la reutilización del código para otros pines. Recuerda que cada instrucción debe terminar con punto y coma (;).
Arrays: Colecciones de Variables
Un array es una colección de variables del mismo tipo, indexadas por números en lugar de palabras. Puedes declarar un array así:
int miLista[6];E inicializarlo al mismo tiempo:
int miLista[6] ={1,2,3,4,5,6} ;Importante: Los arrays comienzan con el índice 0, no 1. Ten cuidado de no acceder a índices fuera del array, ya que podrías obtener datos incorrectos o errores.
Ejemplos de operaciones con arrays:
int minuevaLista[4] ={1,2,3,4} ; nuevaVariable = minuevaLista[2]; // nuevaVariable = 3 minuevaLista[0] = 986; nuevaVariable = minuevaLista[0]; // nuevaVariable = 986Strings: Cadenas de Caracteres
Un string es una cadena de caracteres. En Arduino, puedes declararlos como arrays de tipo char o como objetos de la clase String.
Strings como Arrays de Caracteres (char)
Los strings tipo char suelen terminar con el carácter nulo (ASCII 0 o \0) para indicar el final de la cadena. Al dimensionar un array char para un string, considera el espacio para este carácter nulo.
Ejemplos de declaración de arrays char para strings:
char polichori[10]; // Sin inicializar char polichori[8]= {‘C’,’h’,’o’,’r’,’i’,’z’,’o’} ; // Inicializado, \0 automático char polichori[8]= {‘C’,’h’,’o’,’r’,’i’,’z’,’o’,’\0’} ; // Inicializado con \0 explícito char polichori[]= “Chorizo”; // Dimensionado automático char polichori[8]= “Chorizo”; // Dimensionado y fraccionado char polichori[10]= “Chorizo”; // Espacio extra al finalStrings como Objetos (String)
La variable tipo String (con “S” mayúscula) ofrece más funcionalidades, aunque consume más recursos. Permite operaciones complejas como concatenar, calcular longitud, buscar y reemplazar substrings de forma sencilla.
Ejemplos de declaración de variables String:
String stringUno = "Hola String"; // String constante String stringUno = String('a'); // String a partir de charConstantes: Valores Inmutables
Las constantes son variables cuyo valor no cambia durante la ejecución del sketch. Se declaran con la palabra reservada const. Son útiles para definir pines, constantes matemáticas, etc.
const int NoPinLed = 12; const float pi = 3.1416;Si intentas modificar una constante, el compilador te mostrará un error.
Constantes predefinidas en Arduino:
INPUT/OUTPUT: Configuración de pines digitales como entrada o salida conpinMode().INPUT_PULLUP: Para usar resistencias pull-up internas conpinMode().LED_BUILTIN: Para el LED integrado en la placa Arduino (generalmente pin 13).TRUE/FALSE: Valores booleanos.TRUEes cualquier valor no cero,FALSEes cero.HIGH/LOW: Niveles lógicos en pines digitales.LOWes 0V,HIGHes 5V.
Constantes enteras: Se expresan en base 10 (decimal) por defecto. Puedes usar prefijos para otras bases:
| Base | Ejemplo | Prefijo | Comentario |
|---|---|---|---|
| 10 (decimal) | 123 | Ninguno | Base decimal común. |
| 2 (binario) | B1111011 | B | Máximo 8 bits (0-255). Caracteres 0-1. |
| 8 (octal) | 0173 | 0 | Caracteres 0-7. |
| 16 (hexadecimal) | 0x7B | 0x | Caracteres 0-9, A-F, a-f. |
Formateadores U y L: Modifican el tipo de constante entera:
uoU:unsigned(ej.33u).loL:long(ej.100000L).uloUL:unsigned long(ej.32767ul).
Constantes de coma flotante (float): Se usan para legibilidad. Pueden usar notación científica (E o e).
Ejemplos:
10.0es igual a102.34E5es igual a23400067e-12es igual a0.000000000067
Ámbito de las Variables: Local y Global
El ámbito de una variable define dónde puede ser accedida en el sketch. Variables definidas fuera de setup() y loop() son globales, accesibles desde cualquier parte del programa. Variables definidas dentro de funciones son locales, accesibles solo dentro de esa función.
Ejemplo de variables globales y locales:
int pinNoLedGlobal = 12; // Variable global void Setup { pinMode(pinNoLedGlobal, OUTPUT); } void loop { int pinNoLedLocal =13; // Variable local pinMode(pinNoLedLocal, OUTPUT); digitalWrite(pinNoLedGlobal, HIGH); digitalWrite(pinNoLedLocal, LOW); }En programas complejos, usar variables locales ayuda a evitar confusiones con nombres repetidos. En funciones anidadas, el ámbito de variables exteriores se extiende a las interiores, pero no al revés.
Variables Estáticas
La palabra clave static crea variables visibles solo dentro de una función, pero que conservan su valor entre llamadas a la función. Se inicializan solo la primera vez que se llama a la función.
Variables Volátiles
Declarar una variable como volatile indica al compilador que siempre la cargue desde la RAM, no desde registros internos del procesador. Esto es importante en rutinas de interrupción, donde el valor de una variable en registros internos podría alterarse.
Ejemplo de variable volátil:
// Conmuta un LED al cambiar el estado de un pin de interrupción int pin = 13; volatile int state = LOW; void setup() { pinMode(pin, OUTPUT); attachInterrupt(0, blink, CHANGE); } void loop() { digitalWrite(pin, state); } void blink() { state = !state; }Marcadores Sintácticos Esenciales
Fin de Instrucción: “;”
Cada declaración e instrucción en Arduino termina con punto y coma ;.
Llaves (“curly brackets”) “{}”
Las llaves {} son cruciales en C. Definen bloques de código en funciones, bucles y estructuras condicionales. Asegúrate de que cada llave de apertura { tenga su correspondiente llave de cierre }. El IDE de Arduino puede ayudarte a verificar el equilibrio de llaves.
Usos comunes de las llaves:
- Funciones:
void myfunction(datatype argument){ instrucciones } - Bucles:
while (condición) { instrucciones },do { instrucciones } while (condición);,for (inicialización; condición; incremento) { instrucciones } - Condicionales:
if (condición) { instrucciones } else if (condición) { instrucciones } else { instrucciones }
Comentarios: Documentando el Código
Los comentarios son anotaciones en el código para hacerlo más legible y comprensible. El compilador los ignora. Hay dos tipos:
- Comentarios de una línea: Comienzan con
//. Todo después de//en la misma línea es un comentario. - Comentarios de bloque: Comienzan con
/*y terminan con*/. Pueden ocupar varias líneas.
#define: Definiendo Constantes
#define permite dar un nombre a un valor constante antes de la compilación. No usa memoria del programa. El compilador sustituye las referencias a la constante por su valor durante la compilación.
Sintaxis:#define Nombreconstante valor (sin punto y coma al final).

Ejemplo:#define ledPin 3
#include: Incluyendo Librerías Externas
#include incluye librerías externas en un sketch, dando acceso a funciones predefinidas. No lleva punto y coma al final.
Ejemplo:#include <avr/pgmspace.h> (para usar la memoria flash).
Operadores Aritméticos
Arduino soporta operadores aritméticos básicos:
=(Asignación): Asigna el valor de la derecha a la variable de la izquierda. No confundir con==(comparación de igualdad).+(Adición),-(Substracción),*(Multiplicación),/(División): Operaciones aritméticas básicas. El tipo de dato del resultado depende de los operandos. División entera si ambos son enteros.%(Módulo): Devuelve el resto de una división entera. Útil para mantener valores dentro de un rango. No funciona confloat.
Operadores Compuestos
++(Incremento),--(Decremento): Incrementan o decrementan una variable en 1. Pre-incremento/decremento (ej.++x) retorna el valor después de la operación, post-incremento/decremento (ej.x++) retorna el valor antes de la operación.+=,-=,*=,/=: Operaciones aritméticas combinadas con asignación (ej.x += y;es equivalente ax = x + y;).
Utilidades: sizeof y PROGMEM
Operador sizeof
sizeof(variable) devuelve el tamaño en bytes de una variable o array.
Ejemplo:
char myStr[] = "esto es una prueba"; int i; void setup(){ Serial.begin(9600); } void loop() { for (i = 0; i < sizeof(myStr) - 1; i++){ Serial.print(i, DEC); Serial.print(" = "); Serial.write(myStr[i]); Serial.println(); } delay(5000); }Este código imprime cada carácter de un string.
Operador PROGMEM
PROGMEM almacena datos en la memoria flash en lugar de la RAM. Se usa con tipos de datos definidos en <avr/pgmspace.h>. Útil para almacenar grandes bloques de datos estáticos como arrays.
Sintaxis:dataType variableName[] PROGMEM = {data1, data2, ...};
Tipos de datos PROGMEM:prog_char, prog_uchar, prog_int16_t, prog_uint16_t, prog_int32_t, prog_uint32_t.
Ejemplo de PROGMEM:
#include <avr/pgmspace.h> prog_uint16_t charSet[] PROGMEM = { 65000, 32796, 16843, 10, 11234}; prog_uchar signMessage[] PROGMEM = {"EL CHORIZO NINJA. EL NUEVO ÉXITO DEL CINE ESPAÑOL"}; unsigned int displayInt; int k; char myChar; displayInt = pgm_read_word_near(charSet + k); myChar = pgm_read_byte_near(signMessage + k);Estructuras de Control: Tomando Decisiones
Las estructuras de control permiten que tu programa tome decisiones basadas en condiciones. Se basan en tests lógicos (booleanos) que resultan en true o false.
Operadores lógicos:
| Operador | Descripción | Operador | Descripción |
|---|---|---|---|
> | Mayor que | < | Menor que |
>= | Mayor o igual que | <= | Menor o igual que |
== | Igual que | != | Diferente |
If, else, else if: Condicionales Básicos
La estructura if ejecuta un bloque de código si una condición es verdadera (true). else ejecuta un bloque si la condición es falsa (false). else if permite añadir condiciones adicionales dentro de un if.
Ejemplos:
if (varA < varB) { digitalWrite(PinLedRojo, HIGH); } if (varA < varB) { digitalWrite(PinLedRojo, HIGH); } else { digitalWrite(PinLedRojo,LOW); } if (varA < varB) { digitalWrite(PinLedRojo, HIGH); } else if (varA == varB) { digitalWrite(PinLedVerde, HIGH); } else { digitalWrite(PinLedRojo,LOW); }Switch case: Selección Múltiple
switch case es ideal para elegir entre varias opciones basadas en el valor de una variable.
Sintaxis:
switch (variable){ case valor1: // instrucciones caso valor1 break; case valor2: // instrucciones caso valor2 break; // ... default: // instrucciones caso por defecto break; }break es opcional, pero recomendable para evitar que se ejecuten los siguientes casos. default es opcional y se ejecuta si ningún caso coincide.
Operadores Lógicos Booleanos: AND, OR, NOT
Arduino usa operadores lógicos booleanos:
&&(AND): Verdadero si ambas condiciones son verdaderas.||(OR): Verdadero si al menos una condición es verdadera.!(NOT): Invierte el valor lógico (verdadero a falso y viceversa).
Ejemplos:
if (varA > varB && varC > varD) { ... } if (varA > varB || varC > varD) { ... } if (!botonPulsado) { ... }Operadores Lógicos Binarios
Operaciones lógicas a nivel de bit:
~(NOT binario): Invierte los bits de un número.&(AND binario): AND bit a bit.|(OR binario): OR bit a bit.^(XOR binario): XOR bit a bit.<<(Desplazamiento a la izquierda): Desplaza bits a la izquierda.>>(Desplazamiento a la derecha): Desplaza bits a la derecha.
Bucles (Loops): Repetición de Tareas
Los bucles permiten repetir un bloque de código varias veces.
Bucle “for”
Ejecuta un bloque de código un número específico de veces, generalmente con un contador.
Ejemplo:
void setup() { Serial.begin(9600); } void loop { for (int i = 0; i < 100; i++){ Serial.println(i); } }Estructura del bucle for:for (inicialización; condición; incremento/decremento) { instrucciones }
Bucle “while”
Ejecuta un bloque de código mientras una condición sea verdadera. Útil cuando no se sabe cuántas veces se repetirá el bucle, por ejemplo, esperando la lectura de un sensor.
Sintaxis:while (condición) { instrucciones }
Bucle “do while”
Similar a while, pero la condición se evalúa al final del bucle, asegurando que el bloque de código se ejecute al menos una vez.
Sintaxis:do { instrucciones } while (condición);
Instrucciones de Control de Bucles: continue y goto
continue: Salta el resto del bloque de código actual en un bucle y pasa a la siguiente iteración.goto: Transfiere el control del programa a una etiqueta específica. Generalmente desaconsejado por dificultar la legibilidad y depuración del código.
Funciones: Modularizando el Código
Las funciones permiten agrupar bloques de código reutilizables. Simplifican el código y facilitan la programación de tareas repetitivas.
Estructura de una función:
tipoRetorno nombreFuncion(parametros){ // código de la función return valorRetorno; // si la función no es void }Si una función no devuelve valor, se declara como tipo void. La instrucción return devuelve el control al sketch y, opcionalmente, un valor.
Ejemplo: Función para convertir Fahrenheit a Celsius:
float calcTemp(float fahrenheit){ float celsius; celsius = (fahrenheit – 32)/ 1.8; return celsius; }Construyendo tu Propio Arduino Uno en Protoboard
Ahora que tienes una base en el código Arduino, ¡vamos a construir tu propia placa Arduino Uno en una protoboard! Aunque existen Arduinos genéricos muy económicos, construir el tuyo es una excelente experiencia de aprendizaje. En este apartado, te guiaremos para armar un Arduino Uno minimalista y funcional en una protoboard, incluyendo un moderno puerto USB tipo C.
¿Qué Necesitas para Empezar? Materiales
Para construir tu Arduino en protoboard, necesitarás los siguientes componentes:
- 1 x Microcontrolador ATMEGA328P DIP
- 1 x Protoboard
- 1 x Interfaz USB a Serial UART TTL CH340E (conector USB tipo C opcional)
- 1 x Cristal de cuarzo de 16 MHz
- 2 x Condensadores cerámicos de 22 pF (picoFaradios)
- 2 x Condensadores electrolíticos de 10 uF (microFaradios)
- 2 x Condensadores cerámicos de 0.1 uF (100 nF)
- 1 x Resistencia de 10 kΩ (kiloohmios)
- 2 x Resistencias de 220 Ω (ohmios)
- 1 x Resistencia de 1 kΩ (kiloohmios)
- 1 x LED de 5mm (color a elección)
- 1 x Pulsador (botón)
- Cables de conexión para protoboard (jumper wires)
Opcionales:
- Zócalo DIP de 28 pines (para el ATMEGA328P, facilita el montaje y reemplazo)
Diagrama Esquemático del Arduino en Protoboard
Este es el esquema del circuito que vamos a construir:
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAyAAAAIYCAYAAAC7Bw+UAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAP+ESURBVHhe7d0JfFz5/c/P6f/x1t299r7r7r57e1/3d+59+e6994237r3r3v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve+e977r3v+773v7n3v3ve;Imágenes del circuito esquemático no incluidas por limitaciones de formato texto. Consultar el artículo original para ver el diagrama.</p>
Explicación del Circuito
Vamos a desglosar los componentes y su función en el circuito:
- C1 y C2 (Condensadores de Desacople): Estos capacitores de 0.1 uF se conectan cerca de los pines de alimentación del ATMEGA328P (VCC y GND) para estabilizar el suministro de energía y reducir el ruido. Son esenciales para un funcionamiento estable del microcontrolador.
- Q1 (Cristal de Cuarzo de 16 MHz), C3 y C4 (Condensadores de 22 pF): Juntos, forman el circuito oscilador. El cristal de 16 MHz es el reloj principal que marca el ritmo de funcionamiento del ATMEGA328P. Los condensadores C3 y C4 ayudan a estabilizar la oscilación. Es crucial que estos componentes estén cerca del microcontrolador y con conexiones cortas.
- R1 (Resistencia de 10 kΩ), C5 (Condensador de 10 uF) y Pulsador (Reset): Este conjunto es el circuito de reset. R1 es una resistencia pull-up que mantiene el pin de reset del ATMEGA328P en estado alto (sin resetear) en condiciones normales. El pulsador permite realizar un reset manual al conectar el pin de reset a GND. C5, junto con la señal DTR de la interfaz USB a serial, permite que la computadora pueda resetear el microcontrolador automáticamente al cargar un nuevo programa, activando el bootloader.
- R2 y R3 (Resistencias de 220 Ω): Estas resistencias protegen los pines de datos RX y TX de la interfaz serial USB a TTL (CH340E). Limitan la corriente en caso de que haya conflictos de estado lógico entre el microcontrolador y la interfaz serial.
- R4 (Resistencia de 1 kΩ) y LED1 (LED de 5mm): Este es el circuito del LED de prueba, similar al LED integrado en las placas Arduino Uno. Está conectado al pin digital 13 del ATMEGA328P y permite ejecutar el clásico ejemplo “Blink” para verificar el funcionamiento.
Montaje en la Protoboard
La imagen anterior muestra un ejemplo de cómo podría quedar el circuito armado en una protoboard. Recuerda seguir el esquema y colocar los componentes correctamente. Utiliza cables de conexión cortos y limpios para evitar problemas de funcionamiento. Si es tu primera vez, monta el circuito por etapas, comenzando por la sección de alimentación y oscilador, luego el reset, y finalmente la interfaz serial y el LED.
Cargando el Bootloader y el Primer Sketch
1. Cargar el Bootloader: Para poder programar el ATMEGA328P a través de la interfaz USB serial, primero debes cargar el bootloader. El bootloader es un pequeño programa pre-cargado en el microcontrolador que permite la carga de nuevos sketches sin necesidad de un programador externo cada vez. Para cargar el bootloader, necesitarás un programador AVR USBASP, un shield programador de ATMEGA328P, o incluso otro Arduino Uno que puedes usar como programador ISP (In-System Programmer).
2. Instalar el Driver CH340E: La interfaz USB a serial UART TTL CH340E requiere un driver para que tu computadora la reconozca. Descarga e instala el driver adecuado para tu sistema operativo desde la página del fabricante o de un proveedor confiable de componentes electrónicos.
3. Prueba con el Ejemplo “Blink”: Una vez que el bootloader esté cargado y el driver instalado, conecta tu Arduino en protoboard a la computadora a través del USB. Abre el Arduino IDE. En el menú “Herramientas > Placa”, selecciona “Arduino Uno”. Luego, en “Herramientas > Puerto”, elige el puerto COM que corresponde a tu interfaz CH340E (puedes ver el puerto en el administrador de dispositivos de tu sistema operativo).
Abre el ejemplo “Blink” desde “Archivo > Ejemplos > 01.Basics > Blink”. Haz clic en el botón “Subir” (la flecha hacia la derecha). Si todo está correcto, el Arduino IDE mostrará un mensaje de “Subida completada” y el LED conectado al pin 13 en tu protoboard comenzará a parpadear.
Preguntas Frecuentes (FAQ)
- ¿Necesito soldar para construir este Arduino en protoboard? No, la protoboard permite realizar conexiones sin soldadura, lo que es ideal para prototipos y aprendizaje.
- ¿Puedo usar un cristal de cuarzo de otra frecuencia? Sí, pero debes asegurarte de configurar el Arduino IDE correctamente para la frecuencia del cristal que uses. 16 MHz es la frecuencia estándar para Arduino Uno.
- ¿Qué es el bootloader y por qué es necesario? El bootloader es un programa que se carga inicialmente en el microcontrolador y permite cargar nuevos programas (sketches) a través del puerto serial USB sin necesidad de un programador externo cada vez.
- ¿Dónde puedo conseguir los materiales? Puedes encontrar todos los componentes en tiendas de electrónica online o físicas. Busca proveedores confiables de componentes Arduino y electrónicos.
- ¿Qué ventajas tiene construir mi propio Arduino en protoboard? Principalmente, el aprendizaje. Construir tu Arduino te ayuda a entender cómo funciona internamente una placa Arduino, la función de cada componente y cómo interactúan entre sí. También te da la base para diseñar tus propias PCBs (placas de circuito impreso) en el futuro.
Conclusión
¡Felicidades! Has dado tus primeros pasos en el mundo del código Arduino y has aprendido a construir tu propia placa en protoboard. Ahora tienes una base sólida para explorar proyectos más complejos, experimentar con sensores, actuadores y shields, y dar rienda suelta a tu creatividad electrónica. El conocimiento adquirido aquí te permitirá no solo programar Arduinos, sino también comprender mejor la electrónica digital y cómo integrarla en tus propios diseños. ¡Sigue experimentando y creando!
