¿Qué es Arduino?

Foro FRCUBA

¿Qué es Arduino? (Leído 335 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado

co7wt

  • Moderador
  • *
  • Novato
  • Mensajes: 23
  • Sexo: Masculino
    • Ver Perfil
    • A cuban ham radio story
¿Qué es Arduino?
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.
« Última modificación: 31 de Marzo de 2017, 03:28:48 pm por cm7ohm »
Hamradio & GNU/Linux mis dos pasiones.
Programando para la comunidad FLOSS & Hamradio desde 2010.
Todo mi software en https://github.com/pavelmc/

Desconectado

co8phg

  • *
  • Novato
  • Mensajes: 13
  • Sexo: Masculino
    • Ver Perfil
#1 Re:¿Qué es Arduino?
11 de Marzo de 2017, 10:06:42 am
Hola tocayo cómo puedo aprender a programar arduino.
« Última modificación: 11 de Marzo de 2017, 03:21:18 pm por cm7ohm »

Desconectado

co7wt

  • Moderador
  • *
  • Novato
  • Mensajes: 23
  • Sexo: Masculino
    • Ver Perfil
    • A cuban ham radio story
#2 Re:¿Qué es Arduino?
13 de Marzo de 2017, 10:55:41 am
Hola tocayo cómo puedo aprender a programar arduino.

Saludos tocayo, lo primero es saber si tienes alguna experiencia con CUALQUIER lenguaje de programación.

Siempre es importante tener una base, aunque sea diferente (al final todos los lenguajes de programación siempre tienen muchas cosas en común), si no tienes la base ya la cosa se complica.

La ayuda del arduino tiene el listado de cada uno de los comandos básicos y en muchas ocasiones incluso con segmentos de código de ejemplo de como se usan.

El IDE cuando lo instalas  tiene muchos ejemplos que te pueden ilustrar de como hacer cosas, pues están medianamente comentados con las cosas que hacen.

Lo otro es meter de'o.

En internet hay buenos u malos tutoriales, voy a buscar algunos de los sencillos para principaintes y subirlos a este post para
Hamradio & GNU/Linux mis dos pasiones.
Programando para la comunidad FLOSS & Hamradio desde 2010.
Todo mi software en https://github.com/pavelmc/

Desconectado

co8phg

  • *
  • Novato
  • Mensajes: 13
  • Sexo: Masculino
    • Ver Perfil
#3 Re:¿Qué es Arduino?
13 de Marzo de 2017, 11:37:00 am
Puez imagina que estoy en 0 pero me interesa aprender auque sea de 0, tengo algunos tutos que me mando W4QAM, me gusta y me interesa pero no puedo empesar hasta que no arme el DDS con el pro mini pues hasta ahora no lo he podido programar, me da bateo con la interface, y coger el arduino uno que es el que tengo montado para experimentar, dime si tienes documentacion de c++ o algo para empesar.
Saluos.
73

Desconectado

co7wt

  • Moderador
  • *
  • Novato
  • Mensajes: 23
  • Sexo: Masculino
    • Ver Perfil
    • A cuban ham radio story
#4 Re:¿Qué es Arduino?
14 de Marzo de 2017, 05:44:23 pm
Bueno, lo prometido es deuda, adjunto a este post hay un tutorial bien básico para principiantes (y en español !!!) por donde puedes empezar a aprender las particularidades del lenguaje.

Yo no te recomendaría que te metieras completo en el sketch (así se llaman a los programas, es español lo pronunciamos "esketch") del DDS pues ese de seguro combina muchas cosas que será mas complicado entender.

Mi recomendación es revisar los ejemplos del software e ir aprendiendo al menos como manejar cada una de estas cosas (si el orden SI importa)

  • Blink, o sea como hacer parpadear un led en una pata
  • Blink múltiple, o sea como hacer parpadear muchos leds con secuencias diferentes, esto para aprender como manipular las SALIDAS
  • Blink ligado a un botón, o sea cada vez que le de a un botón el led se apaga o enciende, en dependencia de como estaba; esto para practicar las entradas
  • Como modificar el brillo de un led usando modulación de ancho de pulsos (PWM)
  • Como usar las entradas analógicas, para por ejemplo leer el valor de una resistencia variable y poner el brillo del led en dependencia del valor leído, o sea controlar el brillo del led desde el control
  • Manipular el puerto serie, ahora luego de hacer el anterior, que a la vez me diga por el puerto serie que valor de brillo (0>100%) está puesto en el led; para aprender a trabajar con el puerto serie.


Cuando aprendan a hacer esto ya tendrán el agua a la rodilla, de ahí en adelante es aprender a usar las librerías y meterse donde el agua pasa de la cintura para aprender a nadar como dios manda...

Una cosa que siempre es muy importante es tratar de descifrar que hacen las librerías, esto ayuda a aprender trucos y nuevos comandos que no son muy comunes.

Como siempre, pregunten sin pena...

Nota: el adjunto tiene  ~1Mb, por las restricciones del foro es imposible subirlo, a los interesados se los puedo mandar por email, escríbanme a pavelmc (en) gmail (punto) com (ya saben como armar esa dirección, es para evitar spam...)

73 de CO7WT
Hamradio & GNU/Linux mis dos pasiones.
Programando para la comunidad FLOSS & Hamradio desde 2010.
Todo mi software en https://github.com/pavelmc/

Desconectado

co7wt

  • Moderador
  • *
  • Novato
  • Mensajes: 23
  • Sexo: Masculino
    • Ver Perfil
    • A cuban ham radio story
#5 Re:¿Qué es Arduino?
14 de Marzo de 2017, 05:52:56 pm
Ha !!!!

Encontré un libro en español (PDF) muy bueno con diagramas, código y ejercicios... MUY BUENO...

Pero pesa ~13 MB...

Los que deseen pueden solicitarlo a mi email, haciendo notar el tamaño máximo del adjunto...

Escríbanme a pavelmc (en) gmail (punto) com (ya saben como armar esa dirección, es para evitar spam...)

73 de Pavel CO7WT
Hamradio & GNU/Linux mis dos pasiones.
Programando para la comunidad FLOSS & Hamradio desde 2010.
Todo mi software en https://github.com/pavelmc/

Desconectado

cm8fpc

  • Administrador
  • *
  • Usuario Completo
  • Mensajes: 58
  • Sexo: Masculino
    • Ver Perfil
    • Blog JacksWireless
#6 Re:¿Qué es Arduino?
25 de Marzo de 2017, 10:33:01 am
Pues imagina que estoy en 0 pero me interesa aprender auque sea de 0, tengo algunos tutos que me mando W4QAM, me gusta y me interesa pero no puedo empezar hasta que no arme el DDS con el pro mini, pues hasta ahora no lo he podido programar, me da "bateo" con la interface, y coger el arduino uno, que es el que tengo montado para experimentar, dime si tienes documentación de c++ o algo para empezar.
Saludos.
73
Oye el TFA que yo tengo acá en Sancti Spiritus es de los que llevan un display mediano, ahora no sé si ese servirá o al menos se le podría sacar alguna utilidad en el proyecto, lo que voy a hacer es desarmarlo y llevar las partes, si no me dices, para no andar cargando tarecos por gusto.
« Última modificación: 31 de Marzo de 2017, 04:39:58 pm por cm7ohm »
"No creo que haya alguna emoción más intensa para un
 inventor que ver alguna de sus creaciones funcionando.
 Esa emoción hace que uno se olvide de comer, de dormir,
 de todo." - Nikola Tesla

Desconectado

co8phg

  • *
  • Novato
  • Mensajes: 13
  • Sexo: Masculino
    • Ver Perfil
#7 Re:¿Qué es Arduino?
25 de Marzo de 2017, 07:35:30 pm
Saludos mi hermanazo.
Pues no desarmes nada tráelo así mismo eso sirve. ok
« Última modificación: 26 de Marzo de 2017, 10:31:28 am por cl8fpc »

Desconectado

cl2jgm

  • *
  • Novato
  • Mensajes: 17
  • Sexo: Masculino
    • Ver Perfil
#8 Re:¿Qué es Arduino?
21 de Diciembre de 2017, 01:05:28 pm
muy interesante el tema, lo voy sigiendo

Desconectado

cl3cjm

  • *
  • Novato
  • Mensajes: 2
  • Sexo: Masculino
    • julio cesar marrero
    • Ver Perfil
#9 Re:¿Qué es Arduino?
10 de Enero de 2018, 12:02:22 pm
colegas esto de arduino es muy interesante cuenten con migo