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