galera tenho um servo que esta pre programado para girar em um tempo determinado

#include <Servo.h>

Servo motor;
void setup()
{
motor.attach(3);
}
void loop()
{
motor.write(160);
delay(2000);
motor.write(36);
delay(1000);
}

e tenho um ldr que liga quando escuro 

int portaLed = 30; //Porta a ser utilizada para ligar o led
int portaLDR = A5; //Porta analógica utilizada pelo LDR

void setup()
{
pinMode(portaLed, OUTPUT); //Define a porta do Led como saída
}

void loop()
{
int estado = analogRead(portaLDR); //Lê o valor fornecido pelo LDR

//Caso o valor lido na porta analógica seja maior do que 800, acende o LED
//Ajuste o valor abaixo de acordo com o seu circuito
if (estado > 1000)
{
digitalWrite(portaLed, HIGH);
}
else //Caso contrário, apaga o led

como podem ver copiei a maioria das coisas (quem nao tem cão caça com gato rsrs)

estou tentando 

sincronizar isso pra quando o ldr ativar o servo fazer o que esta pre determinado para ele 

alguem poderia da uma força obrigado.


{
digitalWrite(portaLed, LOW);
}
}

Exibições: 2779

Responder esta

Respostas a este tópico

Põe um IF pra determinada condição, uma determinada ação

obrigado Leandro de Oliveira Souto...sera que voce poderia me da um exemplo?

eu nao sei programar mais umagina que seja if (se) ativar o ldr ligar o servo.

teria como vc me passar o codigo para essa ação? 

valew desde ja agradeço

Olá Johan, acho que o que você deseja é algo similar ao código abaixo. Apenas juntei os dois códigos que você havia postado. Não sei se esta certo pois não cheguei a compilar, mas creio que a idéia (pelo menos o que eu entendi) seja essa.

#include <Servo.h>
//Biblioteca do Servo motor;

int portaLed = 13; //Porta a ser utilizada para ligar o led

// Mudei a porta do LED da 30 para a 13 pois o arduino UNO possui um LED embutido na placa ligado a //essa porta.
int portaLDR = A5; //Porta analógica utilizada pelo LDR

void setup(){
motor.attach(3); // Cabo de sinal do servo estará ligado ao pino digital 3
pinMode(portaLed, OUTPUT); //Define a porta do Led como saída
}

void loop(){
int estado = analogRead(portaLDR); //Lê o valor fornecido pelo LDR
//Caso o valor lido na porta analógica seja maior do que 800, acende o LED e aciona o servo
//Ajuste o valor abaixo de acordo com o seu circuito
if (estado > 800) {
digitalWrite(portaLed, HIGH);
motor.write(160);
delay(2000);
motor.write(36);
delay(1000);
}
else{ //Caso contrário, apaga o led e o servo permanecerá inativo
digitalWrite(portaLed, LOW);
}
}

Muito obrigado Rodrigo gama

eu fiz uma gambiarra no codigo e funcionou

mais o seu esta bem organizado e vou usa-lo pois assim fica mais facil fazer ajustes obrigadoooo

agora estou com outro desafiooo logo logo posto aqui se vc puder me ajudar rsrsrs

Não sei de muita coisa não, mas o que eu puder auxiliar eu ajudo sim...

Estamos aqui pra isso :)

Abraço.

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço