Boa tarde povo.

Estou com um projeto de TCC na área de manutenção automotiva.

Oque vou fazer e "simples" usar uma roda fônica com 4 imãs acionada por um motor, com um sensor de efeito hall fazendo a leitura dos imãs cada imã acionaria um bico (ou led no momento que é mais pratico de testar) esse é o problema não consigo determinar para acender um LED por vez, só acciona todos juntos teria algum código para fazer este tipo de acionamento ?

Código base que uso e esse consigo uma boa resposta do sensor hall mais porem só com 1 led

ou todos juntos.

_________________________________________________________________________

const int hallPin = 12;
const int ledPin2 = 10;

int hallState = 0;

void setup() {
pinMode(ledPin2, OUTPUT);
pinMode(hallPin, INPUT);
}
void loop(){

hallState = digitalRead(hallPin);

if (hallState == LOW) {
digitalWrite(ledPin2, LOW);
}
else {
digitalWrite(ledPin2, HIGH);
}
}

__________________________________________________________________________________

Exibições: 1376

Responder esta

Respostas a este tópico

RESOLVIDO.
Se algum dia alguém tiver uma duvida ficou assim o código ;)
____________________________________________________________________________________
const int ledPin1 = 8; 
const int ledPin2 = 9;
const int ledPin3 = 10; 
const int ledPin4 = 11;
const int hallPin = 12;     
 
int teste = 3;
int hallState = 0;          
void setup() {
  pinMode(ledPin1, OUTPUT);  
  pinMode(ledPin2, OUTPUT);
  pinMode(ledPin3, OUTPUT);  
  pinMode(ledPin4, OUTPUT);  
  pinMode(hallPin, INPUT);  
}
void loop(){
 
    hallState = digitalRead(hallPin);
  
  //1342
  if (hallState == HIGH) {
      if (teste == 0) {        
         digitalWrite(ledPin1, HIGH); 
         digitalWrite(ledPin2, LOW);
         digitalWrite(ledPin3,LOW);
         digitalWrite(ledPin4,LOW); 
         } 
      else if(teste == 1) {
         digitalWrite(ledPin1, LOW); 
         digitalWrite(ledPin2, LOW);
         digitalWrite(ledPin3,HIGH);
         digitalWrite(ledPin4,LOW); 
          }
       else if(teste == 2) {
         digitalWrite(ledPin1, LOW); 
         digitalWrite(ledPin2, LOW);
         digitalWrite(ledPin3,LOW);
         digitalWrite(ledPin4,HIGH); 
          }
       else if(teste == 3) {
         digitalWrite(ledPin1, LOW); 
         digitalWrite(ledPin2, HIGH);
         digitalWrite(ledPin3,LOW);
         digitalWrite(ledPin4,LOW); 
          }
      } 
  else{
     digitalWrite(ledPin1,LOW);
     digitalWrite(ledPin2,LOW);
     digitalWrite(ledPin3,LOW);
     digitalWrite(ledPin4,LOW);
     teste ++;
     if (teste == 4) teste = 0;
     
     while(!hallState){
         hallState = digitalRead(hallPin);
     }
     
      }
      delay(18); 
}

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço