semáforo básico

Inicio Foros Arduino + Java semáforo básico

Este debate contiene 0 respuestas, tiene 1 mensaje y lo actualizó  Julissa Andrea Alquisiris Sibaja hace 1 año, 1 mes.

  • Autor
    Publicaciones
  • #11440

    Hola muchas gracias por crear la librería Panama Hitek.

     

    Estoy haciendo una aplicación básica en Java, solo inicia y detiene un semáforo, el iniciar si lo hace pero el detener no. Me puedes ayudar, este es mi código:

    en Java (solo código principal):

    package GUI;

     

    import java.util.logging.Level;

    import java.util.logging.Logger;

    import panamahitek.Arduino.PanamaHitek_Arduino;

     

    public class frmSemaforo extends javax.swing.JFrame {

     

    PanamaHitek_Arduino arduino = new PanamaHitek_Arduino();

     

    public frmSemaforo() {

    try {

    initComponents();

    arduino.arduinoTX(«COM8», 9600);

    } catch (Exception ex) {

    Logger.getLogger(frmSemaforo.class.getName()).log(Level.SEVERE, null, ex);

    }

    }

     

    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {

    try {

    arduino.sendData(«1»);

    } catch (Exception ex) {

    Logger.getLogger(frmSemaforo.class.getName()).log(Level.SEVERE, null, ex);

    }

    }

     

    private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {

    try {

    arduino.sendData(«0»);

    } catch (Exception ex) {

    Logger.getLogger(frmSemaforo.class.getName()).log(Level.SEVERE, null, ex);

    }

    }

     

     

    código en Arduino:

     

     

     

    int input ;

     

    void setup() {

     

    for (int pin = 2; pin <= 7; pin++) {

    pinMode(pin, OUTPUT);

    }

    Serial.begin(9600);

     

    }

     

     

    void semaforoUno() {

    digitalWrite(2, HIGH);

    delay(2500);

    digitalWrite(2, LOW);

    delay(500);

    digitalWrite(2, HIGH);

    delay(500);

    digitalWrite(2, LOW);

    delay(500);

    digitalWrite(2, HIGH);

    delay(500);

    digitalWrite(2, LOW);

    delay(500);

    digitalWrite(2, HIGH);

    delay(500);

    digitalWrite(2, LOW);

    delay(500);

    digitalWrite(3, HIGH);

    delay(1000);

    digitalWrite(3, LOW);

    digitalWrite(4, HIGH);

    digitalWrite(7, LOW);

     

    semaforoDos();

    }

     

     

    void semaforoDos() {

    digitalWrite(5, HIGH);

    delay(2500);

    digitalWrite(5, LOW);

    delay(500);

    digitalWrite(5, HIGH);

    delay(500);

    digitalWrite(5, LOW);

    delay(500);

    digitalWrite(5, HIGH);

    delay(500);

    digitalWrite(5, LOW);

    delay(500);

    digitalWrite(5, HIGH);

    delay(500);

    digitalWrite(5, LOW);

    delay(500);

    digitalWrite(6, HIGH);

    delay(1000);

    digitalWrite(6, LOW);

    digitalWrite(7, HIGH);

    digitalWrite(4, LOW);

     

    semaforoUno();

    }

     

     

     

    void loop() {

    if (Serial.available() > 0) {

     

    input = Serial.read();

     

     

    if (input == '1'){

    digitalWrite(2, HIGH);

    digitalWrite(7, HIGH);

    semaforoUno();

    }else{

    digitalWrite(2, LOW);

    digitalWrite(3, LOW);

    digitalWrite(4, LOW);

    digitalWrite(5, LOW);

    digitalWrite(6, LOW);

    digitalWrite(7, LOW);

    }

    }

    }

     

     

    agradezco mucho la información

Debes estar registrado para responder a este debate.