Buscar
Social
Ofertas laborales ES

Foro sobre Java SE > Sensor de movimiento

Hola Gente soy nuevo! Necesito de su ayuda, soy estudiante en programación tengo poco en Java y la verdad estoy batallando un poco para lograr lo que quiero, necesito de su orientación y ayuda. Estoy trabajando en un proyecto sencillo para una clase en el que deseo incorporar un sensor de movimiento.

Se trata de un programa que sirva para que cuando un objeto este obstruyendo el infrarrojo del sensor, se prenda una luz led color ROJA, y cuando no haya objeto alguno se prenda una luz color VERDE.

Se que suena sencillo hacerlo para la verdad ya tengo unos días con esto y no logro pensar en una manera de hacerlo, alguna ayuda o sugerencia? Se los agradecería mucho.

Nota: Es un programa hipotético, no cuento con ninguna luz ni roja ni verde, ni mucho menos con un sensor, simplemente necesito un ejemplo de como se vería el programa de contar con dichos instrumentos. De antemano muchas gracias.

Nota2: No necesariamente necesito un programa en JAVA, puede ser en cualquier lenguaje, lo que necesito es una idea general de como podría lograrlo.

agosto 16, 2014 | Unregistered Commentermarcos cuevas

El Slider simula el movimiento: cuando se detiene, o se deja de pulsar el ratón, cambian las luces.
Se puede hacer "más bonito", con imágenes que simulen diodos led; pero la idea básica es la siguiente:

import java.awt.Color;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;

public class NewJFrame extends javax.swing.JFrame {

public NewJFrame() {
initComponents();

movimiento.addChangeListener(new ChangeListener() {

@Override
public void stateChanged(ChangeEvent e) {
rojo.setBackground(Color.red);
verde.setBackground(Color.LIGHT_GRAY);
}
});
movimiento.addMouseListener(new MouseAdapter() {

@Override
public void mouseReleased(MouseEvent e) {
setColoresReposo();
}

@Override
public void mouseExited(MouseEvent e) {
setColoresReposo();
}

});
}

private void setColoresReposo() {
rojo.setBackground(Color.LIGHT_GRAY);
verde.setBackground(Color.green);
}

@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {

movimiento = new javax.swing.JSlider();
rojo = new javax.swing.JButton();
verde = new javax.swing.JButton();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

rojo.setText(" ");
rojo.setEnabled(false);

verde.setText(" ");
verde.setEnabled(false);

javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(movimiento, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 230, Short.MAX_VALUE)
.addGroup(layout.createSequentialGroup()
.addComponent(rojo)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(verde)))
.addContainerGap())
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(rojo)
.addComponent(verde))
.addGap(18, 18, 18)
.addComponent(movimiento, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);

pack();
}// </editor-fold>
/**
@param args the command line arguments
*/
public static void main(String args[]) {

java.awt.EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
new NewJFrame().setVisible(true);
}
});
}

// Variables declaration - do not modify
private javax.swing.JSlider movimiento;
private javax.swing.JButton rojo;
private javax.swing.JButton verde;
// End of variables declaration
}

agosto 16, 2014 | Registered Commenterchoces