Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // http://pastebin.com/65uCNxqz
- /*
- * Estou com uma duvida eu estou tentando fazer tipo uma esteira
- * automatizada que funciona da seguinte forma quando ligada por
- * um botão externo a esteira gire quando alguma coisa cortar o
- * feixe de luz do sensor emissor e receptor a esteira tem que
- * parar de girar ate este ponto eu consegui fazer , Porem eu
- * gostaria de fazer um temporizador da seguinte maneira quando
- * a esteira ligada ela gire mas gire por 30 segundos e desliga
- * ate que o botão novamente seja ligado e desligado fazendo
- * com que ela rode novamente ate que algo corte o feixe de luz.
- */
- #define sensorPin A0 // Entrada do sensor receptor
- #define relemotor 3 // pino 3 rele
- #define bot1 4 // pino 4 botão
- unsigned int sensorValue = 0; // variavel do sensor
- unsigned long Count = 0; // variavel do sensor
- byte BotOn = 0; // variavel do botão
- //-----------------------------------------------------------------
- void setup()
- {
- pinMode(relemotor,OUTPUT); // Define pino como saída
- pinMode(bot1,INPUT_PULLUP); // Define pino como entrada e liga pullup resistor
- Serial.begin(9600); // Inicializa serial monitor
- }
- //-----------------------------------------------------------------
- void loop()
- {
- sensorValue = analogRead(sensorPin);
- Serial.println(sensorValue);
- if (digitalRead(bot1) == LOW) // Se botão foi apertado
- {
- while(digitalRead(bot1) == LOW) // Enquanto tiver apertado
- {
- delay(20); // Evita debouncing
- BotOn = 1; // Identifica com botão foi apertado
- }
- }
- while((sensorValue>940)&&(BotOn == 1)&&(Count <30000))
- { // Enquanto sensor livre, Botão apertado e tempo menos que 30 seg
- digitalWrite(relemotor, HIGH); // Ligue o motor
- delay(1); // Delay de 1 milisegundo
- Count++; // Incrementa contador
- }
- digitalWrite(relemotor, LOW); // Desliga o motor
- Count = 0; // Zera contador
- BotOn = 0; // Desliga identificador de botão apertado
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement