Criação de software para utilização de sensor infravermelho

Bom dia, pessoal eu comprei receptor infravermelho, porem não estou conseguindo utilizar ele na porta digital, isto se é possível, pois no site deles não me informa nada, apenas da um exemplo utilizando a portas analógicas, eu vou ter que utilizar a porta analógica ou é possível usar a digital, pois quero apenas ler HIGH e LOW com o modulo. Não sei se o código está certo, pois estou aprendendo ainda. Eu queria poder acender um led quando o receptor lesse o valor HIGH e apagasse quando lesse LOW. Vou ter seguinte situação, uma roda dentada separando o modulo transmissor do modulo receptor, esta roda dentada tem 4 furos, por teoria o transmissor deve sempre estar em high e o receptor só iria fazer algo quando receber high, e sempre vai estar no estado low, porem estou tento dificuldades em montar este software, na parte de comunicação entre o modulo transmissor e o modulo receptor. Criei esse software para testar, porem estou com problema, alguem poderia me ajudar? grato

int led = 13;
int rx = 12;
int tx = 11;

void setup() {
pinMode(led, OUTPUT);
pinMode(rx, INPUT);
pinMode(tx, OUTPUT);
}

void loop() {

digitalWrite(tx, HIGH);
digitalRead(rx);
if(rx == HIGH) {
digitalWrite(led, HIGH);
}
}

Exibições: 1812

As respostas para este tópico estão encerradas.

Respostas a este tópico

int sensor = 6;
int LED = 13;
void setup (){
pinMode(13, OUTPUT);

Serial.begin(9600);
}
void loop(){
int sensor;

int velocidade;
sensor = digitalRead(6);
while(sensor=LOW)  //fora do furo

{
velocidade++;//incrementa usando o codigo do seu compilador


}

Serial.print(velocidade);//imprima na sua serial usando seu compilador

velocidade= 0;//vai medir de novo

}

Faça alguns ajustes,pois não uso o compilador do Arduino.

int sensor = 6;
int tx = 8;
int led = 13;
void setup (){
pinMode(8, OUTPUT);
pinMode(13, OUTPUT);
Serial.begin(9600);
}
void loop(){
digitalWrite(tx, HIGH);
digitalWrite(led, LOW);
int sensor;
sensor = digitalRead(6);
if(sensor == LOW){
digitalWrite(led, HIGH);
}
Serial.print("Valor Lido: ");
Serial.print(sensor);
Serial.println("");
}

int sensor = 6;
int tx = 8;
int led = 13;
void setup (){
pinMode(8, OUTPUT);
pinMode(13, OUTPUT);
Serial.begin(9600);
}
void loop(){
digitalWrite(tx, HIGH);
int sensor;
sensor = digitalRead(6);
if(sensor == LOW){
digitalWrite(led, HIGH);

else{

digitalWrite(led, LOW);

}

delay(1);

}
Serial.print("Valor Lido: ");
Serial.print(sensor);
Serial.println("");
}

int sensor = 6;
int LED = 13;
void setup (){
pinMode(13, OUTPUT);

Serial.begin(9600);
}
void loop(){
int sensor;

int velocidade;
sensor = digitalRead(6);

FAÇA O PINO DO LED HIGH AQUI USANDO O CODIGO;
while(sensor=LOW)  //fora do furo

{
velocidade++;//incrementa usando o codigo do seu compilador


}

Serial.print(velocidade);//imprima na sua serial usando seu compilador

velocidade= 0;//vai medir de novo

}

Faça alguns ajustes,pois não uso o compilador do Arduino.

Se vc precisar de um delay tão rápido pode ser assim, testa e diz se funcionou

int sensor = 6;
int tx = 8;
int led = 13;
void setup (){
pinMode(8, OUTPUT);
pinMode(13, OUTPUT);
Serial.begin(9600);
}
void loop(){
digitalWrite(tx, HIGH);
int sensor;
sensor = digitalRead(6);
if(sensor == LOW){
digitalWrite(led, HIGH);

else{

digitalWrite(led, LOW);

}

delayMicroseconds(25);

}
Serial.print("Valor Lido: ");
Serial.print(sensor);
Serial.println("");
}

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço