SlideShare una empresa de Scribd logo
Arduino c++ y puerto serie
Electrónica PIC
Arduino C++ y Puerto serie 2
Í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
Arduino C++ y Puerto serie 4
Presentación
Arduino C++ y Puerto serie 5
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
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:
 El uso del int main() y el void main().
Arduino C++ y Puerto serie 7
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
Arduino C++ y Puerto serie 9
Descargas
Arduino C++ y Puerto serie 10
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
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
Arduino C++ y Puerto serie 13
Funcionamiento
Arduino C++ y Puerto serie 14
Funcionamiento
Arduino C++ y Puerto serie 15
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
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
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
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
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
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
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
Arduino C++ y Puerto serie 23
Configuración Arduino
Arduino C++ y Puerto serie 24
Configuración Arduino
Arduino C++ y Puerto serie 25
 Instalado Arduino IDE 1.8.2 desde
que se creó este tutorial.
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.
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.
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.
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”.
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.
Arduino C++ y Puerto serie 31
Configuración Puerto serie
Arduino C++ y Puerto serie 32
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
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
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
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
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
Configuración Puerto serie
 En este caso tengo el puerto COM 7
ya seleccionado.
Arduino C++ y Puerto serie 38
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
Arduino C++ y Puerto serie 40
Códigos Arduino
Arduino C++ y Puerto serie 41
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 Arduino.
Arduino C++ y Puerto serie 42
Códigos Arduino
Arduino C++ y Puerto serie 43
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
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
Códigos Arduino
Arduino C++ y Puerto serie 46
Códigos Arduino
Arduino C++ y Puerto serie 47
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
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
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
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.
Arduino C++ y Puerto serie 52
Códigos C++
Arduino C++ y Puerto serie 53
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.
 Librería SerialClass.
Arduino C++ y Puerto serie 54
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. En resumen, IDE es el entorno de desarrollo para hacer código, el
compilador es el que crea el ejecutable.
Arduino C++ y Puerto serie 55
Arduino C++ y Puerto serie 56
Arduino C++ y Puerto serie 57
Códigos C++
 Una vez descargada la librería SerialClass vas a cambiar los baudios que por
defecto viene a 9600 baudios y lo cambiamos a 115200 baudios.
Arduino C++ y Puerto serie 58
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
Códigos C++
 Encuentra la parte que dice
CBR_9600.
Arduino C++ y Puerto serie 60
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
Arduino C++ y Puerto serie 62
Visual Studio C++
Arduino C++ y Puerto serie 63
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
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
Visual Studio C++
 Se abre el asistente para Win32.
 Simplemente pulsa Siguiente.
Arduino C++ y Puerto serie 66
Visual Studio C++
 No olvides desactivar el
Encabezado precompilado.
 Pulsa Finalizar.
Arduino C++ y Puerto serie 67
Visual Studio C++
 Ya está preparado para hacer
ciertas tareas antes de empezar a
poner códigos.
Arduino C++ y Puerto serie 68
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
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
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
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
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
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
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
Visual Studio C++
 Selecciona los dos archivos y pulsa Agregar.
Arduino C++ y Puerto serie 76
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
Visual Studio C++
 Todo debe estar como indica en la
imagen.
Arduino C++ y Puerto serie 78
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
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
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
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
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
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
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
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
Arduino C++ y Puerto serie 87
Code::Blocks
Arduino C++ y Puerto serie 88
Code::Blocks
 Ya instalado el Code::Blocks,
iniciamos un nuevo proyecto.
 File  New  Project…
Arduino C++ y Puerto serie 89
Code::Blocks
 La aplicación será tipo consola.
 Selecciona Console application y
pulsa el botón Go.
Arduino C++ y Puerto serie 90
Code::Blocks
 Lee y pulsa Next.
Arduino C++ y Puerto serie 91
Code::Blocks
 Usarás el lenguaje C++.
 Pulsa Next.
Arduino C++ y Puerto serie 92
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
Code::Blocks
 Deja todo como está y
 pulsa Finish.
Arduino C++ y Puerto serie 94
Code::Blocks
 Code:Blocks dispuesto para empezar a programar, antes, a instalar la librería SerialClass.
Arduino C++ y Puerto serie 95
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
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
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
Code::Blocks
 Puedes ver los archivos de la
librería SerialClass preparados.
 Ya puedes cerrar la ventana.
Arduino C++ y Puerto serie 99
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
Code::Blocks
 Selecciona los archivos
SerialClass.cpp y SerialClass.h.
 Luego pulsa Abrir.
Arduino C++ y Puerto serie 101
Code::Blocks
 Simplemente pulsa OK.
Arduino C++ y Puerto serie 102
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
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
Code::Blocks
 No olvidar que para Code::Blocks
se usa int main().
Arduino C++ y Puerto serie 105
Code::Blocks
 Para crear y ejecutar el código
simplemente “Build  Build and
run” o simplemente pulsa F9.
Arduino C++ y Puerto serie 106
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
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
Arduino C++ y Puerto serie 109
C++ Builder
Arduino C++ y Puerto serie 110
C++ Builder
 Crearás un nuevo proyecto en “File
 Other…”.
Arduino C++ y Puerto serie 111
C++ Builder
 Selecciona “C++ Builder Projects”,
luego “Console Application”.
 Finalmente, pulsas “OK”.
Arduino C++ y Puerto serie 112
C++ Builder
 Deja las opciones tal como está y
pulsa OK.
Arduino C++ y Puerto serie 113
C++ Builder
 Se ha abierto el IDE y preparado
para programar en C++.
Arduino C++ y Puerto serie 114
C++ Builder
 Antes que nada, guarda todo el
proyecto.
 Pulsas File  Save All.
Arduino C++ y Puerto serie 115
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
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
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
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
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
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
C++ Builder
 Se han agregado los SerialClass.cpp
y SerialClass.h Project Manager.
Arduino C++ y Puerto serie 122
C++ Builder
 Se han agregado los SerialClass.cpp y SerialClass.h Project Manager.
Arduino C++ y Puerto serie 123
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
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
Arduino C++ y Puerto serie 126
Extras
Arduino C++ y Puerto serie 127
Extras
 Librería SerialClass.
 ¿Qué es Arduino?
 Restablecer ventanas del IDE por defecto.
Arduino C++ y Puerto serie 128
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
Extras
Arduino C++ y Puerto serie 130
SerialClass.h
Extras
Arduino C++ y Puerto serie 131
SerialClass.cpp
Extras
Arduino C++ y Puerto serie 132
Extras
Arduino C++ y Puerto serie 133
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 abierto
que 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
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
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
Arduino C++ y Puerto serie 137
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
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.
Extras
Arduino C++ y Puerto serie 140
 Arriba, en la barra de
herramientas, pulsa Ventana y
luego Restablecer diseños de
ventana.
Extras
Arduino C++ y Puerto serie 141
 Te hará una pregunta y le dices
que Sí.
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.
Extras
Arduino C++ y Puerto serie 143
 Arriba, en la barra de
herramientas, pulsa View 
Perspectives – Code::Blocks
default.
 Tendrás el IDE restablecido.
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.
Extras
Arduino C++ y Puerto serie 145
 Arriba, en la barra de
herramientas, pulsa View 
Desktops  Default Layout.
 Tendrás el IDE restablecido.
Arduino C++ y Puerto serie 146
Fotos
Algunas 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
Fotos
Arduino C++ y Puerto serie 148
Fotos
Arduino C++ y Puerto serie 149
Fotos
Arduino C++ y Puerto serie 150
Arduino C++ y Puerto serie 151
Vídeo
Arduino C++ y Puerto serie 152
Vídeo
Arduino C++ y Puerto serie 153
https://www.youtube.com/watch?v=KZkIZHSXL-g
Arduino C++ y Puerto serie 154
Enlaces
Arduino C++ y Puerto serie 155
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
Arduino C++ y Puerto serie 157
Versión
Arduino C++ y Puerto serie 158
Versión
 Versión tutorial: 1.04
 Fecha Publicación: 31-03-2017.
 Última actualización: 05-07-2017.
Arduino C++ y Puerto serie 159
Arduino C++ y Puerto serie 160
Autor
Contacto: metaconta@gmail.com
Arduino C++ y Puerto serie 161
162
Autor:
ÁngelAcaymoM.G.

Más contenido relacionado

La actualidad más candente

Pilas como estructura de datos..
Pilas como estructura de datos..Pilas como estructura de datos..
Pilas como estructura de datos..
NANO-06
 
Problemas resueltos Electrónica digital
Problemas resueltos Electrónica digitalProblemas resueltos Electrónica digital
Problemas resueltos Electrónica digital
Carlos Cardelo
 
Introducción a arduino
Introducción a arduinoIntroducción a arduino
Introducción a arduino
Jonathan Ruiz de Garibay
 
Diferentes tipos de flip flops (jk, sr, d, t) sus tablas de verdad,
Diferentes tipos de flip flops (jk, sr, d, t) sus tablas de verdad,Diferentes tipos de flip flops (jk, sr, d, t) sus tablas de verdad,
Diferentes tipos de flip flops (jk, sr, d, t) sus tablas de verdad,
Miguel Brunings
 
Arreglos unidimensionales
Arreglos unidimensionalesArreglos unidimensionales
Arreglos unidimensionales
yimi casana arias
 
Clase 12 arduino y el display de 7 segmentos controlado por puerto serial
Clase 12   arduino y el display de 7 segmentos controlado por puerto serialClase 12   arduino y el display de 7 segmentos controlado por puerto serial
Clase 12 arduino y el display de 7 segmentos controlado por puerto serial
MarlonAguilarGmez
 
2.4. Compuertas AND - OR con Diodos
2.4. Compuertas AND - OR con Diodos2.4. Compuertas AND - OR con Diodos
2.4. Compuertas AND - OR con Diodos
Othoniel Hernandez Ovando
 
Pilas y colas
Pilas y colasPilas y colas
Pilas y colas
arrietaevelio
 
Resistencia estática y dinamica de diodos
Resistencia estática y dinamica de diodosResistencia estática y dinamica de diodos
Resistencia estática y dinamica de diodos
Drykers García Say
 
Sensores opticos -MECATRONICA
Sensores opticos -MECATRONICASensores opticos -MECATRONICA
Sensores opticos -MECATRONICA
rkohafc
 
Informe sobre Arduino.
Informe sobre Arduino.Informe sobre Arduino.
Informe sobre Arduino.
Andres Felipe Parra Naranjo
 
Programación Orientada a Objetos - constructores y destructores
Programación Orientada a Objetos - constructores y destructoresProgramación Orientada a Objetos - constructores y destructores
Programación Orientada a Objetos - constructores y destructores
Alvaro Enrique Ruano
 
Tutorial de code block
Tutorial de code blockTutorial de code block
Tutorial de code block
OscarLeonardoPerez
 
Circuitos logicos de tres estados
Circuitos logicos de tres estadosCircuitos logicos de tres estados
Circuitos logicos de tres estados
Zy Mo
 
Conversión NAND y NOR
Conversión NAND y NORConversión NAND y NOR
Conversión NAND y NOR
IES Sebastián Fernández
 
Presentacion Python
Presentacion  Python Presentacion  Python
Presentacion Python
Fco Javier Lucena
 
Los circuitos integrados
Los circuitos integradosLos circuitos integrados
Los circuitos integrados
Jomicast
 
Compuertas logicas
Compuertas logicasCompuertas logicas
Compuertas logicas
Leidy Castaño
 
Palabras Reservadas en C++
Palabras Reservadas en C++Palabras Reservadas en C++
Palabras Reservadas en C++
ncrmax
 
8b Curso de POO en java - paso de diagrama clases a java 1
8b Curso de POO en java - paso de diagrama clases a java 18b Curso de POO en java - paso de diagrama clases a java 1
8b Curso de POO en java - paso de diagrama clases a java 1
Clara Patricia Avella Ibañez
 

La actualidad más candente (20)

Pilas como estructura de datos..
Pilas como estructura de datos..Pilas como estructura de datos..
Pilas como estructura de datos..
 
Problemas resueltos Electrónica digital
Problemas resueltos Electrónica digitalProblemas resueltos Electrónica digital
Problemas resueltos Electrónica digital
 
Introducción a arduino
Introducción a arduinoIntroducción a arduino
Introducción a arduino
 
Diferentes tipos de flip flops (jk, sr, d, t) sus tablas de verdad,
Diferentes tipos de flip flops (jk, sr, d, t) sus tablas de verdad,Diferentes tipos de flip flops (jk, sr, d, t) sus tablas de verdad,
Diferentes tipos de flip flops (jk, sr, d, t) sus tablas de verdad,
 
Arreglos unidimensionales
Arreglos unidimensionalesArreglos unidimensionales
Arreglos unidimensionales
 
Clase 12 arduino y el display de 7 segmentos controlado por puerto serial
Clase 12   arduino y el display de 7 segmentos controlado por puerto serialClase 12   arduino y el display de 7 segmentos controlado por puerto serial
Clase 12 arduino y el display de 7 segmentos controlado por puerto serial
 
2.4. Compuertas AND - OR con Diodos
2.4. Compuertas AND - OR con Diodos2.4. Compuertas AND - OR con Diodos
2.4. Compuertas AND - OR con Diodos
 
Pilas y colas
Pilas y colasPilas y colas
Pilas y colas
 
Resistencia estática y dinamica de diodos
Resistencia estática y dinamica de diodosResistencia estática y dinamica de diodos
Resistencia estática y dinamica de diodos
 
Sensores opticos -MECATRONICA
Sensores opticos -MECATRONICASensores opticos -MECATRONICA
Sensores opticos -MECATRONICA
 
Informe sobre Arduino.
Informe sobre Arduino.Informe sobre Arduino.
Informe sobre Arduino.
 
Programación Orientada a Objetos - constructores y destructores
Programación Orientada a Objetos - constructores y destructoresProgramación Orientada a Objetos - constructores y destructores
Programación Orientada a Objetos - constructores y destructores
 
Tutorial de code block
Tutorial de code blockTutorial de code block
Tutorial de code block
 
Circuitos logicos de tres estados
Circuitos logicos de tres estadosCircuitos logicos de tres estados
Circuitos logicos de tres estados
 
Conversión NAND y NOR
Conversión NAND y NORConversión NAND y NOR
Conversión NAND y NOR
 
Presentacion Python
Presentacion  Python Presentacion  Python
Presentacion Python
 
Los circuitos integrados
Los circuitos integradosLos circuitos integrados
Los circuitos integrados
 
Compuertas logicas
Compuertas logicasCompuertas logicas
Compuertas logicas
 
Palabras Reservadas en C++
Palabras Reservadas en C++Palabras Reservadas en C++
Palabras Reservadas en C++
 
8b Curso de POO en java - paso de diagrama clases a java 1
8b Curso de POO en java - paso de diagrama clases a java 18b Curso de POO en java - paso de diagrama clases a java 1
8b Curso de POO en java - paso de diagrama clases a java 1
 

Similar a Arduino c++ y puerto serie

Arduino consola y puerto serie
Arduino consola y puerto serieArduino consola y puerto serie
Arduino consola y puerto serie
Ángel Acaymo M. G.
 
Arduino mfc y puerto serie
Arduino mfc y puerto serieArduino mfc y puerto serie
Arduino mfc y puerto serie
Ángel Acaymo M. G.
 
Arduino delphi tokio 10.2 y puerto serie
Arduino delphi tokio 10.2 y puerto serieArduino delphi tokio 10.2 y puerto serie
Arduino delphi tokio 10.2 y puerto serie
Ángel Acaymo M. G.
 
Conectando una pantalla lcd 1602 a arduino uno
Conectando una pantalla lcd 1602 a  arduino unoConectando una pantalla lcd 1602 a  arduino uno
Conectando una pantalla lcd 1602 a arduino uno
jacobbo
 
Ide arduino + arddublock
Ide arduino + arddublockIde arduino + arddublock
Ide arduino + arddublock
Sergio Uscamaita Flores
 
Programación básica de Arduino
Programación básica de Arduino Programación básica de Arduino
Programación básica de Arduino
SANTIAGO PABLO ALBERTO
 
Arduino + Arddublock.pdf
Arduino + Arddublock.pdfArduino + Arddublock.pdf
Arduino + Arddublock.pdf
SebastianNicolasDavi
 
curso-arduino.pdf
curso-arduino.pdfcurso-arduino.pdf
curso-arduino.pdf
cesarbaquero4
 
Ide arduino + arddublock
Ide arduino + arddublockIde arduino + arddublock
Ide arduino + arddublock
Visemi VI
 
CONTADOR BINARIO DESCENDENTE DE 8 BITS CON ARDUINO
CONTADOR BINARIO DESCENDENTE DE 8 BITS CON ARDUINOCONTADOR BINARIO DESCENDENTE DE 8 BITS CON ARDUINO
CONTADOR BINARIO DESCENDENTE DE 8 BITS CON ARDUINO
Fernando Marcos Marcos
 
Netduino
NetduinoNetduino
Netduino
David Matias
 
Taller practico iot fundación telefónica
Taller practico iot fundación telefónicaTaller practico iot fundación telefónica
Taller practico iot fundación telefónica
Sara Alvarellos Navarro
 
Sesion 1 Curso Arduino.pdf
Sesion 1 Curso Arduino.pdfSesion 1 Curso Arduino.pdf
Sesion 1 Curso Arduino.pdf
GabrielReyes625523
 
Tarjeta arduino
Tarjeta arduinoTarjeta arduino
Tarjeta arduino
Cinthya Lopez
 
Manual basico arduino
Manual basico arduinoManual basico arduino
Manual basico arduino
Ketoc2k3
 
CONTADOR BINARIO ASCENDENTE DE 8 BITS CON ARDUINO
CONTADOR BINARIO ASCENDENTE DE 8 BITS CON ARDUINOCONTADOR BINARIO ASCENDENTE DE 8 BITS CON ARDUINO
CONTADOR BINARIO ASCENDENTE DE 8 BITS CON ARDUINO
Fernando Marcos Marcos
 
Hack x crack_cuaderno_arduino
Hack x crack_cuaderno_arduinoHack x crack_cuaderno_arduino
Hack x crack_cuaderno_arduino
Juan Jose Garcia Sanchez
 
Curso intensivo de arduino createc3 d marzo 2014
Curso intensivo de arduino createc3 d marzo 2014Curso intensivo de arduino createc3 d marzo 2014
Curso intensivo de arduino createc3 d marzo 2014
Jose Antonio Vacas
 
Cuaderno_Arduino.pdf
Cuaderno_Arduino.pdfCuaderno_Arduino.pdf
Cuaderno_Arduino.pdf
Erwin Joel Espinoza Delgado
 
Hack x Crack Arduino; Diseño hecho por: Hacker Fashion
Hack x Crack Arduino; Diseño hecho por: Hacker FashionHack x Crack Arduino; Diseño hecho por: Hacker Fashion
Hack x Crack Arduino; Diseño hecho por: Hacker Fashion
Darwin921278
 

Similar a Arduino c++ y puerto serie (20)

Arduino consola y puerto serie
Arduino consola y puerto serieArduino consola y puerto serie
Arduino consola y puerto serie
 
Arduino mfc y puerto serie
Arduino mfc y puerto serieArduino mfc y puerto serie
Arduino mfc y puerto serie
 
Arduino delphi tokio 10.2 y puerto serie
Arduino delphi tokio 10.2 y puerto serieArduino delphi tokio 10.2 y puerto serie
Arduino delphi tokio 10.2 y puerto serie
 
Conectando una pantalla lcd 1602 a arduino uno
Conectando una pantalla lcd 1602 a  arduino unoConectando una pantalla lcd 1602 a  arduino uno
Conectando una pantalla lcd 1602 a arduino uno
 
Ide arduino + arddublock
Ide arduino + arddublockIde arduino + arddublock
Ide arduino + arddublock
 
Programación básica de Arduino
Programación básica de Arduino Programación básica de Arduino
Programación básica de Arduino
 
Arduino + Arddublock.pdf
Arduino + Arddublock.pdfArduino + Arddublock.pdf
Arduino + Arddublock.pdf
 
curso-arduino.pdf
curso-arduino.pdfcurso-arduino.pdf
curso-arduino.pdf
 
Ide arduino + arddublock
Ide arduino + arddublockIde arduino + arddublock
Ide arduino + arddublock
 
CONTADOR BINARIO DESCENDENTE DE 8 BITS CON ARDUINO
CONTADOR BINARIO DESCENDENTE DE 8 BITS CON ARDUINOCONTADOR BINARIO DESCENDENTE DE 8 BITS CON ARDUINO
CONTADOR BINARIO DESCENDENTE DE 8 BITS CON ARDUINO
 
Netduino
NetduinoNetduino
Netduino
 
Taller practico iot fundación telefónica
Taller practico iot fundación telefónicaTaller practico iot fundación telefónica
Taller practico iot fundación telefónica
 
Sesion 1 Curso Arduino.pdf
Sesion 1 Curso Arduino.pdfSesion 1 Curso Arduino.pdf
Sesion 1 Curso Arduino.pdf
 
Tarjeta arduino
Tarjeta arduinoTarjeta arduino
Tarjeta arduino
 
Manual basico arduino
Manual basico arduinoManual basico arduino
Manual basico arduino
 
CONTADOR BINARIO ASCENDENTE DE 8 BITS CON ARDUINO
CONTADOR BINARIO ASCENDENTE DE 8 BITS CON ARDUINOCONTADOR BINARIO ASCENDENTE DE 8 BITS CON ARDUINO
CONTADOR BINARIO ASCENDENTE DE 8 BITS CON ARDUINO
 
Hack x crack_cuaderno_arduino
Hack x crack_cuaderno_arduinoHack x crack_cuaderno_arduino
Hack x crack_cuaderno_arduino
 
Curso intensivo de arduino createc3 d marzo 2014
Curso intensivo de arduino createc3 d marzo 2014Curso intensivo de arduino createc3 d marzo 2014
Curso intensivo de arduino createc3 d marzo 2014
 
Cuaderno_Arduino.pdf
Cuaderno_Arduino.pdfCuaderno_Arduino.pdf
Cuaderno_Arduino.pdf
 
Hack x Crack Arduino; Diseño hecho por: Hacker Fashion
Hack x Crack Arduino; Diseño hecho por: Hacker FashionHack x Crack Arduino; Diseño hecho por: Hacker Fashion
Hack x Crack Arduino; Diseño hecho por: Hacker Fashion
 

Más de Ángel Acaymo M. G.

Formulario windows con visual c++ 2017
Formulario windows con visual c++ 2017Formulario windows con visual c++ 2017
Formulario windows con visual c++ 2017
Ángel Acaymo M. G.
 
Entrada digital con arduino y visual studio 2015
Entrada digital con arduino y visual studio 2015Entrada digital con arduino y visual studio 2015
Entrada digital con arduino y visual studio 2015
Ángel Acaymo M. G.
 
Formulario windows con visual c++
Formulario windows con visual c++Formulario windows con visual c++
Formulario windows con visual c++
Ángel Acaymo M. G.
 
Interfaz java y arduino
Interfaz java y arduinoInterfaz java y arduino
Interfaz java y arduino
Ángel Acaymo M. G.
 
Interfaz visual basic 6 y arduino
Interfaz visual basic 6 y arduinoInterfaz visual basic 6 y arduino
Interfaz visual basic 6 y arduino
Ángel Acaymo M. G.
 
Crear formulario windows form con visual c++ 2015
Crear formulario windows form con visual c++ 2015Crear formulario windows form con visual c++ 2015
Crear formulario windows form con visual c++ 2015
Ángel Acaymo M. G.
 
Apagar y encender led con arduino y visual studio 2015
Apagar y encender led con arduino y visual studio 2015Apagar y encender led con arduino y visual studio 2015
Apagar y encender led con arduino y visual studio 2015
Ángel Acaymo M. G.
 
Rom laboratory
Rom laboratoryRom laboratory
Rom laboratory
Ángel Acaymo M. G.
 
Desbloquear impresora Brother MFC-440CN error 46
Desbloquear impresora Brother MFC-440CN error 46Desbloquear impresora Brother MFC-440CN error 46
Desbloquear impresora Brother MFC-440CN error 46
Ángel Acaymo M. G.
 
Teensy++2.0
Teensy++2.0Teensy++2.0
Teensy++2.0
Ángel Acaymo M. G.
 
Interfaz puerto paralelo LPT
Interfaz puerto paralelo LPTInterfaz puerto paralelo LPT
Interfaz puerto paralelo LPT
Ángel Acaymo M. G.
 
Mplab Inicio Rapido
Mplab Inicio RapidoMplab Inicio Rapido
Mplab Inicio Rapido
Ángel Acaymo M. G.
 

Más de Ángel Acaymo M. G. (12)

Formulario windows con visual c++ 2017
Formulario windows con visual c++ 2017Formulario windows con visual c++ 2017
Formulario windows con visual c++ 2017
 
Entrada digital con arduino y visual studio 2015
Entrada digital con arduino y visual studio 2015Entrada digital con arduino y visual studio 2015
Entrada digital con arduino y visual studio 2015
 
Formulario windows con visual c++
Formulario windows con visual c++Formulario windows con visual c++
Formulario windows con visual c++
 
Interfaz java y arduino
Interfaz java y arduinoInterfaz java y arduino
Interfaz java y arduino
 
Interfaz visual basic 6 y arduino
Interfaz visual basic 6 y arduinoInterfaz visual basic 6 y arduino
Interfaz visual basic 6 y arduino
 
Crear formulario windows form con visual c++ 2015
Crear formulario windows form con visual c++ 2015Crear formulario windows form con visual c++ 2015
Crear formulario windows form con visual c++ 2015
 
Apagar y encender led con arduino y visual studio 2015
Apagar y encender led con arduino y visual studio 2015Apagar y encender led con arduino y visual studio 2015
Apagar y encender led con arduino y visual studio 2015
 
Rom laboratory
Rom laboratoryRom laboratory
Rom laboratory
 
Desbloquear impresora Brother MFC-440CN error 46
Desbloquear impresora Brother MFC-440CN error 46Desbloquear impresora Brother MFC-440CN error 46
Desbloquear impresora Brother MFC-440CN error 46
 
Teensy++2.0
Teensy++2.0Teensy++2.0
Teensy++2.0
 
Interfaz puerto paralelo LPT
Interfaz puerto paralelo LPTInterfaz puerto paralelo LPT
Interfaz puerto paralelo LPT
 
Mplab Inicio Rapido
Mplab Inicio RapidoMplab Inicio Rapido
Mplab Inicio Rapido
 

Último

11. Legislación Aplicada a la Informática.pdf
11. Legislación Aplicada a la Informática.pdf11. Legislación Aplicada a la Informática.pdf
11. Legislación Aplicada a la Informática.pdf
PanchoChangue
 
400816850-Mantenimiento-de-Equipos-de-Espesamiento-pdf.pdf
400816850-Mantenimiento-de-Equipos-de-Espesamiento-pdf.pdf400816850-Mantenimiento-de-Equipos-de-Espesamiento-pdf.pdf
400816850-Mantenimiento-de-Equipos-de-Espesamiento-pdf.pdf
Rubén Cortes Zavala
 
Informe_mc_bombas_Warman_001-WEIR vulco.pdf
Informe_mc_bombas_Warman_001-WEIR vulco.pdfInforme_mc_bombas_Warman_001-WEIR vulco.pdf
Informe_mc_bombas_Warman_001-WEIR vulco.pdf
Rubén Cortes Zavala
 
Diapositiva sobre Tecnologia de la Información y Telecomunicaciones.pptx
Diapositiva sobre Tecnologia de la Información y Telecomunicaciones.pptxDiapositiva sobre Tecnologia de la Información y Telecomunicaciones.pptx
Diapositiva sobre Tecnologia de la Información y Telecomunicaciones.pptx
GnesisOrtegaDeLen
 
SEGUNDA GENERACIÓN xxxxxxxxxxxxxxxx.docx
SEGUNDA GENERACIÓN xxxxxxxxxxxxxxxx.docxSEGUNDA GENERACIÓN xxxxxxxxxxxxxxxx.docx
SEGUNDA GENERACIÓN xxxxxxxxxxxxxxxx.docx
Eddy Nathaly Jaimes Villamizar
 
Generaciones de Computadoras .
Generaciones de Computadoras                 .Generaciones de Computadoras                 .
Generaciones de Computadoras .
gregory760891
 
PROTOCOLO DE NANOPOROS Kit de códigos de barras 16S (SQK-RAB204)
PROTOCOLO DE NANOPOROS Kit de códigos de barras 16S (SQK-RAB204)PROTOCOLO DE NANOPOROS Kit de códigos de barras 16S (SQK-RAB204)
PROTOCOLO DE NANOPOROS Kit de códigos de barras 16S (SQK-RAB204)
ADELAIDA90
 
