6 PRACTICA-1 “HOLA MUNDO”

La primera práctica consiste en prender y apagar un Led, esta práctica para cualquier tipo de microcontrolador se le conoce como el “Hola Mundo”.

La secuencia para programar un Microcontrolador es la siguiente:

1.1.  Primeramente se adjuntan las librerías a usar, se declaran las variables globales, constantes y/o prototipos (funciones), esto se agrega antes de la estructura “setup(){——-}”.

1.2.  Después se configuran los periféricos (esto se agrega en la estructura “setup(){—–}”). En esta práctica utilizaremos un Bit del Arduino, este bit es el “Pin 13”, lo utilizaremos ya que el Arduino tiene un LED(un foquito) en este Bit. Configurar el bit digital, significa que lo vamos a poner como de Entrada o de Salida, en este ejemplo, vamos a ordenarle prender y apagar un bit, por lo tanto se configura de salida.

1.3.  Posteriormente se hará uso de los periféricos y se programará una rutina en la estructura “Loop()”.

1.4.  Nomenclatura de colores, para diferenciar lo que está escrito en los ejemplos:

  • Color Azul.- “Código del programa”.
  • Color Naranja.- “Comentarios”.

Curso de Arduino

Curso de Arduino

Bienvenidos al Mundo de Arduino

Facultad de Informática de Mazatlán

Ing. José Alfonso Brito Rojas

 

Contenido

1       INTRODUCCIÓN.. 3

2       ARDUINO.. 7

3       BOOTLOADER. 9

3.1         Ventajas. 9

3.2         Funcionamiento. 9

4       INSTALEMOS EL ARDUINO EN LA PC. 10

5       EL AMBIENTE DE DESARROLLO DE ARDUINO.. 13

5.1         LENGUAJE DE REFERENCIA.. 14

5.2         LIBRERIAS INCLUIDAS EN LA PLATAFORMA.. 16

5.3         ESTRUCTURAS. 16

5.4         ESTRUCTURA BASICA DE UN PROGRAMA EN ARDUINO.. 17

6       PRACTICA-1  “HOLA MUNDO”. 18

6.1         PROGRAMA.. 18

7       PRACTICA-2  “HOLA MUNDO 2”. 19

7.1         PROGRAMA: 20

8       PRACTICA-3  SECUENCIA DE LUCES IDA Y VUELTA. 21

8.1         PROGRAMA.. 21

9       PRACTICA-4  ON_OFF DE LED DESDE LA PC. 23

9.1         PROGRAMA EN ARDUINO (FIRMWARE). 23

9.2         PROGRAMA EN VISUAL C#. 24

10          PRACTICA-5 CONTROL DESDE LA PC DE 8 LEDS. 26

10.1      PROGRAMA EN ARDUINO (FIRMWARE). 26

10.2      PROGRAMA EN VISUAL C#. 27

11          REFERENCIAS. 32

1     INTRODUCCIÓN

Arduino es una plataforma de electrónica abierta para la creación de prototipos basada en software y hardware flexibles y fáciles de usar. Se creó para artistas, diseñadores, aficionados y cualquiera interesado en crear entornos u objetos interactivos.

Arduino puede tomar información del entorno a través de sus pines de entrada de toda una gama de sensores y puede afectar aquello que le rodea controlando luces, motores y otros actuadores. El microcontrolador en la placa Arduino se programa mediante el lenguaje de programación Arduino(basado en Wiring) y el entorno de desarrollo Arduino (basado en Processing). Los proyectos hechos con Arduino pueden ejecutarse sin necesidad de conectar a un ordenador, si bien tienen la posibilidad de hacerlo y comunicar con diferentes tipos de software (p.ej. Flash, Processing, MaxMSP).

CONTROL DESDE LA PC Y ARDUINO DE 8 LEDS

Esta práctica  se implementa la PC y Arduino para controlar 8 LEDs,  consiste en controlar un conjunto de LEDs (8 en total) desde una PC, de tal forma conjuntar la Practica donde se implementa la PC y Arduino para controlar 8 LEDs, por medio de un algoritmo sencillo. Este algoritmo genera un “dato”, el dato determina en forma binaria que PIN va a encender. Usaremos el mismo firmware de la practica anterior, solo cambiara el programa en Visual C#.

Circuito:

arduino15

10.1        PROGRAMA EN ARDUINO (FIRMWARE)

/*——————————————–Programa———————————————– */

// Algoritmo.- Prender desde el Pin 2-9 (LEDs) mediante un arreglo donde se encuentran ubicados
// los PINES del Arduino; usando un ciclo “FOR” acceder y prender cada uno de los PINES.

int pin[]={2,3,4,5,6,7,8,9}, i; // Se declara este arreglo, para el acceso a cada PIN que se va a usar,

// Se inicializan del Pin 2 – 9  Digital como Salida. También se declara “i” para el uso como contador

byte Csharp=0;   //Se declara la variable Csharp tipo byte que vamos a recibir de la PC

void setup()

{

Serial.begin(9600);  // Se inicializa el Puerto Serial (RS-232)  a 9600 bps

for(i=0;i<8;i++){          //Ciclo para configurar cada uno de los PINES como de Salida.

  pinMode(pin[i], OUTPUT);

}

}

void loop()

{

if (Serial.available() > 0) {       //Pregunta si hay datos que recibir del Puerto Serial.

Csharp=Serial.read();        //Se guarda lo mandado de la PC en la variable Csharp.

 for(i=0;i<8;i++){   

                      digitalWrite(pin[i],bitRead(Csharp, i)); //Se analiza bit por bit el dato Csharp con la

}// función “bitRead”. La variable “i”, indica el bit del byte y también el numero del Pin en el    

}//arreglo, cuando i=0, entonces analizará el “bit 0” del byte Csharp: Si el “bit 0” = 1, prenderá el

} // “pin[0]” osea el “PIN 2”. Si es “0” entonces lo apagará y así sucesivamente dependiendo del ciclo.

/*—————————————-Fin de Programa——————————————— */

ON_OFF DE LED DESDE LA PC Y ARDUINO

Esta práctica consiste en encender un LED desde la PC mediante la interface RS-232 (COM#) que los dos dispositivos poseen. Se aprenderá de forma sencilla configurar el periférico ya mencionado con el programa Visual C#. El programa tendrá un botón el cual mandará a encender y apagar el PIN 2 del Arduino. El firmware del Arduino esperará a recibir información de la PC, para posteriormente analizarla y tomar la decisión indicada.

Ejemplo sencillo de prender y apagar un led desde la PC.
Conexión sencilla entre la PC y Arduino

Usemos el circuito de la figura 8.1 de la practica-3.

arduino15

9.1        PROGRAMA EN ARDUINO (FIRMWARE)

/*——————————————–Programa———————————————– */

// Algoritmo.- Prender desde el Pin 2-9 (LEDs) mediante un arreglo donde se encuentran ubicados
// los PINES del Arduino; usando un ciclo “FOR” acceder y prender cada uno de los PINES.

int pin[]={2,3,4,5,6,7,8,9}, i; // Se declara este arreglo, para el acceso a cada PIN que se va a usar,

 // Se inicializan del Pin 2 – 9  Digital como Salida. También se declara “i” para el uso como contador

byte Csharp=0;   //Se declara la variable Csharp tipo byte que vamos a recibir de la PC

void setup()

{

Serial.begin(9600);  // Se inicializa el Puerto Serial (RS-232)  a 9600 bps

for(i=0;i<8;i++){          //Ciclo para configurar cada uno de los PINES como de Salida.

      pinMode(pin[i], OUTPUT);

}

}

void loop()

{

if (Serial.available() > 0) {       //Pregunta si hay datos que recibir del Puerto Serial.

Csharp=Serial.read();        //Se guarda lo mandado de la PC en la variable Csharp.

      for(i=0;i<8;i++){   

                      digitalWrite(pin[i],bitRead(Csharp, i)); //Se analiza bit por bit el dato Csharp con la

      }// función “bitRead”. La variable “i”, indica el bit del byte y también el numero del Pin en el    

}//arreglo, cuando i=0, entonces analizará el “bit 0” del byte Csharp: Si el “bit 0” = 1, prenderá el

} // “pin[0]” osea el “PIN 2”. Si es “0” entonces lo apagará y así sucesivamente dependiendo del ciclo.

/*—————————————-Fin de Programa——————————————— */

SECUENCIA DE LUCES CON ARDUINO

Este programa consiste en crear  un programa de secuencia de luces con arduino.  La secuencia de encendido y apagado de LEDs será programada de ida y vuelta. Aprenderán como se accede a cada uno de los PINES para su configuración y manipulación por medios de ciclos.

Construya el circuito que se muestra en la figura 8.1:

Figura 8.1.- Circuito de la practica-3

Nota: la patita más larga del LED es Positivo “+” y la más corta Negativo “-”. En este circuito todas las patitas negativas van a Tierra.

Material que utiliza en este circuito:

  • Cables
  • 8 LEDs (foquitos)
  • 1 protoboard.

 

8.1 PROGRAMA

/*——————————————–Programa———————————————– */

// Algoritmo.- Prender desde el Pin 2-9 (LEDs) mediante un arreglo donde se encuentran ubicados
// los PINES del Arduino y usando un ciclo “FOR” acceder y prender cada uno de los PINES.

int pin[]={2,3,4,5,6,7,8,9}; // se declara este arreglo, para el acceso a cada PIN que se va a usar.

// Se inicializan del Pin 2 – 9 Digital como Salida.

ARDUINO – HOLA MUNDO 2

Esta práctica consiste en prender y apagar un Led, mediante la lectura de un bit o pin con un botón. Analizaremos si el bit o pin recibe un “0” ó “1”.

En caso de:

  • Si es “1” el Pin 2, Se apaga el LED del Pin 13.
  • Si es “0” el Pin 2, Se prende el LED del Pin 13.

Analice el funcionamiento del botón:

Construya el circuito que se muestra en la figura 7.1:

 

Figura 7.1.- Circuito de la practica-2

Material extra que utiliza en este circuito:

  • 1 resistencia de 1kohms.
  • 1 push buttom (botón).
  • 1 protoboard.
  • Cables.