ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Medidor de bateria


Enviado por   •  3 de Septiembre de 2018  •  Tutoriales  •  5.989 Palabras (24 Páginas)  •  130 Visitas

Página 1 de 24

Introducción

En este proyecto desarrollaremos un pequeño programa en el cual vamos a conectar arduino con java (eclipse). El programa consiste en medir el voltaje de una batería para que este voltaje aparezca en un JFrame y en la parte de arduino este es el que se encargara de medir el voltaje de la batería para posteriormente mandarle esos datos a java y los imprima en una tabla.  

Desarrollo del proyecto

Parte de Arduino

Como primera parte se usó un pequeño programa de arduino que es el que se encarga de medir y registrar el voltaje  de la batería como al igual tiene la acción de encender 3 leds, uno verde que es cuando la batería indica que tiene bastante carga, uno amarillo que indica cuando la batería esta medio cargada y por ultimo uno rojo que indica cuando la batería esta descargada. A continuación se anexa el código el cual podemos encontrar en internet.[pic 1]

[pic 2][pic 3] 

Parte de Java

En la parte de java eclipse lo que hicimos fue crear un JFrame como se muestra a continuación.

[pic 4]

Como se puede observar se usaron dos botones, uno para conectar a java con arduino y este nos empiece a mandar datos cuando conectemos la batería y otro para limpiar los daros de la pantalla. También se colocaron 3 textField que son los que al momento de conectar la batería indicaran cuando esta esté bien cargada, medio cargada y descargada por medio de 3 colores: Verde para batería cargada, Amarillo para batería medio cargada y Rojo para batería descargada.

Por ultimo usamos un scrollPane para insertar una columna que es la que se encargara de imprimir el voltaje de la batería medida por arduino. A continuación les mostramos el código desarrollado de java.

import java.awt.EventQueue;

import javax.swing.JFrame;

import javax.swing.JPanel;

import javax.swing.border.EmptyBorder;

import com.panamahitek.ArduinoException;

import com.panamahitek.PanamaHitek_Arduino;

import jssc.SerialPortEvent;

import jssc.SerialPortEventListener;

import jssc.SerialPortException;

import javax.swing.JTextField;

import javax.swing.JButton;

import java.awt.event.ActionListener;

import java.util.Calendar;

import java.awt.event.ActionEvent;

import javax.swing.JLabel;

import javax.swing.JTextArea;

import javax.swing.JTable;

import javax.swing.table.DefaultTableModel;

import javax.swing.JScrollPane;

import java.awt.Font;

import java.awt.Color;

import java.awt.SystemColor;

public class sensor_arduino extends JFrame {

        

        private JPanel contentPane;

float volt;

        /**

         * Launch the application.

         */

        public static void main(String[] args) {

                

                EventQueue.invokeLater(new Runnable() {

                        public void run() {

                                try {

                                        sensor_arduino frame = new sensor_arduino();

                                        frame.setVisible(true);

                                } catch (Exception e) {

                                        e.printStackTrace();

                                }

                        }

                });

        }

        /**

         * Create the frame.

         */

        

        PanamaHitek_Arduino arduino = new PanamaHitek_Arduino();

        

        private SerialPortEventListener evento =new SerialPortEventListener() {

                

                @Override

                public void serialEvent(SerialPortEvent arg0) {

                        // TODO Auto-generated method stub

                        try {

                                if(arduino.isMessageAvailable()) {

                                volt =Float.parseFloat(arduino.printMessage());

                                if(volt>1.5 ){

                                        textField.setBackground(Color.GREEN);

                                        textField_1.setBackground(Color.GRAY);

                                        textField_2.setBackground(Color.GRAY);

                                }

                                if(volt>1.4 && volt<1.5 ){

                                        textField_1.setBackground(Color.YELLOW);

...

Descargar como (para miembros actualizados)  txt (16.9 Kb)   pdf (1.3 Mb)   docx (1.2 Mb)  
Leer 23 páginas más »
Disponible sólo en Clubensayos.com