bomba-koomey -Todo sobre sus istema y conexiones
bomba-koomey -Todo sobre sus istema y conexionesbomba-koomey -Todo sobre sus istema y conexiones
bomba-koomey -Todo sobre sus istema y conexiones
JessAdrinGonzlezCade
 
¿Cómo funciona el seguimiento por GPS y cómo puede ayudar al transporte y la ...
¿Cómo funciona el seguimiento por GPS y cómo puede ayudar al transporte y la ...¿Cómo funciona el seguimiento por GPS y cómo puede ayudar al transporte y la ...
¿Cómo funciona el seguimiento por GPS y cómo puede ayudar al transporte y la ...
Navsat
 
Evolución, características, aplicación, ventajas y desventajas de las TIC
Evolución, características, aplicación, ventajas y desventajas de las TICEvolución, características, aplicación, ventajas y desventajas de las TIC
Evolución, características, aplicación, ventajas y desventajas de las TIC
Henry W. Zavala
 
UiPath Community Data Service presentation
UiPath Community Data Service presentationUiPath Community Data Service presentation
UiPath Community Data Service presentation
DianaGray10
 
"El uso de las TIC en la vida cotidiana". SantanaMartinez_Alejandra
"El uso de las TIC en la vida cotidiana". SantanaMartinez_Alejandra"El uso de las TIC en la vida cotidiana". SantanaMartinez_Alejandra
"El uso de las TIC en la vida cotidiana". SantanaMartinez_Alejandra
241578066
 
_Manejo de Riesgos en el Laboratorio.pdf
_Manejo de Riesgos en el Laboratorio.pdf_Manejo de Riesgos en el Laboratorio.pdf
_Manejo de Riesgos en el Laboratorio.pdf
correodetareas
 
Índice del libro "Metaverso y mundos virtuales: Tecnologías, Retos y Oportuni...
Índice del libro "Metaverso y mundos virtuales: Tecnologías, Retos y Oportuni...Índice del libro "Metaverso y mundos virtuales: Tecnologías, Retos y Oportuni...
Índice del libro "Metaverso y mundos virtuales: Tecnologías, Retos y Oportuni...
Telefónica
 
Conceptos y definiciones de Antenas y propagación
Conceptos y definiciones de Antenas y propagaciónConceptos y definiciones de Antenas y propagación
Conceptos y definiciones de Antenas y propagación
edgarcalle8
 
DE LO HUMANO Y LO COMUNITARIO PROYECTO INTEGRADOR (2).docx
DE LO HUMANO Y LO COMUNITARIO PROYECTO INTEGRADOR (2).docxDE LO HUMANO Y LO COMUNITARIO PROYECTO INTEGRADOR (2).docx
DE LO HUMANO Y LO COMUNITARIO PROYECTO INTEGRADOR (2).docx
lourdesuribe6
 

Último (16)

11. Legislación Aplicada a la Informática.pdf
11. Legislación Aplicada a la Informática.pdf11. Legislación Aplicada a la Informática.pdf
11. Legislación Aplicada a la Informática.pdf
 
400816850-Mantenimiento-de-Equipos-de-Espesamiento-pdf.pdf
400816850-Mantenimiento-de-Equipos-de-Espesamiento-pdf.pdf400816850-Mantenimiento-de-Equipos-de-Espesamiento-pdf.pdf
400816850-Mantenimiento-de-Equipos-de-Espesamiento-pdf.pdf
 
Informe_mc_bombas_Warman_001-WEIR vulco.pdf
Informe_mc_bombas_Warman_001-WEIR vulco.pdfInforme_mc_bombas_Warman_001-WEIR vulco.pdf
Informe_mc_bombas_Warman_001-WEIR vulco.pdf
 
Diapositiva sobre Tecnologia de la Información y Telecomunicaciones.pptx
Diapositiva sobre Tecnologia de la Información y Telecomunicaciones.pptxDiapositiva sobre Tecnologia de la Información y Telecomunicaciones.pptx
Diapositiva sobre Tecnologia de la Información y Telecomunicaciones.pptx
 
SEGUNDA GENERACIÓN xxxxxxxxxxxxxxxx.docx
SEGUNDA GENERACIÓN xxxxxxxxxxxxxxxx.docxSEGUNDA GENERACIÓN xxxxxxxxxxxxxxxx.docx
SEGUNDA GENERACIÓN xxxxxxxxxxxxxxxx.docx
 
Generaciones de Computadoras .
Generaciones de Computadoras                 .Generaciones de Computadoras                 .
Generaciones de Computadoras .
 
PROTOCOLO DE NANOPOROS Kit de códigos de barras 16S (SQK-RAB204)
PROTOCOLO DE NANOPOROS Kit de códigos de barras 16S (SQK-RAB204)PROTOCOLO DE NANOPOROS Kit de códigos de barras 16S (SQK-RAB204)
PROTOCOLO DE NANOPOROS Kit de códigos de barras 16S (SQK-RAB204)
 
bomba-koomey -Todo sobre sus istema y conexiones
bomba-koomey -Todo sobre sus istema y conexionesbomba-koomey -Todo sobre sus istema y conexiones
bomba-koomey -Todo sobre sus istema y conexiones
 
¿Cómo funciona el seguimiento por GPS y cómo puede ayudar al transporte y la ...
¿Cómo funciona el seguimiento por GPS y cómo puede ayudar al transporte y la ...¿Cómo funciona el seguimiento por GPS y cómo puede ayudar al transporte y la ...
¿Cómo funciona el seguimiento por GPS y cómo puede ayudar al transporte y la ...
 
