23
« en: 27 de Febrero de 2017, 12:54:36 pm »
Saludos a todos los radioaficionados interesados en el tema de los Arduinos.
Para comenzar, haré un poco la historia de los Arduinos, què son, cómo se crearon y para qué sirven. Claro, como este es un foro pueden preguntar todo lo que deseen de este tema en particular, compartir código, hacer preguntas, etc.
Arduino es el nombre que se le da a una plataforma de desarrollo para micro-controladores (MCU) basados mayormente en los MCU de AVR (una firma de micro-controladores) especialmente en la familia ATMEGA de los cuales los ATMega328 son los principalmente usados.
Este proyecto - ya de escala mundial - surgió como una idea de un profesor (Maximo Banzi) de una universidad Italiana en una conversación en el "Bar de Arduino" (Arduino fue un Rey que gobernó Italia en el pasado) como una alternativa a las boards de desarrollo para microcontroladores de ese momento, cuyo costo era de unos $100 USD más el envío a Italia.
Este profesor aliado a otros desarrolladores (Uno colombiano y otro español) ayudaron a coadyuvar el proyecto dentro de la universidad; siempre se concibió como un proyecto de Hardware y Software Libre con todos los datos disponibles, hasta convertirse en lo que es hoy: el proyecto de prototipado de MCU más exitoso de la historia.
Este éxito se debe en gran parte a una genial idea: tanto los planos de las boards, como el software están basados en software libre y de código abierto, así como en hardware abierto; o sea cualquiera puede bajar los planos y fabricar su propia board arduino desde cero, que será totalmente compatible con el software de desarrollo.
Al ser una "plataforma" incluye tanto la parte de software como la de hardware, en el apartado del sofware tienen un entorno de desarrrollo (IDE) llamado "Arduino IDE" que es el la principal herramienta con librerías predefinidas, ejemplos de código, manejo de los bootloaders, etc.
(Intentaré hacer disponible el Arduino IDE en el área de descargas de FRCuba tan pronto sea posible, en el momento de este post la última versión es la 1.8.1 y pesa para windows unos 93 Mb y para linux 101 Mb)
Esta herramienta usa una simplificación del lenguaje C++ que es muy agradecida por los usuarios noveles, así que si conoces los rudimentos de C o C++ estarás como en casa. Si nunca has programado en estos lenguajes, no temas, la ayuda (que no te manda a internet como todo hoy día y se instala con el software) y los ejemplos te pueden servir de mucho. Por ejemplo programadores de PHP/Python se acomodarán muy fácil, pues estos lenguajes tienen elementos comunes y lógicas similares.
Es necesario decir que como todo lo tecnológicamente bueno, está en inglés, así que aquí tenemos un punto en contra a los que no dominan el lenguaje de Shakespeare.
En el apartado de hardware (que es por donde se conoce más la plataforma) tenemos un conjunto de bards (board = tablero, en nuestro caso placa con los componentes montados listos para usar) donde la más famosa es la "Arduino UNO R3", sobre la cual recaen casi todas las versiones de código a publicar, porque se ha convertido en algo así como el estándar del mercado.
Repasemos las posibilidades de la Board Arduino UNO R3 (R3 habla de la tercera revisión, que es la que corrigió algunos problemas y se convirtió en el estándar) o como se le conoce simple y coloquialmente: "UNO"
Procesador: ATMega328p
Flash: (Almacenar programa: 32 kbytes flash
RAM: 2 kbytes
EEPROM: 1 kbytes
Velocidad de Reloj: 6 MHz
Patas I/O disponibles: 14
De ellas PWM: 6
De ellas ADC: 6
Voltaje de trabajo: 5 V
Otros detalles:
- Tiene un regulador interno capaz de soportar entre 7 y 16 volt de entrada
- Dispone de 3.3 V para alimentar circuitos externos (100mA máx!)
- Dispone de una interfaz USB para alimentarla desde la PC.
- La Interfaz USB es un Puerto Serie que se usa para programar la board (bajar el firmware compilado por el software)
Estas características no dicen mucho a los usuarios que no están familiarizados con los MCU, pero a los que algunas vez han trabajado con PICs estos detalles parecen como el cielo, ya que un PIC16F628a solo tiene unos 2 kbytes de memoria y 1 kbyte de EEPROM con muchas menos patas disponibles, lo que limita las aplicaciones grandemente.
De todos modos "de todo hay en la viña del señor" y hay boards más chicas como las Pro o Pro Mini y más grandes y potentes como la MEGA2560 o las SMT32 que aparecen ahora en el mercado que no usan MCU de AVR sino de ST con hasta 128 kbytes, 44 pines y velocidades de reloj de hasta 72 MHz.
El gran problema en Cuba es siempre: "y dónde las consigo?"; si, porque encontré un gran proyecto que necesito y usa una board Arduino XXX...
Bueno, en Cuba no se de ningún sitio que las oferte, pero en internet se pueden comprar directamente en China por precios que varían siempre por debajo de $5 USD las board muy comunes, incluso la nueva board SMT32 para arduino se consigue por $2 USD, cariñosamente le llaman "blue pill" aludiendo a la conocida viagra pues esta board hace maravillas para el precio que tiene.
Así que si tienes un familiar/amigo puedes pedirle que busque en internet y te compre en china una board Arduino UNO que es la aconsejada para empezar, el costo será por debajo de $5 USD casi siempre. Luego es cosa de esperar a que te la traigan...
En este campo hay maravillas en cuanto a las cosas que se hacen con Arduino, desde un frente de un radio con generación de frecuencias, split, memorias, clarificador; hasta controles de Rotores de antenas, instrumentos varios, en fin: el cielo es el límite.
Por mi parte soy programador de Arduino con un gran proyecto entre manos: arduino-arcs y varias librerías (dentro de ellas una oficial en el soft Arduino IDE) por eso quisiera compartir con ustedes sus dudas o inicios en el mundo del Arduino a todos los que quieran participar.
La mesa esta servida, pregunten sin pena.