Ir ao conteúdo
  • Cadastre-se

Thiago Silveira da Silva

Membro Júnior
  • Posts

    2
  • Cadastrado em

  • Última visita

Reputação

0
  1. Olá, Estou desenvolvendo uma maquete de uma garagem automatizada que utiliza um servo motor para levantar e baixar o portão; um RFID passivo para abrir/fechar o portao pelo lado de fora e um sensor ultrassônico para abrir/fechar pelo lado de dentro da garagem. Ela funciona da seguinte forma: - Um sensor RFID está posicionado na frente do portão embaixo da calçada. Quando o carro com a tag correta passar por cima, o servo é acionado e a garagem se abre. - Um sensor ultrassônico está posicionado na parede final para que quando a distancia for menor que 5cm, o portao se feche. - Quando o carro começar a dar ré e a distancia for maior que 5cm da parede, o portão se abrirá novamente. - Ao passar novamente por cima do RFID, o portão irá se fechar. Essa maquete tem o intuito de desenvolver uma garagem totalmente automatizada sem o uso de controles eletrônicos. Porém estou um pouco perdido em relação a programação que precisa ser feita para o sistema funcionar corretamente. O servomotor está funcionando com uma fonte externa de energia para nao sobrecarregar o Arduino. Ja realizei diversos testes com varias programações e nao obtive sucesso. A seguir está a minha ultima tentativa: #include <SPI.h> #include <MFRC522.h> #include <Servo.h> #include <Ultrasonic.h> Servo microservo9g; //Define os pinos do Arduino ligados ao Trigger e Echo #define PINO_TRG 7 #define PINO_ECHO 6 // Definindo pinagem RFID #define SS_PIN 10 #define RST_PIN 9 //Inicializa o RFID nos pinos especificados MFRC522 mfrc522(SS_PIN, RST_PIN); //Inicializa o sensor ultrasonico nos pinos especificados Ultrasonic ultrasonic(PINO_TRG, PINO_ECHO); char st[20]; void setup() { // Define que o servo esta ligado a porta digital 3 microservo9g.attach(3); // Move o servo para a posicao inicial (garagem fechada) microservo9g.write(90); // Inicia a serial Serial.begin(9600); // 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(); Serial.println("Lendo dados do sensor..."); Serial.println(); } void loop() { // Aguarda a aproximacao da tag if ( ! mfrc522.PICC_IsNewCardPresent()) { return; } // Seleciona a tag 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 carro foi reconhecido if (conteudo.substring(1) == "D2 E4 37 D9") { // Abre a garagem microservo9g.write(-90); Serial.println("Portao Aberto !"); Serial.println(); } //Le as informações do sensor, em cm float cmMsec; long microsec = ultrasonic.timing(); cmMsec = ultrasonic.convert(microsec, Ultrasonic::CM); Serial.print("Distancia em cm: "); Serial.print(cmMsec); delay (1000); if (cmMsec < 5) { microservo9g.write(90); Serial.println("Garagem Fechada !"); Serial.println(); } if (cmMsec > 5) { microservo9g.write(-90); Serial.println("Garagem Aberta !"); Serial.println(); } if (cmMsec > 5 && conteudo.substring(1) == "D2 E4 37 D9") { microservo9g.write(90); Serial.println("Garagem Fechada !"); Serial.println(); } } Quem tiver alguma sugestão para realizar esta programação, estou aceitando sugestões. Desde já, obrigado.
  2. Olá, Estou desenvolvendo um projeto sobre um gerador de ozônio automatizado para apresentar no TCC da faculdade, e preciso utilizar o sensor de ozônio na saída do sistema para comprovar que a concentração dele está dentro do limite, porém não encontrei muita coisa sobre como programar esse sensor. Não tenho nenhuma experiência programando sensores de medição de gás, somente sei que esse sensor precisa estar aquecido para fazer a leitura correta e que a umidade do ar interfere na medição, então espero que alguém possa me informar sobre como posso fazer essa programação. Desde já, obrigado.

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!