Evolución, características, aplicación, ventajas y desventajas de las TIC
Evolución, características, aplicación, ventajas y desventajas de las TICEvolución, características, aplicación, ventajas y desventajas de las TIC
Evolución, características, aplicación, ventajas y desventajas de las TIC
 
UiPath Community Data Service presentation
UiPath Community Data Service presentationUiPath Community Data Service presentation
UiPath Community Data Service presentation
 
"El uso de las TIC en la vida cotidiana". SantanaMartinez_Alejandra
"El uso de las TIC en la vida cotidiana". SantanaMartinez_Alejandra"El uso de las TIC en la vida cotidiana". SantanaMartinez_Alejandra
"El uso de las TIC en la vida cotidiana". SantanaMartinez_Alejandra
 
_Manejo de Riesgos en el Laboratorio.pdf
_Manejo de Riesgos en el Laboratorio.pdf_Manejo de Riesgos en el Laboratorio.pdf
_Manejo de Riesgos en el Laboratorio.pdf
 
Índice del libro "Metaverso y mundos virtuales: Tecnologías, Retos y Oportuni...
Índice del libro "Metaverso y mundos virtuales: Tecnologías, Retos y Oportuni...Índice del libro "Metaverso y mundos virtuales: Tecnologías, Retos y Oportuni...
Índice del libro "Metaverso y mundos virtuales: Tecnologías, Retos y Oportuni...
 
Conceptos y definiciones de Antenas y propagación
Conceptos y definiciones de Antenas y propagaciónConceptos y definiciones de Antenas y propagación
Conceptos y definiciones de Antenas y propagación
 
DE LO HUMANO Y LO COMUNITARIO PROYECTO INTEGRADOR (2).docx
DE LO HUMANO Y LO COMUNITARIO PROYECTO INTEGRADOR (2).docxDE LO HUMANO Y LO COMUNITARIO PROYECTO INTEGRADOR (2).docx
DE LO HUMANO Y LO COMUNITARIO PROYECTO INTEGRADOR (2).docx
 

