162

Arduino c++ y puerto serie

Embed Size (px)

Citation preview

Page 1: Arduino c++ y puerto serie
Page 2: Arduino c++ y puerto serie

Electrónica PIC

Arduino C++ y Puerto serie 2

Page 3: Arduino c++ y puerto serie

Índice

Presentación – 5

Descargas – 10

Funcionamiento – 14

Configuración Arduino – 24

Configuración Puerto serie – 32

Códigos Arduino – 41

Códigos C++ - 53

Visual Studio C++ – 63

Code::Blocks – 88

C++ Builder – 110

Extras - 127

Fotos – 147

Vídeo – 152

Enlaces – 155

Versión – 158

Autor - 161

Arduino C++ y Puerto serie 3

Page 4: Arduino c++ y puerto serie

Arduino C++ y Puerto serie 4

Page 5: Arduino c++ y puerto serie

Presentación

Arduino C++ y Puerto serie 5

Page 6: Arduino c++ y puerto serie

Presentación Este tutorial está dedicado a aquellas personas nóveles que inicia sus primeros

pinitos sobre el control del puerto en serie con el lenguaje C++ Win32 para varios compiladores e IDE. Aprenderás a comunicar envío y recibos de datos por el puerto serie con Arduino, en este caso encender y apagar un Led, también mostrar mensajes en el LCD de Arduino.

Los ejemplos están diseñados con el lenguaje C++ Win32 en modo consola para sus tres compiladores.

Aprenderás a instalar su librería paso a paso de control sobre el puerto serie.

En el momento que se creó este tutorial, se trabajó con:

Windows 10 de 64 bits.

Visual Studio 2017 Community, FrameWork 4.6.2.

Code::Blocks 16.1.

C++ Builder Starter 10.2 Tokyo.

Arduino IDE 1.8.2.

Placa de Arduino UNO y el LCD Keypad Shield.

Arduino C++ y Puerto serie 6

Page 7: Arduino c++ y puerto serie

Presentación

Todos los programas a usar son de uso libre o gratuito.

A lo largo del tutorial se usarán dos ejemplos de Arduino IDE, el primero

encender y apagar el Led 13 de la placa de Arduino UNO desde el PC con la

interfaz C++ de modo consola. El segundo ejemplo, mostrar en el LCD los

mensajes que llega desde el PC. Ambos ejemplos enviará mensaje al PC y C++

los recibe indicando cuando se a encendido o apagado el Led del pin 13.

Solo hay un único ejemplo de C++ en consola para todos los compiladores en

el cual solo cambia el menú principal para su ejecución, por ejemplo:

Arduino C++ y Puerto serie 7

Page 8: Arduino c++ y puerto serie

Presentación

Este tutorial puede ayudarte para un proyecto en el instituto, universidades,

cursos e incluso como hobby.

Ánimos y adelante. ;)

Arduino C++ y Puerto serie 8

Page 9: Arduino c++ y puerto serie

Arduino C++ y Puerto serie 9

Page 10: Arduino c++ y puerto serie

Descargas

Arduino C++ y Puerto serie 10

Page 11: Arduino c++ y puerto serie

Descargas

Las descargas más básicas son Arduino IDE para programar el microcontrolador

ATmega328p de la placa Arduino UNO, después escoges el compilador e IDE

que más le guste.

Arduino C++ y Puerto serie 11

Page 12: Arduino c++ y puerto serie

Descargas

Las descargas más básicas son

Arduino IDE para programar el

microcontrolador ATmega328p de

la placa Arduino UNO, después

escoges el compilador e IDE que

más le guste.

Todos los programas son libre o

gratuitos.

Descarga:

Arduino IDE.

Visual Studio 2017 Community.

Code:Blocks. (Ver. mingw-setup.exe).

C++ Builder Starter.

Librería desde la Web oficial.

Librería desde Electrónica PIC.

Librería desde Electrónica PIC.

Ejemplos del tutorial. (Con Librería).

Ejemplos del tutorial. (Con Librería).

Arduino C++ y Puerto serie 12

Page 13: Arduino c++ y puerto serie

Arduino C++ y Puerto serie 13

Page 14: Arduino c++ y puerto serie

Funcionamiento

Arduino C++ y Puerto serie 14

Page 15: Arduino c++ y puerto serie

Funcionamiento

Arduino C++ y Puerto serie 15

Page 16: Arduino c++ y puerto serie

Funcionamiento

Este tutorial consiste básicamente en enviar comandos a la placa de Arduino

desde el PC trabajando con C++ y espera respuesta.

Comandos a enviar desde C++ de PC a Arduino es:

Luz_ON

Luz_OFF

El PC o ordenador recibe estos datos de vuelta:

ON - Led encendido.

OFF - Led apagado.

Arduino C++ y Puerto serie 16

Page 17: Arduino c++ y puerto serie

Funcionamiento

Entre Arduino y el PC la comunicación es por el cable de USB. Se usa el

protocolo RS232 porque la placa Arduino y los driver que la componen

convierte en puerto serie en USB, aunque nosotros literalmente programamos

al puerto serie, ya se encarga las demás parte del USB sin preocuparnos.

Usando la misma comunicación y programación, si quieres comunicación sin

cables, puedes usar comunicaciones gracias a los módulos RF que puedes

conseguir a parte.

No trataremos en RF en este tutorial.

Arduino C++ y Puerto serie 17

Page 18: Arduino c++ y puerto serie

Funcionamiento

Empezamos con el lenguaje C++ Win32 del PC sobre envío de datos.

Para crear conexión con los puertos COM1 - COM9.

Serial* Arduino = new Serial("COM4");

Para crear conexión con los puertos COM10 en adelante.

Serial* Arduino = new Serial("\\\\.\\COM10");

Arduino C++ y Puerto serie 18

Page 19: Arduino c++ y puerto serie

Funcionamiento

Cuando C++ ejecuta esta instrucción, se envía este comando Luz_ON al puerto

serie.

Arduino lo entiende, envíe estos caracteres al PC o ordenador en este caso

llamado ON – Led encendido.. C++ lo imprime o muestra en pantalla.

cout << "Enviando: " << Luz_ON << endl; // Muestra en pantalla textos.

Puerto->WriteData(Luz_ON, sizeof(Luz_ON) - 1); // Envía al puerto el texto

"Luz_ON".

Arduino C++ y Puerto serie 19

Page 20: Arduino c++ y puerto serie

Funcionamiento

Estas instrucciones es para leer el puerto serie cuando recibe datos.

int n = Puerto->ReadData(lectura, 49); // Recibe datos del puerto serie.

if (n > 0)

{

lectura[n + 1] = '\0'; // Limpia de basura la variable.

cout << "Recibido: " << lectura << endl; // Imprime dato recibido.

cout << "-------------------" << endl;

}

Arduino C++ y Puerto serie 20

Page 21: Arduino c++ y puerto serie

Funcionamiento

Observando el código de Arduino.

// Si le llega el mensaje Luz_ON.

if (comando.equals("Luz_ON") == true)

{

digitalWrite(Led, HIGH); // Enciende el Led 13.

Serial.write("ON - Led encendido."); // Envía este mensaje a C++.

}

Arduino C++ y Puerto serie 21

Page 22: Arduino c++ y puerto serie

Funcionamiento

Ahora toca instalar y configurar Arduino IDE. El código completo para más

adelante. ;)

Si lo tienes instalado, conecta Arduino UNO al puerto serie y hacemos las

configuraciones en el puerto.

Arduino C++ y Puerto serie 22

Page 23: Arduino c++ y puerto serie

Arduino C++ y Puerto serie 23

Page 24: Arduino c++ y puerto serie

Configuración Arduino

Arduino C++ y Puerto serie 24

Page 25: Arduino c++ y puerto serie

Configuración Arduino

Arduino C++ y Puerto serie 25

Instalado Arduino IDE 1.8.2 desde

que se creó este tutorial.

Page 26: Arduino c++ y puerto serie

Configuración Arduino

Arduino C++ y Puerto serie 26

Vete a la barra de herramientas y

eliges tu placa de Arduino, en este

caso para el tutorial se usa Arduino

UNO.

Herramientas Placa:

“Arduino/Genuino Uno”

Arduino/Genuino Uno.

Page 27: Arduino c++ y puerto serie

Configuración Arduino

Arduino C++ y Puerto serie 27

Ahora elegimos como muestra en la

imagen, el puerto COM que te ha

tocado, en mi caso es el COM4 y el

tuyo puede ser otro puerto.

Page 28: Arduino c++ y puerto serie

Configuración Arduino

Arduino C++ y Puerto serie 28

Para asegurarnos de que todo

marcha bien, prueba un ejemplo

del parpadeo del Led 13 de

Arduino.

Page 29: Arduino c++ y puerto serie

Configuración Arduino

Arduino C++ y Puerto serie 29

Una vez que ya tenga el código

cargado y Arduino conectado al

ordenador o PC con el cable USB,

comprueba si te ha compilado y el

Led 13 parpadea.

Pulse Programa Subir o

directamente pulse “Control + U”.

Page 30: Arduino c++ y puerto serie

Configuración Arduino

Arduino C++ y Puerto serie 30

También se puede compilar desde

la flecha indicada en la imagen.

Muestra abajo la compilación

indicando la memoria usada.

Comprueba que el Led 13 está

parpadeando en cada segundo.

Page 31: Arduino c++ y puerto serie

Arduino C++ y Puerto serie 31

Page 32: Arduino c++ y puerto serie

Configuración Puerto serie

Arduino C++ y Puerto serie 32

Page 33: Arduino c++ y puerto serie

Configuración Puerto serie

Puede que no quieras el puerto

COM que te haya asignado

automáticamente, así que puedes

cambiarlo cuando quieras.

Si usas Windows 10, pulsa “Tecla

de Windows + X”

Pulsa Administrador de

dispositivos.

Arduino C++ y Puerto serie 33

Page 34: Arduino c++ y puerto serie

Configuración Puerto serie

Pulsa dos veces donde diga Arduino

Uno o con el botón derecho del

ratón y le das en “Propiedades”.

Arduino C++ y Puerto serie 34

Page 35: Arduino c++ y puerto serie

Configuración Puerto serie

Tiene que abrirse la ventana

Propiedades del puerto de Arduino.

Ahora toca configurar el puerto

serie y elegir el puerto COM

deseado.

Arduino C++ y Puerto serie 35

