Copy Link
Add to Bookmark
Report

ATDT magaZINE 0x01-06

eZine's profile picture
Published in 
ATDT Magazine
 · 3 years ago

  

_________________________________________________________________________________

/*
ATDT MAGAZINE :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::[0x01-06]:
NUMERO 0x01::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

"introducción a Arduino" por lmtreser
*/



Arduino es un completo ecosistema formado por software y hardware pensado originalmente
para acercar la tecnología y el uso de microcontroladores a aficionados, artistas y
personas con ganas de aprender y crear. Permite construir objetos para interactuar con
el mundo que los rodea. Desde el punto de vista técnico, básicamente podríamos resumir
todo como un sistema que recibe información a través de entradas, las procesa de acuerdo
a un firmware escrito por un humano, y actúa en consecuencia a través de salidas de señal.
El software se puede descargar libremente (y gratis) y las placas se pueden comprar a
muy bajo costo o construirlas, ya que toda la documentación necesaria para hacerlo está
publicada en la web.

El fin de este artículo es conocer el mundo Arduino, instalar el software y descargar
un programa sencillo en una placa. Esto nos acercará a los principios de la programación
e interacción con componentes electrónicos.

=====> EL SOFTWARE

Para poder trabajar con una placa Arduino necesitamos instalar el entorno de desarrollo
(IDE). El IDE está escrito en Java (basado en Processing y Wiring), es multiplataforma
y open source. Dicho entorno nos permite escribir el código, compilarlo y cargarlo en
el hardware. Al momento de escribir este artículo la versión disponible es la 1.8.13 y
se puede descargar desde www.arduino.cc/en/software.
El flujo de trabajo se puede resumir a los siguientes pasos:

1. Realizar las conexiones de sensores y actuadores a la placa.
2. Conectar la placa al puerto USB de una computadora.
3. Ejecutar el IDE.
4. Elegir el modelo de la placa que estamos usando (menú Herramientas>Placa>Arduino UNO).
5. Elegir el puerto donde está conectada. En M$ Windows probablemente habrá que instalar
algún driver y en GNU/Linux habrá que otorgar permisos de acceso a los puertos USB al
usuario.
6. Escribir el código.
7. Transferirlo a la placa desde el botón SUBIR.

=====> EL HARDWARE

Arduino ofrece una gran cantidad de productos de hardware para distintos fines y niveles
de conocimientos. En este texto me voy a centrar en la placa más popular: Arduino UNO.
Está placa está construida alrededor de un microcontrolador ATmega328 de ATMEL (adquirida
hace unos años por Microchip). Funciona a 16MHz, y posee toda la circuitería auxiliar:
regulador de tensión, comunicación USB, conectores de ingreso y salida de datos, etc.
Tenemos a nuestra disposición 14 patitas digitales (E/S), 6 salidas de tipo PWM, 6 entradas
analógicas, 32kb de memoria flash (de los cuales 0.5kb son usados por el bootloader),
2kb de SRAM y 1kb de memoria EEPROM.
El pinout de la placa es el siguiente:


+-----+
+----[PWR]-------------------| USB |--+
| +-----+ |
| GND/RST2 [ ][ ] |
| MOSI2/SCK2 [ ][ ] A5/SCL[ ] |
| 5V/MISO2 [ ][ ] A4/SDA[ ] |
| AREF[ ] |
| GND[ ] |
| [ ]N/C SCK/13[ ] |
| [ ]IOREF MISO/12[ ] |
| [ ]RST MOSI/11[ ]~|
| [ ]3V3 +---+ 10[ ]~|
| [ ]5v -| A |- 9[ ]~|
| [ ]GND -| R |- 8[ ] |
| [ ]GND -| D |- |
| [ ]Vin -| U |- 7[ ] |
| -| I |- 6[ ]~|
| [ ]A0 -| N |- 5[ ]~|
| [ ]A1 -| O |- 4[ ] |
| [ ]A2 +---+ INT1/3[ ]~|
| [ ]A3 INT0/2[ ] |
| [ ]A4/SDA RST SCK MISO TX>1[ ] |
| [ ]A5/SCL [ ] [ ] [ ] RX<0[ ] |
| [ ] [ ] [ ] |
| UNO_R3 GND MOSI 5V ____________/
\_______________________/


http://busyducks.com/wp_4_1/2015/11/16/ascii-art-arduino-pinouts/


=====> ESTRUCTURA DE UN PROGRAMA

Podríamos decir que el lenguaje de programación que se utiliza en Arduino es C++ y
el gran trabajo que tiene es una API que nos abstrae de la capa de hardware.
La estructura básica del lenguaje de programación Arduino es bastante simple y se
organiza en al menos dos partes o funciones que encierran bloques de declaraciones.
Ambas funciones son requeridas para que el programa funcione.

****************************
* //esto es un comentario *
* *
* void setup() { *
* instrucciones; *
* } *
* *
* void loop() { *
* instrucciones; *
* } *
****************************

La función setup() es ejecutada una vez al comenzar a correr el programa y es usada
generalmente para hacer configuraciones, por ejemplo asignar los modos de pines o
inicializar las comunicaciones serie.
La función loop() se ejecuta a continuación e incluye el código que se ejecuta
continuamente leyendo entradas, activando salidas, etc. Esta función es el núcleo
de todos los programas Arduino y hace la mayor parte del trabajo.

=====> ¡HOLA MUNDO CON ARDUINO!

Vamos a escribir y correr nuestro primer programa en una placa Arduino, así que manos
a la obra:

EL CIRCUITO. Nuestro primer proyecto será encender y apagar un LED. Un LED es un diodo
emisor de luz, un componente que cuando lo atraviesa una corriente eléctrica libera
energía lumínica. El LED tiene dos patitas, ánodo que es el positivo y cátodo que es
el negativo. Por desgracia no podemos conectar un LED directamente a alguna de las
salidas de la placa ya que la tensión con la que trabaja Arduino (5V), lo destruiría.
Tendremos que usar una resistencia, que es un componente que se opone al paso de la
corriente eléctrica. Esto nos permitirá limitar la cantidad de corriente que pasará por
el LED.

|\ | LED
|------| /|---------(GND)
| |/ |
|
|------[-----]------(13)
RESISTENCIA


Arduino UNO trae soldado en la placa un pequeño LED junto a su resistencia en el pin
digital número 13, por lo tanto por ahora no tendremos que conectar nada a la misma.

EL CÓDIGO. Las programa que se encargará de darle vida a nuestro hardware es el
siguiente:

***************************************************************************************
* void setup() { *
* // inicializar el pin digital 13 como salida. *
* pinMode(13, OUTPUT); *
* } *
* *
* // la función loop se ejecuta una y otra vez *
* void loop() { *
* digitalWrite(13, HIGH); // enciendo el LED *
* delay(1000); // espero un segundo *
* digitalWrite(13, LOW); // apago el LED *
* delay(1000); // espero un segundo *
* } *
***************************************************************************************

+/ pinMode(numeropin, modo). Permite configurar como se comportará la patita digital,
en nuestro caso será una salida.

+/ digitalRead(numeropin). Permite escribir un estado en la patita digital, HIGH para
enviar un 1 (encendido) y LOW para enviar un 0 (apagado).

+/ delay(milisegundos). Genera un retardo de tiempo en milisegundos.

Es muy recomendable que vayan mirando la referencia de la API en el sitio de Arduino:
www.arduino.cc/reference/en/

¡Hasta la próxima!

******************************************************
** lmstreser **
** **
** BLOG: http://www.automatismos-mdq.com.ar/blog/ **
** TELEGRAM: https://t.me/ElectronicaParaTodos **
******************************************************

_________________________________________________________________________________
!EOF -> atdt-zine-0x01-06.txt

← previous
next →
loading
sending ...
New to Neperos ? Sign Up for free
download Neperos App from Google Play
install Neperos as PWA

Let's discover also

Recent Articles

Recent Comments

Neperos cookies
This website uses cookies to store your preferences and improve the service. Cookies authorization will allow me and / or my partners to process personal data such as browsing behaviour.

By pressing OK you agree to the Terms of Service and acknowledge the Privacy Policy

By pressing REJECT you will be able to continue to use Neperos (like read articles or write comments) but some important cookies will not be set. This may affect certain features and functions of the platform.
OK
REJECT