semáforo básico

Inicio Foros Arduino + Java semáforo básico

Mostrando 0 respuestas a los debates
  • 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

Mostrando 0 respuestas a los debates
  • Debes estar registrado para responder a este debate.