Page 36: Arduino c++ y puerto serie

Configuración Puerto serie

Pulsa la pestaña “Configuración de

puerto”.

Aunque no es necesario, lo

hacemos igualmente, pon en “Bits

por segundo” a 115200 baudios.

Para cambiar el puerto COM, pulsa

en “Opciones avanzadas…”.

Arduino C++ y Puerto serie 36

Page 37: Arduino c++ y puerto serie

Configuración Puerto serie

En la parte del “Número de puerto

COM:” en mi caso selecciono el

puerto COM7.

Luego pulsa Aceptar.

Arduino C++ y Puerto serie 37

Page 38: Arduino c++ y puerto serie

Configuración Puerto serie

En este caso tengo el puerto COM 7

ya seleccionado.

Arduino C++ y Puerto serie 38

Page 39: Arduino c++ y puerto serie

Configuración Puerto serie

En este caso tengo el puerto COM 7

ya seleccionado.

Vuelve a seleccionar el puerto COM

otra vez en el Arduino IDE.

Hasta aquí haz terminado.

En mi caso continuo con el puerto

serie COM4, en tu caso el que

quieras.

Arduino C++ y Puerto serie 39

Page 40: Arduino c++ y puerto serie

Arduino C++ y Puerto serie 40

Page 41: Arduino c++ y puerto serie

Códigos Arduino

Arduino C++ y Puerto serie 41

Page 42: Arduino c++ y puerto serie

Códigos Arduino

Ejemplo 1:

Se trata de enviar datos a Arduino

por el puerto serie / USB. Si le

enviará comandos desde el

ordenador o PC con C++ para

encender o apagar el Led del pin

13 de Arduiono.

Arduino C++ y Puerto serie 42

Page 43: Arduino c++ y puerto serie

Códigos Arduino

Arduino C++ y Puerto serie 43

Page 44: Arduino c++ y puerto serie

Códigos Arduino

En el segundo ejemplo y usarás la

LCD Keypad Shield para recibir ver

los mensajes.

Arduino C++ y Puerto serie 44

Page 45: Arduino c++ y puerto serie

Códigos Arduino

Ejemplo 2:

El mismo ejercicio anterior pero

con el módulo del LCD Kaypad

Shield.

Podrás leer los mensajes que

quieras sobre el funcionamiento

del Led 13.

No muestra los comandos al LCD,

los recibe y los textos en pantalla

lo puede poner el propio usuario.

Arduino C++ y Puerto serie 45

Page 46: Arduino c++ y puerto serie

Códigos Arduino

Arduino C++ y Puerto serie 46

Page 47: Arduino c++ y puerto serie

Códigos Arduino

Arduino C++ y Puerto serie 47

Page 48: Arduino c++ y puerto serie

Códigos Arduino

Probando el segundo Ejemplo 2

antes de hacer códigos para C++

del PC.

Podemos abrir el Monitor Serie.

Arduino C++ y Puerto serie 48

Page 49: Arduino c++ y puerto serie

Códigos Arduino

Probando el segundo Ejemplo 2

antes de hacer códigos para C++

del PC.

Podemos abrir el Monitor Serie.

Antes que nada, pon abajo 115200

baudio.

Luego escribe el comando Luz_ON

o el comando Luz_OFF.

En este caso he puesto Luz_ON,

para encender el Led y fíjate en el

Monitor Serie el mensaje que

muestra.

Arduino C++ y Puerto serie 49

Page 50: Arduino c++ y puerto serie

Códigos Arduino

Pulsa Enter y el botón de Enviar.

Si todo anda bien, debe aparecer

la respuesta desde Arduino.

En este caso te dice:

ON – Led encendido.

Ya que te responde Arduino con sus

comandos, lo muestra en sus

respuestas, estás listo para

trabajar con C++ en consola.

Arduino C++ y Puerto serie 50

Page 51: Arduino c++ y puerto serie

Códigos Arduino

En la pantalla LCD Keypad Shield

debe aparecer Luz ON.

Si te fijas por debajo de la placa

de Arduino, puedes ver el Led 13

que se enciende o se apaga

depende de la orden que le des.

Arduino C++ y Puerto serie 51

Aquí foto de arduino con su LCD.

Lo sacaré desde el movil.

Page 52: Arduino c++ y puerto serie

Arduino C++ y Puerto serie 52

Page 53: Arduino c++ y puerto serie

Códigos C++

Arduino C++ y Puerto serie 53

Page 54: Arduino c++ y puerto serie

Códigos C++

Aquí se usará el código principal de

C++ para controlar el puerto serie.

Antes que nada, descargamos la

librería llamada SerialClass si no lo

ha hechos ya.

Descargar:

Librería SerialClass.

Librería SerialClass.

Arduino C++ y Puerto serie 54

Page 55: Arduino c++ y puerto serie

Códigos C++

No olvidar que en Code::Blocks lo principal para poner código se llama:

int main()

Para Visual C++ y C++ Builder de esta otra manera:

void main()

A partir de la página siguiente, se presenta el código principal en el que

usaremos en nuestro IDE favorito.

Dejar claro que, IDE es una cosa y compilador otra, no confundir con lo

mismo.

Arduino C++ y Puerto serie 55

Page 56: Arduino c++ y puerto serie

Arduino C++ y Puerto serie 56

Page 57: Arduino c++ y puerto serie

Arduino C++ y Puerto serie 57

Page 58: Arduino c++ y puerto serie

Códigos C++

Una vez descargada la librería vas a cambiar los baudios que por defecto

viene a 9600 baudios y lo cambiamos a 115200 baudios.

Arduino C++ y Puerto serie 58

Page 59: Arduino c++ y puerto serie

Códigos C++

Te centras estas librerías, tanto la

cabecera como el código fuente.

Dentro de la librería

SerialClass.cpp, lo abrimos con un

editor de texto como WordPad de

Windows o otro favorito.

Arduino C++ y Puerto serie 59

Page 60: Arduino c++ y puerto serie

Códigos C++

Encuentra la parte que dice

CBR_9600.

Arduino C++ y Puerto serie 60

Page 61: Arduino c++ y puerto serie

Códigos C++

Ahora lo dejas en CBR_115200 que

son los 115200 baudios que usarás

para la comunicación del puerto

serie con Arduino.

Guardamos la librería

SerialClass.cpp.

Hasta aquí hemos llegado, ahora a

instalar esta librería en tu IDE

favorito.

Arduino C++ y Puerto serie 61

Page 62: Arduino c++ y puerto serie

Arduino C++ y Puerto serie 62

Page 63: Arduino c++ y puerto serie

Visual Studio C++

Arduino C++ y Puerto serie 63

Page 64: Arduino c++ y puerto serie

Visual Studio C++

Entorno de desarrollo Visual Studio

2017 Community, con C++.

Abres un proyecto nuevo como

indica en la imagen.

Arduino C++ y Puerto serie 64

Page 65: Arduino c++ y puerto serie

Visual Studio C++

Entorno de desarrollo Visual Studio

2017 Community, con C++.

Abres un proyecto nuevo como

indica en la imagen.

Arduino C++ y Puerto serie 65

Page 66: Arduino c++ y puerto serie

Visual Studio C++

Se abre el asistente para Win32.

Simplemente pulsa Siguiente.

Arduino C++ y Puerto serie 66

Page 67: Arduino c++ y puerto serie

Visual Studio C++

No olvides desactivar el

Encabezado precompilado.

Pulsa Finalizar.

Arduino C++ y Puerto serie 67

Page 68: Arduino c++ y puerto serie

Visual Studio C++

Ya está preparado para hacer

ciertas tareas antes de empezar a

poner códigos.

Arduino C++ y Puerto serie 68

Page 69: Arduino c++ y puerto serie

Visual Studio C++

Con la tecla Control pulsado,

señala estos tres archivos con el

ratón hasta que se marque en azul.

stdafx.cpp

stdafx.h

Targetver.h

Arduino C++ y Puerto serie 69

Page 70: Arduino c++ y puerto serie

Visual Studio C++

Una vez seleccionado los tres

archivos marcado en azul, pulsa

con el botón derecho del ratón y

dale en Quitar.

Arduino C++ y Puerto serie 70

Page 71: Arduino c++ y puerto serie

Visual Studio C++

Pulsa Eliminar ya que no usaremos

esos archivos y los borra del

proyecto.

Si pulsaras Quitar, lo quita en el

Visual Studio pero no los elimina o

borra del proyecto. Lo tendrías ahí

por si quieres volver a recuperarlo.

Arduino C++ y Puerto serie 71

Page 72: Arduino c++ y puerto serie

Visual Studio C++

Toca agregar la librería SerialClass.

Si ya lo tienes descargado y

modificado los baudios a 115200

como se explicó anteriormente,

procedemos a añadir dicha librería.

Antes que nada, abrir el directorio

donde tienes todos los archivos del

proyecto como indica en la

imagen.

Arduino C++ y Puerto serie 72

Page 73: Arduino c++ y puerto serie

Visual Studio C++

Si todo anda bien, se abrirá esta

carpeta donde tienes los archivos

del proyecto.

Aquí es donde tienes que colocar la

librería o los archivos llamado

SerialClass.cpp y SerialClass.h.

Arduino C++ y Puerto serie 73

Page 74: Arduino c++ y puerto serie

Visual Studio C++

Aquí puedes ver los archivos de la

librería SerialClass preparados.

Ya puedes cerrar la ventana.

Arduino C++ y Puerto serie 74

Page 75: Arduino c++ y puerto serie

Visual Studio C++

Ya que tienes la librería colocado

en el proyecto principal, toca

agregarlo en el Visual Studio.

Veta al Explorador de soluciones,

selecciona Archivo de código

fuente, Agregar y Elemento

existente.

Arduino C++ y Puerto serie 75

Page 76: Arduino c++ y puerto serie

Visual Studio C++

Selecciona los dos archivos y pulsa Agregar.

Arduino C++ y Puerto serie 76

Page 77: Arduino c++ y puerto serie

Visual Studio C++

Ya se puede ver los archivos en el

Explorador de soluciones.

El archivo llamado SerialClass.cpp

tiene que estar donde está.

El otro llamado SerialCalss.h lo

seleccionamos con el ratón y lo

desplazamos en la parte donde

pone Archivos de encabezado.

Arduino C++ y Puerto serie 77

Page 78: Arduino c++ y puerto serie

Visual Studio C++

