Helio Takeo Aisawa
-
Posts
4 -
Cadastrado em
-
Última visita
Tipo de conteúdo
Artigos
Selos
Fabricantes
Livros
Cursos
Análises
Fórum
posts postados por Helio Takeo Aisawa
-
-
obrigado pela sugestão, tentarei por em prática...
- 1
-
Boa tarde Isadora, obrigado pelo pronto atendimento...não a pus porque não sei programa-lá...
você teria como me indicar um orientador para que eu possa desenvolver esse projeto?
obrigado pela sua atenção.
eu tenho esta seguinte citação no void loop...
void loop() {
estado_sensor = digitalRead(pino_sensor);
if (estado_sensor == 0) -
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
Portão automático RFId + Motor de Passo + sensor infravermelho
em Microcontroladores
Postado
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();
}