Ir ao conteúdo
  • Cadastre-se

Helio Takeo Aisawa

Membro Júnior
  • Posts

    4
  • Cadastrado em

  • Última visita

posts postados por Helio Takeo Aisawa

  1. Olá, eu fiz da seguinte forma, coloquei um relé para desligar o motor...

    realmente desta forma o sensor funciona ao detectar o objeto, em seguida o relé desliga o motor e quando o sensor não capta mais o objeto, o relé não volta a funcionar...

    está correto a linha de raciocinio?

    segue a linha de programação, obrigado pela atenção:

     

      // Testa se o cartao1 foi lido
      if (conteudo.substring(1) == "9B 66 84 59"){
      //Muda a direção quando o stepper atinge a posição de destino
      stepper1.runToNewPosition(-2048);           // rotação sentido anti-horário

       Serial.println("Cartao1 - Acesso liberado !");
       Serial.println();
       delay(100);
       {
       estado_sensor = digitalRead(pino_sensor);
       if (estado_sensor == 0)
       {//Desligar Motor
       digitalWrite(pin1, LOW);
       // Envia mensagem para o Serial Monitor
       Serial.println("Movimento detectado!");
       delay(1000);}
       else   {
       // Ligar Motor
       digitalWrite(pin1, HIGH);
       }  
       stepper1.runToNewPosition(2048);          // rotação sentido horário
       delay(2000);
        } 
        }
       else {  
        Serial.println(" Accesso negado...!");
        delay(1000);
      } 
       stepper1.run();
    }

  2. olá, estou fazendo uma programação de um portão automático com abertura por RFId + motor de passo e o sensor infravermelho que bloqueará o motor quando o veículo estiver passando pelo portão...

    consegui fazer uma parte do programa o RFId + Motor de Passo, mas nçao consigo encaixar o sensror IR... alguém poderia me ajudar/?

    segue o código até o momento...

     

    #include <SPI.h>
    #include <MFRC522.h>
    #include <AccelStepper.h>
    #define HALFSTEP 8
    #define sensor 7          //Define sensor infra-vermelho como 7
    
    // Definições do pino do motor
    #define motorPin1  2     // IN1 on the ULN2003 driver 1
    #define motorPin2  3     // IN2 on the ULN2003 driver 1
    #define motorPin3  4     // IN3 on the ULN2003 driver 1
    #define motorPin4  5     // IN4 on the ULN2003 driver 1
    
    //Inicialize com a sequência de pinos IN1-IN3-IN2-IN4 para usar o AccelStepper com 28BYJ-48
    AccelStepper stepper1(HALFSTEP, motorPin1, motorPin3, motorPin2, motorPin4);
    
    #define SS_PIN 10
    #define RST_PIN 9
    // Definicoes pino modulo RC522
    MFRC522 mfrc522(SS_PIN, RST_PIN); 
    
    // Leds indicadores acesso liberado ou negado
    int led_liberado = 6;
    int led_negado = 1;
    
    int pino_sensor = 7;
    int estado_sensor = 0;
    
    void setup() {
      pinMode(led_liberado, OUTPUT);
      pinMode(led_negado, OUTPUT);
      stepper1.setMaxSpeed(1000.0);
      stepper1.setAcceleration(100.0);
      stepper1.setSpeed(100);
      stepper1.moveTo(2048);           // definição do número de passos _ 1 volta= 2048 passos
    
      // Inicia a serial
      Serial.begin(9600);
      pinMode(sensor, INPUT); //Configura o pino 7 como entrada
      
      // Inicia  SPI bus
      SPI.begin();
      // Inicia MFRC522
      mfrc522.PCD_Init(); 
      // Mensagens iniciais no serial monitor
      Serial.println("Aproxime o seu cartao do leitor...");
      Serial.println();
      }//--(end setup )---
    
    void loop() {
      
    // Aguarda a aproximacao do cartao
      if ( ! mfrc522.PICC_IsNewCardPresent()) 
      {
        return;
      }
      // Seleciona um dos cartoes
      if ( ! mfrc522.PICC_ReadCardSerial()) 
      {
        return;
      }
      // Mostra UID na serial
      Serial.print("UID da tag :");
      String conteudo= "";
      byte letra;
      for (byte i = 0; i < mfrc522.uid.size; i++) 
      {
         Serial.print(mfrc522.uid.uidByte < 0x10 ? " 0" : " ");
         Serial.print(mfrc522.uid.uidByte, HEX);
         conteudo.concat(String(mfrc522.uid.uidByte < 0x10 ? " 0" : " "));
         conteudo.concat(String(mfrc522.uid.uidByte, HEX));
      }
      Serial.println();
      Serial.print("Mensagem : ");
      conteudo.toUpperCase();
      
      // Testa se o cartao1 foi lido
      if (conteudo.substring(1) == "9B 66 84 59"){
      //Muda a direção quando o stepper atinge a posição de destino
      stepper1.runToNewPosition(-2048);           // rotação sentido anti-horário
    
       Serial.println("Cartao1 - Acesso liberado !");
       Serial.println();
       delay(1000);
       {
        stepper1.runToNewPosition(2048);          // rotação sentido horário
        delay(2000);
        } 
     
       }
       

     

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!