DIVISIÓN DE INGENIERÍA MECATRÓNICA
REPORTE DE PRACTICA: ARDUINO-JAVA
Asignatura:
Programación
Elaborado por:
Alonso Villegas Erick
De Felipe Lechuga Aldo
Del Angel San Juan Maria Fernanda
Flores Escobar Karla Ivonne
Fuentes Reyes Jorge
Rangel Ruiz Jose Luis
Reyes Alvares Asael
Docente:
Salinas Callejas Maria de Lourdes
Grupo:
913-M
Período: 2025-2
REPORTE TÉCNICO
Código Arduino:
Línea 1: Agregamos la librería #include <servo> que nos servirá para controlar el que el
eje se posicione de acuerdo con los grados requeridos.
Línea 2: Crearemos el objeto de tipo servo llamado "puerta"
Línea 3: Creamos una variable de tipo char llamada "dato", en ella guardaremos y
recibiremos de java.
Línea 4-5-6: Aquí definiremos los pines en donde llamados “foco1”, “foco2” y “foco3” e
igualamos al pin del arduino en donde se conectará cada uno.
Línea 8-9-10: Configuramos los pines de los leds como salidas, lo que permitirá que
podamos apagarlos y encenderlos.
Línea 11: Nos referimos a que el motor se conectará al pin 9 de la placa arduino.
Línea 12: Iniciaremos posicionando el servomotor en cero grados, eso quiere decir que la
puerta se encuentra cerrada.
Línea 13: Iniciamos la comunicación serial entre Java y Arduino, sera de 9600 bautios.
Línea 16: Con ayuda de un if, verificamos si tenemos un dato procedente de Java.
Línea 17: Si hay un dato procedente de java, lo guardaremos en la variable “dato”.
Línea 19: Utilizando un if verificamos si la variable dato es igual a ‘A’ el led 1 se
encenderá.
Línea 20: Utilizando un if verificamos si la variable dato es igual a ‘a’ el led 1 se apagará.
Línea 22: Utilizando un if verificamos si la variable dato es igual a ‘B’ el led 2 se
encenderá.
Línea 23: Utilizando un if verificamos si la variable dato es igual a ‘b’ el led 1 se apagará.
Línea 25: Utilizando un if verificamos si la variable dato es igual a ‘C’ el led 1 se
encenderá.
Línea 26: Utilizando un if verificamos si la variable dato es igual a ‘c’ el led 1 se apagará.
Línea 28: Utilizando un if verificaremos que la variable dato sea igual a ‘P’, el eje del
servomotor se moverá 90º, lo que significa que la puerta se abrirá.
Línea 28: Utilizando un if verificaremos que la variable dato sea igual a ‘p’, el eje del
servomotor regresara a su posición inicial 0º, lo que significa que la puerta se cerrará.
CÓDIGO COMPLETO EN ARDUINO:
CÓDIGO JAVA
1. Creamos un nuevo proyecto
2. Dentro del proyecto crearemos un JFrame.
3. Para este proyecto utilizaremos la librería jSerialComm, la cual nos permitirá
establecer la comunicación entre Java y Arduino. Para ello, descargamos la
librería en formato .jar y posteriormente la agregaremos a la carpeta de librerías
que ya se encuentra dentro de nuestro proyecto.
4. Agregaremos 8 botones los cuales servirán para abrir y cerrar la puerta, encender
y apagar el led 1,encender y apagar el led 2,encender y apagar el led 3. Daremos
el diseño deseado a la interfaz.
5. Ahora nos vamos a la parte del código (sourse), en donde lo primero que vamos a
hacer es importar la clase SerialPort de la librería jSerialPost y también la clase
OutputStream que utilizaremos para establecer comunicación serial entre Arduino
y Java, permitiendo el envío de datos.
6. Declaramos dos variables que utilizaremos en los siguientes métodos.
puerto: representa la conexión serial con el arduino.
salida: enviará los comandos desde la interfaz en Java al Arduino
7. Dentro del constructor principal agregaremos el método que crearemos en un
momento de nombre conectarArduino() para establecer conexión con el Arduino
de forma automática.
8. Crearemos un método privado de nombre conectarArduino() este se encargara de
establecer la conexión.
a. Primero seleccionaremos el puerto COM al que está conectado el arduino.
puerto = [Link]("COM15");
b. Configuramos la velocidad de transmisión, la cual debe de ser la misma
que anteriormente indicamos en el código del Arduino.
[Link](9600);
c. Con el if se abre el puerto serial, si la conexiòn es exitosa se crea un canal
de salida para enviar datos. Agregamos un try-catch para indicar posibles
errores durante la conexiòn
d.
if ([Link]()) {
try {
salida = [Link]();
} catch (Exception e) {
[Link]();
}
}
9. Agregaremos eventos a cada botón.
btn1: Al presionar este botón, se envía el carácter ‘P’ al Arduino, el cuál
interpretará que la puerta se abrirá.
btn2: Al presionar este botón, se envía el carácter ‘p’ al Arduino, el cuál
interpretará que la puerta se abrirá.
btn3: Al presionar este botón, se envía el carácter ‘A’ al Arduino, el cuál
interpretará que el led1 se encienda.
btn4: Al presionar este botón, se envía el carácter ‘a’ al Arduino, el cuál
interpretará que el led1 se apague.
btn5: Al presionar este botón, se envía el carácter ‘B’ al Arduino, el cuál
interpretará que el led2 se encienda.
btn6: Al presionar este botón, se envía el carácter ‘b’ al Arduino, el cuál
interpretará que el led2 se apague.
btn7: Al presionar este botón, se envía el carácter ‘C’ al Arduino, el cuál
interpretará que el led3 se encienda.
btn48: Al presionar este botón, se envía el carácter ‘c’ al Arduino, el cuál
interpretará que el led3 se apague.
10.Se declara un método privado llamado enviar, el cual recibe como parámetro un
carácter (char comando). Este carácter representa el comando que será enviado al
Arduino a través de la comunicación serial.
CIRCUITO
EVIDENCIAS