Hur man skriver en Ardulink GUI, till kontroll Arduino (2 / 2 steg)
Steg 2: Ok, du är en utvecklare
Du kan se hela fem minuter video tutorial på youtube genom följande länk: http://youtu.be/2bwge-MrxLgNu kan du ladda ner eclipse (kepler) arbetsytan med handledning koden följande länk (den ursprungliga tutorial):
http://www.ardulink.org/how-to-write-an-ardulink-gui-five-minutes-tutorial/
Jag använde två Ardulink komponenter och en enkel SWING-knappen.
- org.zu.ardulink.gui.ConnectionPanel är köpa duktig söka för seriella portar anslutna till Arduino och välj en.
- org.zu.ardulink.gui.PWMController kan hantera kraften med modulering Arduino stift.
- Knappen hanterar händelsen för anslutningen.
Om du vill ha ett GUI som den i denna handledning behöver du bara:
- Använda en JFrame (steg: 1,2 och 3)
- Lägg till inuti en org.zu.ardulink.gui.ConnectionPanel (steg 4)
- Lägga till en JButton (steg 5)
- Lägg till inuti en org.zu.ardulink.gui.PWMController (steg 6)
- Använd en JButton för att anropa klassen org.zu.ardulink.Link (steg: 7, 8, 9 och 10)
Viktigaste anvisningen av denna handledning är faktiskt:
boolean ansluten = Link.getDefaultInstance () .Anslut (connectionPort, baudvärde);
Med hjälp av standardanslutningsmetod länk klass initierar en dialog med Arduino ombord ansluten till en viss seriell port med viss baudvärde.
Här källkoden:
paketet org.zu.ardulink.tutorial;
import java.awt.BorderLayout;
import java.awt.EventQueue;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.UIManager;
import javax.swing.border.EmptyBorder;
import org.zu.ardulink.Link;
import org.zu.ardulink.gui.ConnectionPanel;
import org.zu.ardulink.gui.PWMController;
import com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel;
allmän klass Tutorial1 utökar JFrame {
privata statisk sista långa serialVersionUID =-5884548646729927244 L.
// 2. Definiera contentPane och en ardulink anslutning panel
privat JPanel contentPane;
privat ConnectionPanel connectionPanel;
/**
* Starta programmet.
*/
offentliga statisk void main (String [] args) {
EventQueue.invokeLater (nya Runnable() {
public void run() {
försök {
// 1. Ändra utseende
UIManager.setLookAndFeel(NimbusLookAndFeel.class.getCanonicalName());
Tutorial1 ram = nya Tutorial1();
frame.setVisible(true);
} fånga (undantag e) {
e.printStackTrace();
}
}
});
}
/**
* Skapa ramen.
*/
offentliga Tutorial1() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds (100, 100, 475, 375);
// 3. Inställning av contentPane
contentPane = ny JPanel();
contentPane.setBorder (nya EmptyBorder (5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout (nya BorderLayout (0, 0));
// 4. Infoga definierade anslutningen Panel
connectionPanel = ny ConnectionPanel();
connectionPanel.setLayout(null);
contentPane.add (connectionPanel, BorderLayout.WEST);
// 5. Infoga en anslutning knapp
JButton btnConnect = ny JButton("Connect");
// 7. Lägga till en åtgärd lyssnare när du trycker på anslutningsknappen
btnConnect.addActionListener (nya ActionListener() {
public void actionPerformed (ActionEvent e) {
// 8. Ta anslutningsparametrar
String connectionPort = connectionPanel.getConnectionPort();
int baudvärde = Integer.parseInt(connectionPanel.getBaudRate());
// 9. Kom så går vi. Länka den till Arduino.
Boolean ansluten = Link.getDefaultInstance () .Anslut (connectionPort, baudvärde);
10. Bara ett informationsmeddelande
IF(Connected) {
JOptionPane.showMessageDialog (connectionPanel, "Arduino ansluten", "Connection Status", JOptionPane.INFORMATION_MESSAGE);
} annat {
JOptionPane.showMessageDialog (connectionPanel, "Arduino inte ansluten", "Connection Status", JOptionPane.ERROR_MESSAGE);
}
}
});
contentPane.add (btnConnect, BorderLayout.SOUTH);
// 6. Infoga en ardulink makt med modulering pin controller
PWMController powerPinPanel = ny PWMController();
powerPinPanel.setPin(11);
contentPane.add (powerPinPanel, BorderLayout.EAST);
}
}