SlideShare una empresa de Scribd logo
1 de 162
Descargar para leer sin conexión
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

Ejemplo de uno a uno
Ejemplo de uno a unoEjemplo de uno a uno
Ejemplo de uno a unorafita07zr
 
Ejercicios de Multiplexores y decodificadores
Ejercicios de Multiplexores y decodificadoresEjercicios de Multiplexores y decodificadores
Ejercicios de Multiplexores y decodificadoresBertha Vega
 
Electrónica digital: Display de 7 segmentos con compuertas lógicas
Electrónica digital: Display de 7 segmentos con compuertas lógicasElectrónica digital: Display de 7 segmentos con compuertas lógicas
Electrónica digital: Display de 7 segmentos con compuertas lógicasSANTIAGO PABLO ALBERTO
 
Problemas resueltos Electrónica digital
Problemas resueltos Electrónica digitalProblemas resueltos Electrónica digital
Problemas resueltos Electrónica digitalCarlos Cardelo
 
Estructuras lineales unidad 3
Estructuras lineales unidad 3Estructuras lineales unidad 3
Estructuras lineales unidad 3eliezerbs
 
Transformar decimal fraccionario a binario, octal y
Transformar decimal fraccionario a binario, octal yTransformar decimal fraccionario a binario, octal y
Transformar decimal fraccionario a binario, octal yEvelyn Ruiz
 
Tópicos Avanzados de Programación - Unidad 4 Acceso a datos
Tópicos Avanzados de Programación - Unidad 4 Acceso a datosTópicos Avanzados de Programación - Unidad 4 Acceso a datos
Tópicos Avanzados de Programación - Unidad 4 Acceso a datosJosé Antonio Sandoval Acosta
 
Archivos secuenciales-indexados C++
Archivos secuenciales-indexados C++Archivos secuenciales-indexados C++
Archivos secuenciales-indexados C++EdsonRc
 
Teoremas de circuito eléctricos
Teoremas de circuito eléctricosTeoremas de circuito eléctricos
Teoremas de circuito eléctricosMariRizcala
 
1.3.1 polarizacion del jfet
1.3.1 polarizacion del jfet1.3.1 polarizacion del jfet
1.3.1 polarizacion del jfetjosefer28051989
 
Diferencias entre circuitos combinacionales y secuenciales
Diferencias entre circuitos combinacionales y secuencialesDiferencias entre circuitos combinacionales y secuenciales
Diferencias entre circuitos combinacionales y secuencialesWilfred Garcia Diomeda
 
Arreglos o dimensiones en pseint
Arreglos o dimensiones en pseintArreglos o dimensiones en pseint
Arreglos o dimensiones en pseintDon Augusto
 

La actualidad más candente (20)

Listas,pilas y colas Estructura de Datos
Listas,pilas y colas Estructura de DatosListas,pilas y colas Estructura de Datos
Listas,pilas y colas Estructura de Datos
 
Ejemplo de uno a uno
Ejemplo de uno a unoEjemplo de uno a uno
Ejemplo de uno a uno
 
Mapas de Karnaugh
Mapas de KarnaughMapas de Karnaugh
Mapas de Karnaugh
 
Ejercicios de Multiplexores y decodificadores
Ejercicios de Multiplexores y decodificadoresEjercicios de Multiplexores y decodificadores
Ejercicios de Multiplexores y decodificadores
 
Caracteristicas de-los-rele
Caracteristicas de-los-releCaracteristicas de-los-rele
Caracteristicas de-los-rele
 
Electrónica digital: Display de 7 segmentos con compuertas lógicas
Electrónica digital: Display de 7 segmentos con compuertas lógicasElectrónica digital: Display de 7 segmentos con compuertas lógicas
Electrónica digital: Display de 7 segmentos con compuertas lógicas
 
Problemas resueltos Electrónica digital
Problemas resueltos Electrónica digitalProblemas resueltos Electrónica digital
Problemas resueltos Electrónica digital
 
Arquitectura Microcontrolador PIC16F887
Arquitectura Microcontrolador PIC16F887Arquitectura Microcontrolador PIC16F887
Arquitectura Microcontrolador PIC16F887
 
Estructuras lineales unidad 3
Estructuras lineales unidad 3Estructuras lineales unidad 3
Estructuras lineales unidad 3
 
Transformar decimal fraccionario a binario, octal y
Transformar decimal fraccionario a binario, octal yTransformar decimal fraccionario a binario, octal y
Transformar decimal fraccionario a binario, octal y
 
Tópicos Avanzados de Programación - Unidad 4 Acceso a datos
Tópicos Avanzados de Programación - Unidad 4 Acceso a datosTópicos Avanzados de Programación - Unidad 4 Acceso a datos
Tópicos Avanzados de Programación - Unidad 4 Acceso a datos
 
Archivos secuenciales-indexados C++
Archivos secuenciales-indexados C++Archivos secuenciales-indexados C++
Archivos secuenciales-indexados C++
 
Teoremas de circuito eléctricos
Teoremas de circuito eléctricosTeoremas de circuito eléctricos
Teoremas de circuito eléctricos
 
Circuitos digitales-problemas
Circuitos digitales-problemasCircuitos digitales-problemas
Circuitos digitales-problemas
 
1.3.1 polarizacion del jfet
1.3.1 polarizacion del jfet1.3.1 polarizacion del jfet
1.3.1 polarizacion del jfet
 
Listas doblemente enlazadas
Listas doblemente enlazadasListas doblemente enlazadas
Listas doblemente enlazadas
 
Diferencias entre circuitos combinacionales y secuenciales
Diferencias entre circuitos combinacionales y secuencialesDiferencias entre circuitos combinacionales y secuenciales
Diferencias entre circuitos combinacionales y secuenciales
 
1.1. El Diodo Ideal
1.1. El Diodo Ideal1.1. El Diodo Ideal
1.1. El Diodo Ideal
 
informe sensores-de-temperatura
informe sensores-de-temperaturainforme sensores-de-temperatura
informe sensores-de-temperatura
 
Arreglos o dimensiones en pseint
Arreglos o dimensiones en pseintArreglos o dimensiones en pseint
Arreglos o dimensiones en pseint
 

Similar a Arduino C++ Puerto Serie Tutorial

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 unojacobbo
 
Ide arduino + arddublock
Ide arduino + arddublockIde arduino + arddublock
Ide arduino + arddublockVisemi 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 ARDUINOFernando Marcos Marcos
 
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ónicaSara Alvarellos Navarro
 
Manual basico arduino
Manual basico arduinoManual basico arduino
Manual basico arduinoKetoc2k3
 
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 ARDUINOFernando Marcos Marcos
 
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 2014Jose Antonio Vacas
 
Cuaderno_Arduino.pdf
Cuaderno_Arduino.pdfCuaderno_Arduino.pdf
Cuaderno_Arduino.pdfEdwin4321
 

Similar a Arduino C++ Puerto Serie Tutorial (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
 
Cuaderno_Arduino.pdf
Cuaderno_Arduino.pdfCuaderno_Arduino.pdf
Cuaderno_Arduino.pdf
 

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

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

trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaarkananubis
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxJOSEFERNANDOARENASCA
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 

Último (20)

trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en mina
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptx
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 

Arduino C++ Puerto Serie Tutorial

  • 1.
  • 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