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);
}
}
Tags:
As respostas para este tópico estão encerradas.
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("");
}
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por