Ein Slider liefert einen Wert für das LCD
Ziel:
In dem Package " Ist die geforderte Klasse bei Dir angelegt, steht schon
einwenig Code darin. package lcdshield;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import javax.swing.JFrame;
import javax.swing.JSlider;
import jssc.SerialPort;
import jssc.SerialPortException;
@SuppressWarnings("serial")
public class EinSliderLiefertWertZuArduino
extends JFrame implements MouseListener {
private JSlider sli;
private SerialPort sp;
public EinSliderLiefertWertZuArduino()
throws SerialPortException {
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setBounds(20, 20, 380, 100); // Fenster: x, y,
breite, hoehe
this.setTitle("Ein Slider liefert seriell Wert zu
Arduino");
this.setLayout(null);
this.createComponents();
this.setVisible(true);
sp = new
SerialPort("/dev/tty.usbmodem24131");
}
private void
createComponents() {
sli =
new JSlider( 0, 255, 0); // min, max, startwert
sli.setBounds(10, 20, 330, 45); // x, y, breite, hoehe
sli.setMajorTickSpacing(50); // Große
Skalenstriche
sli.setMinorTickSpacing(5); //
Kleine Skalenstriche
sli.setPaintTicks(true);
sli.setPaintLabels(true);
sli.addMouseListener(this);
this.add(sli);
}
@Override
public void
mouseReleased(MouseEvent arg0) {
try {
sp.writeInt(sli.getValue());
} catch
(SerialPortException e) {
e.printStackTrace();
}
}
@Override
public void
mouseClicked(MouseEvent arg0) {
}
@Override
public void
mouseEntered(MouseEvent arg0) {
}
@Override
public void
mouseExited(MouseEvent arg0) {
}
@Override
public void
mousePressed(MouseEvent arg0) {
}
public static void
main(String args[]) throws SerialPortException {
new
EinSliderLiefertWertZuArduino();
}
}
Arduino-Programm: #include
<LiquidCrystal.h>
LiquidCrystal lcd(8, 13, 9, 4, 5, 6, 7);
int wert;
void setup() {
lcd.clear(); lcd.begin(16, 2);
Serial.begin(9600);
}
void loop() {
if (Serial.available() > 0) {
wert = Serial.read();
//alten Wert löschen
lcd.setCursor(7, 0);
lcd.print(" ");
//neuen Wert schreiben
lcd.setCursor(7, 0);
lcd.print(wert);
}
delay(50); //eine kleine Pause kann
nie schaden
}
Eine Erweiterung dieses Programmes mit 6 Sliders findest Du hier.
Erläuterungen zum Java-Programm: |