Todo debe estar como indica en la

imagen.

Arduino C++ y Puerto serie 78

Page 79: Arduino c++ y puerto serie

Visual Studio C++

Abre el código fuente el archivo

principal pulsando dos veces clic

con el ratón donde pone en este

caso:

Led_Arduino_Win32.cpp

Arduino C++ y Puerto serie 79

Page 80: Arduino c++ y puerto serie

Visual Studio C++

Si haz descargado el código desde

el enlace correspondiente, copia y

pega el código principal aquí.

Arduino C++ y Puerto serie 80

Page 81: Arduino c++ y puerto serie

Visual Studio C++

No olvides tener Arduino programado y conectado al puerto USB.

Si intentas depurar o compilar pulsando F5, te dará error porque la librería no

sigue un estándar.

Te puede aparecer este error.

Un argumento de tipo "const char *" no es compatible con un parámetro de

tipo "LPCWSTR“.

Puede aparecer más errores.

Arduino C++ y Puerto serie 81

Page 82: Arduino c++ y puerto serie

Visual Studio C++

En este caso, con el archivo

Led_Arduino_Win32.cpp abierto,

vete a Proyecto Propiedades de

Led_Arduino_Win32…

Recuerda que tu proyecto si haz

cambiado el nombre no es igual

que este.

Arduino C++ y Puerto serie 82

Page 83: Arduino c++ y puerto serie

Visual Studio C++

En “General”, “Juego de

caracteres”, cambia la opción a

“Sin establecer”.

Pulsa Aplicar y luego Aceptar.

Arduino C++ y Puerto serie 83

Page 84: Arduino c++ y puerto serie

Visual Studio C++

Teniendo Arduino conectado al puerto y usando el Ejemplo 1 o el Ejemplo 2, ya puedes pulsar F5 para

depurar el programa.

Arduino C++ y Puerto serie 84

Page 85: Arduino c++ y puerto serie

Visual Studio C++

Si todo ha ido bien, ya puedes ver

el programa en C++ Win32 con

Arduino.

Si pulsas la tecla 1, enviarás el

comando Luz_ON a Arduino, luego

te devuelve un mensaje recibido

que dice:

ON- Led encendido.

Comprueba si la placa Arduino se

enciende y se apaga el Led 13,

pulsando el teclado 1 para

encender y la tecla 2 para apagar.

Arduino C++ y Puerto serie 85

Page 86: Arduino c++ y puerto serie

Visual Studio C++

Si has llegado hasta aquí, ya puedes controlar Arduino por el puerto serie en

C++ Win32 gracias a Visual Studio Community 2017.

Puedes seguir mejorando el programa o adaptarlo a tu gusto o necesidades.

Ánimos y adelante.

Arduino C++ y Puerto serie 86

Page 87: Arduino c++ y puerto serie

Arduino C++ y Puerto serie 87

Page 88: Arduino c++ y puerto serie

Code::Blocks

Arduino C++ y Puerto serie 88

Page 89: Arduino c++ y puerto serie

Code::Blocks

Ya instalado el Code::Blocks,

iniciamos un nuevo proyecto.

File New Project…

Arduino C++ y Puerto serie 89

Page 90: Arduino c++ y puerto serie

Code::Blocks

La aplicación será tipo consola.

Selecciona Console application y

pulsa el botón Go.

Arduino C++ y Puerto serie 90

Page 91: Arduino c++ y puerto serie

Code::Blocks

Lee y pulsa Next.

Arduino C++ y Puerto serie 91

Page 92: Arduino c++ y puerto serie

Code::Blocks

Usarás el lenguaje C++.

Pulsa Next.

Arduino C++ y Puerto serie 92

Page 93: Arduino c++ y puerto serie

Code::Blocks

Título el proyecto.

Ubicación del proyecto.

Nombre del archivo del proyecto.

Resultado del archivo.

El nombre el proyecto, puedes

poner el que quieras, para este

tutorial, lo llamo

Led_Arduino_Code.

Arduino C++ y Puerto serie 93

Page 94: Arduino c++ y puerto serie

Code::Blocks

Deja todo como está y

pulsa Finish.

Arduino C++ y Puerto serie 94

Page 95: Arduino c++ y puerto serie

Code::Blocks

Code:Blocks dispuesto para empezar a programar, antes, a instalar la librería SerialClass.

Arduino C++ y Puerto serie 95

Page 96: Arduino c++ y puerto serie

Code::Blocks

Abre la carpeta Source pulsando el

+, luego haces dos veces clic con el

ratón en main.cpp.

Arduino C++ y Puerto serie 96

Page 97: Arduino c++ y puerto serie

Code::Blocks

Te sitúas con el ratón en la pestaña

main.cpp y pulsas el botón derecho

del ratón.

Seleccionas Open containing folder.

Así abres la carpeta o directorio

del contenido del proyecto.

Ahí vas a meter los archivos

SerialClass.cpp y SerialClass.h.

Arduino C++ y Puerto serie 97

Page 98: Arduino c++ y puerto serie

Code::Blocks

Si todo anda bien, se abrirá esta

carpeta donde tienes los archivos

del proyecto.

Aquí es donde tienes que colocar la

librería o los archivos llamado

SerialClass.cpp y SerialClass.h.

