DCcduino UNO – Clon del Arduino Uno

DCcduino usb drivers (CH340 / CH341 chipset)

Acabo de recibir otra plataforma Arduino. Es un tablero DCcduino (un clon de Arduino Uno). Como he tenido algunas dificultades para que se reconozca por mi MacBook, me decidí a compartir sus Drivers. Esta tarjeta tiene un chip de CH340-USB a serie. Usted puede encontrar los controladores para este chip en el sitio web del fabricante chino, aquí:

http://www.wch.cn/downloads.php?name=pro&proid=5

O descargarlo directamente desde aquí. El archivo contiene controladores para plataformas Mac, Linux y Windows.

DCcduino_ch340-drivers

Espero que esto les ayude.

UPDATE para los usuarios de Mac con Yosemite:

Por favor, siga estas instrucciones adicionales:

  1. Instale el controlador CH340.
  2. Abre la Terminal: sudo nvram boot-args=”kext-dev-mode=1″
  3. Reinicia tu equipo.

Arduino y Bluetooth FireFly RN41 o 42

El siguiente tema es agregarle un modulo Bluetooth al Arduino para podernos conectar al arduino de forma inalámbrica utilizando protocolos sencillos de comunicación como el RS232 o mejor conocido como serie.

Si estás utilizando un Arduino, puede conectar el  Bluetooth directamente en él.
Si está utilizando otro modelo de Arduino, puede soldar un conjunto de conectores macho al Bluetooth, conéctelo a un tablero, y el uso de cable de puente para conectar a la placa Arduino, siguiendo el esquema de conexión se muestra en la imagen 1.
Para alimentar el Bluetooth es necesario conectarlo al mismo Arduino, ya que cuenta con voltaje de 3.3V

Conexion Arduino y Bluetooth

Figura 1.- Diagrama de conexión de Arduino y Bluetooth

Probando la conexión del Arduino con el Bluetooth

Sube el siguiente programa a tu Arduino. Tendrá que desconectar temporalmente el Bluetooth de sus pines TX y RX,  conecte el Arduino en tu ordenador con el tablero del desbloqueo de FTDI (o un cable FTDI compatible).
Este programa espera órdenes a través del puerto serie y se hace eco de los comandos de nuevo para que pueda estar seguro de que los recibió. Caracteres que se enviaran por la consola Serie:

  • A  – activará el Led del pin 13.
  • a   – desactivará el Led del pin 13.

Arduino – Control de Motor a Pasos

Hola ya teníamos tiempo que no subíamos practicas nuevas, empezaremos a subir ejemplos y practicas Saludos a todos.

 Integración de Csharp – Arduino – Motor a Pasos

La siguiente practica consiste en mover un motor a pasos con arduino  (Unipolar) 7.5º/paso desde un programa de cSharp (C#) al ángulo que se desee con una barra desde 1 a 360 grados. En si la practica es un control de motor a pasos

Material
  • Arduino.
  • 4 TIC  41 o 120.
  • Resistencias.
  • Motor paso a paso.
  • Protoboard.
  • Cables.
  • Motor a Pasos
Desarrollo

Para que la práctica se llevara a cabo se debe mencionar como se simularon cada uno de los componentes que se necesitan para posicionar el eje del motor.

  1. Inicializar la posición inicial o home.
    Para colocar el motor a pasos es necesario realizar un recorrido al arreglo, para que no brinque en el primer recorrido.
  2. Mover el eje a los grados como prueba.
    Para mover el eje se tomo en cuenta que el motor realiza 48 pasos para dar una vuelta completa, pero si solo se tomarán los 48 pasos no se apreciaría bien el movimiento así que se optó por considerar los medios pasos, es decir, para que el motor de una vuelta completa se deben de dar 96 medios pasos. Cada medio paso es equivalente a 3.75 grados. Para hacer que el eje se moviera fue necesario crear una interfaz en CSharp, la cual contiene un trackbar, el cual tiene señalados ciertos parámetros los cuales permiten hacer girar el motor hacia los grados señalados únicamente en el scroll. Para hacer girar el motor, se posiciono el trackbar a 180 grados.
  3. Regresar a grados para comprobar funcionamiento.
    Para hacer que el motor regrese 90 grados se posicionó el trackbar a 90 grados hacia atrás.

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).

Voltímetro con Arduino y C#

Elaboración de un Voltímetro:

Alumno:

Franco González juan Ignacio

Planteamiento del problema:

La idea de crear un voltímetro, surge de la necesidad de tener un circuito capaz de medir el voltaje que se recibe entre un rango de valores de 0 a 50v utilizando Arduino y C#.

Introducción:

Para empezar con el desarrollo del dispositivo, es necesario primeramente definir lo que es un voltímetro: instrumento que sirve para medir la diferencia de potencial entre dos puntos de un circuito eléctrico.

Teniendo esa definición podemos decir que crearemos un dispositivo capaz de medir el voltaje de una fuente de poder cualquiera en un rango de 0 a 50v e inclusive poder apreciar la oscilación entre sus valores si es que la hubiera.

El circuito que utilizaremos para poder hacer nuestro voltímetro es el siguiente:

resistencias-voltimetro

 

En esta imagen, se aprecia que se necesitaran dos resistencias: un potenciómetro, que ayudara como resistencia de 9 kΩ ya que funcionara como una resistencia variable, que al momento de realizarlo en físico, se tendrá que ajustar para que de la cantidad ya mencionada, además utilizar una de 1 kΩ para completar el circuito, no sin antes poner entre medio de ambas un cable directo a la placa de arduino que ira directamente al puerto 3 del análogo, que programaremos para poder medir la señal de la fuente de poder que ira conectada directamente al potenciómetro y no olvidarse de poner la tierra del otro lado saliendo de la resistencia de 1 kΩ para completar nuestro circuito.

Con estas especificaciones, ya podemos pasar a la fase de desarrollo.

Desarrollo: 

Para empezar a  poder desarrollar nuestro voltímetro utilizando Arduino y C#, primeramente hay que realizar una práctica donde se aplicaran los mismos principios y poder hacer algunas pruebas del funcionamiento; utilizar un potenciómetro como fuente a medir y una serie de 10 leds que prenderán o apagaran según vayan variando los datos que sean leídos por el arduino desde el potenciómetro, para esta primera práctica, se desarrollo el siguiente código para nuestra plataforma arduino:

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.