Arduino c++ y puerto serie

  • 2. Electrónica PIC Arduino C++ y Puerto serie 2
  • 3. Í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
  • 4. Arduino C++ y Puerto serie 4
  • 6. 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
  • 7. 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:  El uso del int main() y el void main(). Arduino C++ y Puerto serie 7
  • 8. 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
  • 9. Arduino C++ y Puerto serie 9
  • 10. Descargas Arduino C++ y Puerto serie 10
  • 11. 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
  • 12. 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
  • 13. Arduino C++ y Puerto serie 13
  • 14. Funcionamiento Arduino C++ y Puerto serie 14
  • 15. Funcionamiento Arduino C++ y Puerto serie 15
  • 16. 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
  • 17. 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
  • 18. 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
  • 19. 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
  • 20. 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
  • 21. 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
  • 22. 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
  • 23. Arduino C++ y Puerto serie 23
  • 25. Configuración Arduino Arduino C++ y Puerto serie 25  Instalado Arduino IDE 1.8.2 desde que se creó este tutorial.
  • 26. 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.
  • 27. 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.
  • 28. 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.
  • 29. 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”.
  • 30. 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.
  • 31. Arduino C++ y Puerto serie 31
  • 32. Configuración Puerto serie Arduino C++ y Puerto serie 32
  • 33. 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
  • 34. 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
  • 35. 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
  • 36. 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
  • 37. 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
  • 38. Configuración Puerto serie  En este caso tengo el puerto COM 7 ya seleccionado. Arduino C++ y Puerto serie 38
  • 39. 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
  • 40. Arduino C++ y Puerto serie 40
  • 41. Códigos Arduino Arduino C++ y Puerto serie 41
  • 42. 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 Arduino. Arduino C++ y Puerto serie 42
  • 43. Códigos Arduino Arduino C++ y Puerto serie 43
  • 44. 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
  • 45. 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
  • 46. Códigos Arduino Arduino C++ y Puerto serie 46
  • 47. Códigos Arduino Arduino C++ y Puerto serie 47
  • 48. 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
  • 49. 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
  • 50. 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
  • 51. 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.
  • 52. Arduino C++ y Puerto serie 52
  • 53. Códigos C++ Arduino C++ y Puerto serie 53
  • 54. 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.  Librería SerialClass. Arduino C++ y Puerto serie 54
  • 55. 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. En resumen, IDE es el entorno de desarrollo para hacer código, el compilador es el que crea el ejecutable. Arduino C++ y Puerto serie 55
  • 56. Arduino C++ y Puerto serie 56
  • 57. Arduino C++ y Puerto serie 57
  • 58. Códigos C++  Una vez descargada la librería SerialClass vas a cambiar los baudios que por defecto viene a 9600 baudios y lo cambiamos a 115200 baudios. Arduino C++ y Puerto serie 58
  • 59. 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
  • 60. Códigos C++  Encuentra la parte que dice CBR_9600. Arduino C++ y Puerto serie 60
  • 61. 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
  • 62. Arduino C++ y Puerto serie 62
  • 63. Visual Studio C++ Arduino C++ y Puerto serie 63
  • 64. 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
  • 65. 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
  • 66. Visual Studio C++  Se abre el asistente para Win32.  Simplemente pulsa Siguiente. Arduino C++ y Puerto serie 66
  • 67. Visual Studio C++  No olvides desactivar el Encabezado precompilado.  Pulsa Finalizar. Arduino C++ y Puerto serie 67
  • 68. Visual Studio C++  Ya está preparado para hacer ciertas tareas antes de empezar a poner códigos. Arduino C++ y Puerto serie 68
  • 69. 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
  • 70. 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
  • 71. 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
  • 72. 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
  • 73. 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
  • 74. 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
  • 75. 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
  • 76. Visual Studio C++  Selecciona los dos archivos y pulsa Agregar. Arduino C++ y Puerto serie 76
  • 77. 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
  • 78. Visual Studio C++  Todo debe estar como indica en la imagen. Arduino C++ y Puerto serie 78
  • 79. 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
  • 80. 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
  • 81. 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
  • 82. 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
  • 83. 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
  • 84. 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
  • 85. 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
  • 86. 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
  • 87. Arduino C++ y Puerto serie 87
  • 88. Code::Blocks Arduino C++ y Puerto serie 88
  • 89. Code::Blocks  Ya instalado el Code::Blocks, iniciamos un nuevo proyecto.  File  New  Project… Arduino C++ y Puerto serie 89
  • 90. Code::Blocks  La aplicación será tipo consola.  Selecciona Console application y pulsa el botón Go. Arduino C++ y Puerto serie 90
  • 91. Code::Blocks  Lee y pulsa Next. Arduino C++ y Puerto serie 91
  • 92. Code::Blocks  Usarás el lenguaje C++.  Pulsa Next. Arduino C++ y Puerto serie 92
  • 93. 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
  • 94. Code::Blocks  Deja todo como está y  pulsa Finish. Arduino C++ y Puerto serie 94
  • 95. Code::Blocks  Code:Blocks dispuesto para empezar a programar, antes, a instalar la librería SerialClass. Arduino C++ y Puerto serie 95
  • 96. 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
  • 97. 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
  • 98. 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
  • 99. Code::Blocks  Puedes ver los archivos de la librería SerialClass preparados.  Ya puedes cerrar la ventana. Arduino C++ y Puerto serie 99
  • 100. 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
  • 101. Code::Blocks  Selecciona los archivos SerialClass.cpp y SerialClass.h.  Luego pulsa Abrir. Arduino C++ y Puerto serie 101
  • 102. Code::Blocks  Simplemente pulsa OK. Arduino C++ y Puerto serie 102
  • 103. 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
  • 104. 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
  • 105. Code::Blocks  No olvidar que para Code::Blocks se usa int main(). Arduino C++ y Puerto serie 105
  • 106. Code::Blocks  Para crear y ejecutar el código simplemente “Build  Build and run” o simplemente pulsa F9. Arduino C++ y Puerto serie 106
  • 107. 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
  • 108. 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
  • 109. Arduino C++ y Puerto serie 109
  • 110. C++ Builder Arduino C++ y Puerto serie 110
  • 111. C++ Builder  Crearás un nuevo proyecto en “File  Other…”. Arduino C++ y Puerto serie 111
  • 112. C++ Builder  Selecciona “C++ Builder Projects”, luego “Console Application”.  Finalmente, pulsas “OK”. Arduino C++ y Puerto serie 112
  • 113. C++ Builder  Deja las opciones tal como está y pulsa OK. Arduino C++ y Puerto serie 113
  • 114. C++ Builder  Se ha abierto el IDE y preparado para programar en C++. Arduino C++ y Puerto serie 114
  • 115. C++ Builder  Antes que nada, guarda todo el proyecto.  Pulsas File  Save All. Arduino C++ y Puerto serie 115
  • 116. 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
  • 117. 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
  • 118. 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
  • 119. 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
  • 120. 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
  • 121. 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
  • 122. C++ Builder  Se han agregado los SerialClass.cpp y SerialClass.h Project Manager. Arduino C++ y Puerto serie 122
  • 123. C++ Builder  Se han agregado los SerialClass.cpp y SerialClass.h Project Manager. Arduino C++ y Puerto serie 123
  • 124. 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
  • 125. 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
  • 126. Arduino C++ y Puerto serie 126
  • 127. Extras Arduino C++ y Puerto serie 127
  • 128. Extras  Librería SerialClass.  ¿Qué es Arduino?  Restablecer ventanas del IDE por defecto. Arduino C++ y Puerto serie 128
  • 129. 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
  • 130. Extras Arduino C++ y Puerto serie 130 SerialClass.h
  • 131. Extras Arduino C++ y Puerto serie 131 SerialClass.cpp
  • 132. Extras Arduino C++ y Puerto serie 132
  • 133. Extras Arduino C++ y Puerto serie 133
  • 134. 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 abierto que 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
  • 135. 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
  • 136. 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
  • 137. Arduino C++ y Puerto serie 137
  • 138. 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
  • 139. 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.
  • 140. Extras Arduino C++ y Puerto serie 140  Arriba, en la barra de herramientas, pulsa Ventana y luego Restablecer diseños de ventana.
  • 141. Extras Arduino C++ y Puerto serie 141  Te hará una pregunta y le dices que Sí.
  • 142. 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.
  • 143. Extras Arduino C++ y Puerto serie 143  Arriba, en la barra de herramientas, pulsa View  Perspectives – Code::Blocks default.  Tendrás el IDE restablecido.
  • 144. 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.
  • 145. Extras Arduino C++ y Puerto serie 145  Arriba, en la barra de herramientas, pulsa View  Desktops  Default Layout.  Tendrás el IDE restablecido.
  • 146. Arduino C++ y Puerto serie 146
  • 147. Fotos Algunas 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
  • 148. Fotos Arduino C++ y Puerto serie 148
  • 149. Fotos Arduino C++ y Puerto serie 149
  • 150. Fotos Arduino C++ y Puerto serie 150
  • 151. Arduino C++ y Puerto serie 151
  • 152. Vídeo Arduino C++ y Puerto serie 152
  • 153. Vídeo Arduino C++ y Puerto serie 153 https://www.youtube.com/watch?v=KZkIZHSXL-g
  • 154. Arduino C++ y Puerto serie 154
  • 155. Enlaces Arduino C++ y Puerto serie 155
  • 156. 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
  • 157. Arduino C++ y Puerto serie 157
  • 158. Versión Arduino C++ y Puerto serie 158
  • 159. Versión  Versión tutorial: 1.04  Fecha Publicación: 31-03-2017.  Última actualización: 05-07-2017. Arduino C++ y Puerto serie 159
  • 160. Arduino C++ y Puerto serie 160