Arduino C++ y Puerto serie 98

Page 99: Arduino c++ y puerto serie

Code::Blocks

Puedes ver los archivos de la

librería SerialClass preparados.

Ya puedes cerrar la ventana.

Arduino C++ y Puerto serie 99

Page 100: Arduino c++ y puerto serie

Code::Blocks

En el proyecto Led_Arduino_Code

pinchas con el botón derecho del

ratón y eliges Add files…

Arduino C++ y Puerto serie 100

Page 101: Arduino c++ y puerto serie

Code::Blocks

Selecciona los archivos

SerialClass.cpp y SerialClass.h.

Luego pulsa Abrir.

Arduino C++ y Puerto serie 101

Page 102: Arduino c++ y puerto serie

Code::Blocks

Simplemente pulsa OK.

Arduino C++ y Puerto serie 102

Page 103: Arduino c++ y puerto serie

Code::Blocks

Puedes ver que las librerías se han

agregado al proyecto.

Borra todo código que veas en

main.cpp ya que pondrás el del

tutorial.

Arduino C++ y Puerto serie 103

Page 104: Arduino c++ y puerto serie

Code::Blocks

Introduces el código de C++

principal que has descargado en los

enlaces del principio de este

tutorial.

Arduino C++ y Puerto serie 104

Page 105: Arduino c++ y puerto serie

Code::Blocks

No olvidar que para Code::Blocks

se usa int main().

Arduino C++ y Puerto serie 105

Page 106: Arduino c++ y puerto serie

Code::Blocks

Para crear y ejecutar el código

simplemente “Build Build and

run” o simplemente pulsa F9.

Arduino C++ y Puerto serie 106

Page 107: Arduino c++ y puerto serie

Code::Blocks

Si todo ha ido bien, ya puedes ver

el programa en C++ Win32 con

Arduino.

Si pulsas la tecla 1, enviarás el

comando Luz_ON a Arduino, luego

te devuelve un mensaje recibido

que dice:

ON- Led encendido.

Comprueba si la placa Arduino se

enciende y se apaga el Led 13,

pulsando el teclado 1 para

encender y la tecla 2 para apagar.

Arduino C++ y Puerto serie 107

Page 108: Arduino c++ y puerto serie

Code::Blocks

Code::Blocks es un IDE muy usado por la comunidad de programadores de C++

Win32, sobre todo en su aprendizaje, pequeño y rápido.

Code::Blocks es el sustituto del ya desfasado Dev C++.

Aquí ya puedes controlar el puerto serie con Arduino.

Este programa es muy mejorable, es decir, puedes adaptarlo a tus

necesidades ya que sabes lo básico para la comunicación y control del puerto

serie.

Así que adelante.

Arduino C++ y Puerto serie 108

Page 109: Arduino c++ y puerto serie

Arduino C++ y Puerto serie 109

Page 110: Arduino c++ y puerto serie

C++ Builder

Arduino C++ y Puerto serie 110

Page 111: Arduino c++ y puerto serie

C++ Builder

Crearás un nuevo proyecto en “File

Other…”.

Arduino C++ y Puerto serie 111

Page 112: Arduino c++ y puerto serie

C++ Builder

Selecciona “C++ Builder Projects”,

luego “Console Application”.

Finalmente, pulsas “OK”.

Arduino C++ y Puerto serie 112

Page 113: Arduino c++ y puerto serie

C++ Builder

Deja las opciones tal como está y

pulsa OK.

Arduino C++ y Puerto serie 113

Page 114: Arduino c++ y puerto serie

C++ Builder

Se ha abierto el IDE y preparado

para programar en C++.

Arduino C++ y Puerto serie 114

Page 115: Arduino c++ y puerto serie

C++ Builder

Antes que nada, guarda todo el

proyecto.

Pulsas File Save All.

Arduino C++ y Puerto serie 115

Page 116: Arduino c++ y puerto serie

C++ Builder

Crea una carpeta o directorio con

el nombre que quieras.

Para este tutorial lo llamo

Led_Arduino_Builder.

Le he puesto el mismo nombre al

archivo Led_Arduino_Builder.cpp

en “Nombre”.

Pulsa Guardar.

Arduino C++ y Puerto serie 116

Page 117: Arduino c++ y puerto serie

C++ Builder

Aparece otro archivo para guardar.

Le he llamado Project_Led.h.

Puedes llamarlo como quieras.

Pulsa Guardar.

Arduino C++ y Puerto serie 117

Page 118: Arduino c++ y puerto serie

C++ Builder

Otro archivo más para la colección.

Para este tutorial lo he llamado

“Project_Led.cbproj”.

Pulsa Guardar.

Ya no aparecerá más archivos para

guardar.

Arduino C++ y Puerto serie 118

Page 119: Arduino c++ y puerto serie

C++ Builder

Teniendo preparado la librería

SerialClass.

En el cuadro del Project Manager,

selecciona Proyect_Led.exe con el

botón derecho del ratón.

Selecciona Add… para abrir la

ventana y poder añadir la librería.

Arduino C++ y Puerto serie 119

Page 120: Arduino c++ y puerto serie

C++ Builder

Se abre esta ventana Add to

project.

En los filtros indicado en un cuadro

rojo, pon Any file (*.*).

Arduino C++ y Puerto serie 120

Page 121: Arduino c++ y puerto serie

C++ Builder

Teniendo la librería en mano, pega

aquí los archivos SerialClass.cpp y

SerialClass.h.

Luego pulsa el botón Arbrir.

Arduino C++ y Puerto serie 121

Page 122: Arduino c++ y puerto serie

C++ Builder

Se han agregado los SerialClass.cpp

y SerialClass.h Project Manager.

Arduino C++ y Puerto serie 122

Page 123: Arduino c++ y puerto serie

C++ Builder Se han agregado los SerialClass.cpp y SerialClass.h Project Manager.

Arduino C++ y Puerto serie 123

Page 124: Arduino c++ y puerto serie

C++ Builder

Si todo ha ido bien, ya puedes ver

el programa en C++ Win32 con

Arduino.

Si pulsas la tecla 1, enviarás el

comando Luz_ON a Arduino, luego

te devuelve un mensaje recibido

que dice:

ON- Led encendido.

Comprueba si la placa Arduino se

enciende y se apaga el Led 13,

pulsando el teclado 1 para

encender y la tecla 2 para apagar.

Arduino C++ y Puerto serie 124

Page 125: Arduino c++ y puerto serie

C++ Builder

C++ Builder es un compilador e IDE muy potente.

Ya puedes controlar Arduino por el puerto serie, desde que enciendas y

apagues un Led, ya tienes el control de muchas cosas.

Puedes crear tus propios códigos con los conocimientos básicos de este

tutorial.

Ánimos y adelante.

Arduino C++ y Puerto serie 125

Page 126: Arduino c++ y puerto serie

Arduino C++ y Puerto serie 126

Page 127: Arduino c++ y puerto serie

Extras

Arduino C++ y Puerto serie 127

Page 128: Arduino c++ y puerto serie

Extras

Librería SerialClass.

¿Qué es Arduino?

Restablecer ventanas del IDE por defecto.

Arduino C++ y Puerto serie 128

Page 129: Arduino c++ y puerto serie

Extras

Muestra el código fuente de la librería SerialClass por si en el futuro se

pierden los enlaces. Aquí, en este mismo tutorial lo puedes ver y será seguro

de tenerlo en mano. Los archivos son SerialClass.h y SerialClass.cpp.

Arduino C++ y Puerto serie 129

Page 130: Arduino c++ y puerto serie

Extras

Arduino C++ y Puerto serie 130

SerialClass.h

Page 131: Arduino c++ y puerto serie

Extras

Arduino C++ y Puerto serie 131

SerialClass.cpp

Page 132: Arduino c++ y puerto serie

Extras

Arduino C++ y Puerto serie 132

Page 133: Arduino c++ y puerto serie

Extras

Arduino C++ y Puerto serie 133

Page 134: Arduino c++ y puerto serie

Extras

¿Qué es Arduino?

Arduino (Estados Unidos) (Genuino a nivel internacional hasta octubre 2016), es una compañía de hardware libre y una comunidad tecnológica que diseña y manufactura placas computadora de desarrollo de hardware y software, compuesta respectivamente por circuitos impresos que integran un microcontrolador y un entorno de desarrollo (IDE), en donde se programa cada placa.

Arduino se enfoca en acercar y facilitar el uso de la electrónica y programación de sistemas embebidos en proyectos multidisciplinarios1 2 .Toda la plataforma, tanto para sus componentes de hardware como de software, son liberados con licencia de código abiertoque permite libertad de acceso a ellos3 .

El hardware consiste en una placa de circuito impreso con un microcontrolador, usualmente Atmel AVR, puertos digitales y analógicos de entrada/salida,4 , los cuales pueden conectarse a placas de expansión (shields), que amplían las características de funcionamiento de la placa Arduino. Asimismo, posee un puerto de conexión USB desde donde se puede alimentar la placa y establecer comunicación con el computador.

Arduino C++ y Puerto serie 134

Page 135: Arduino c++ y puerto serie

Extras

Por otro lado, el software consiste en un entorno de desarrollo (IDE) basado

en el entorno de Processing y lenguaje de programación basado en Wiring, así

como en el cargador de arranque (bootloader) que es ejecutado en la placa.4

El microcontrolador de la placa se programa mediante un computador, usando

una comunicación serial mediante un convertidor de niveles RS-232 a TTL

serial.

La primera placa Arduino fue introducida en 2005, ofreciendo un bajo costo y

facilidad de uso para novatos y profesionales. Buscaba desarrollar proyectos

interactivos con su entorno mediante el uso de actuadores y sensores. A partir

de octubre de 2012, se incorporaron nuevos modelos de placas de desarrollo

que usan microcontroladores Cortex M3, ARM de 32 bits,5 que coexisten con

los originales modelos que integran microcontroladores AVR de 8 bits. ARM y

AVR no son plataformas compatibles en cuanto a su arquitectura y por lo que

tampoco lo es su set de instrucciones, pero se pueden programar y compilar

bajo el IDE predeterminado de Arduino sin ningún cambio.

Arduino C++ y Puerto serie 135

Page 136: Arduino c++ y puerto serie

Extras

Las placas Arduino están disponibles de dos formas: ensambladas o en forma de kits "Hazlo tú mismo" (por sus siglas en inglés "DIY"). Los esquemas de diseño del Hardware están disponibles bajo licencia Libre, con lo que se permite que cualquier persona pueda crear su propia placa Arduino sin necesidad de comprar una prefabricada. Adafruit Industries estimó a mediados del año 2011 que, alrededor de 300,000 placas Arduino habían sido producidas comercialmente y en el año 2013 estimó que alrededor de 700.000 placas oficiales de la empresa Arduino estaban en manos de los usuarios.

Arduino se puede utilizar para desarrollar objetos interactivos autónomos o puede ser conectado a software tal como Adobe Flash, Processing, Max/MSP, Pure Data, etc. Una tendencia tecnológica es utilizar Arduino como tarjeta de adquisición de datos desarrollando interfaces en software como JAVA, Visual Basic y LabVIEW 6 . Las placas se pueden montar a mano o adquirirse. El entorno de desarrollo integrado libre se puede descargar gratuitamente.

Fuente:

https://es.wikipedia.org/wiki/Arduino

Arduino C++ y Puerto serie 136

Page 137: Arduino c++ y puerto serie

Arduino C++ y Puerto serie 137

Page 138: Arduino c++ y puerto serie

Extras

Restablecer ventanas del IDE por defecto.

Puede dar el caso que hayas cambiado las ventanas de sitio no sepas como

solucionarlo para dejarlo como estaba al principio por defecto.

En los tres IDE se explicará como se hace.

Arduino C++ y Puerto serie 138

Page 139: Arduino c++ y puerto serie

Extras

Arduino C++ y Puerto serie 139

Visual Studio Community 2017.

Como verás, tendrás las ventanas

desorganizado y se puede

reestablecer por defecto tal como

estaba al principio.

Page 140: Arduino c++ y puerto serie

Extras

Arduino C++ y Puerto serie 140

Arriba, en la barra de

herramientas, pulsa Ventana y

luego Restablecer diseños de

ventana.

Page 141: Arduino c++ y puerto serie

Extras

Arduino C++ y Puerto serie 141

Te hará una pregunta y le dices

que Sí.

Page 142: Arduino c++ y puerto serie

Extras

Arduino C++ y Puerto serie 142

Code::Blocks 16.1.

Como verás, tendrás las ventanas

desorganizado y se puede

reestablecer por defecto tal como

estaba al principio.

Page 143: Arduino c++ y puerto serie

Extras

Arduino C++ y Puerto serie 143

Arriba, en la barra de

herramientas, pulsa View

Perspectives – Code::Blocks

default.

Tendrás el IDE restablecido.

Page 144: Arduino c++ y puerto serie

Extras

Arduino C++ y Puerto serie 144

C++ Builder Starter 10.2 Tokio.

Como verás, tendrás las ventanas

desorganizado y se puede

reestablecer por defecto tal como

estaba al principio.

Page 145: Arduino c++ y puerto serie

Extras

Arduino C++ y Puerto serie 145

Arriba, en la barra de

herramientas, pulsa View

Desktops Default Layout.

Tendrás el IDE restablecido.

Page 146: Arduino c++ y puerto serie

Arduino C++ y Puerto serie 146

Page 147: Arduino c++ y puerto serie

FotosAlgunas fotos sobre el puerto serie con C++ y Arduino de los

compiladores, Visual Studio .net, Code::Blocks y C++ Builder Starter.

Arduino C++ y Puerto serie 147

Page 148: Arduino c++ y puerto serie

Fotos

Arduino C++ y Puerto serie 148

Page 149: Arduino c++ y puerto serie

Fotos

Arduino C++ y Puerto serie 149

Page 150: Arduino c++ y puerto serie

Fotos

Arduino C++ y Puerto serie 150

Page 151: Arduino c++ y puerto serie

Arduino C++ y Puerto serie 151

Page 152: Arduino c++ y puerto serie

Vídeo

Arduino C++ y Puerto serie 152

Page 153: Arduino c++ y puerto serie

Vídeo

Arduino C++ y Puerto serie 153

https://www.youtube.com/watch?v=KZkIZHSXL-g

Page 154: Arduino c++ y puerto serie

Arduino C++ y Puerto serie 154

Page 155: Arduino c++ y puerto serie

Enlaces

Arduino C++ y Puerto serie 155

Page 156: Arduino c++ y puerto serie

Enlaces

Electrónica PIC: Blog oficial creador de este tutorial.

MSDN: Foro oficial de Visual C++.

Code::Blocks: Foro de Code Blocks.

C++ Builder: Foro de C++ Builder.

Arduino C++ y Puerto serie 156

Page 157: Arduino c++ y puerto serie

Arduino C++ y Puerto serie 157

Page 158: Arduino c++ y puerto serie

Versión

Arduino C++ y Puerto serie 158

Page 159: Arduino c++ y puerto serie

Versión

Versión tutorial: 1.02

Fecha Publicación: 31-03-2017.

Última actualización: 02-04-2017.

Arduino C++ y Puerto serie 159

Page 160: Arduino c++ y puerto serie

Arduino C++ y Puerto serie 160

Page 161: Arduino c++ y puerto serie

AutorContacto: [email protected]

Arduino C++ y Puerto serie 161

Page 162: Arduino c++ y puerto serie

162

Auto

r:Ángel Acaym

oM

. G

.