Gente por favor algum pode me dar um codigo programa , para que acion um motor por ldr

Preciso de um programa para acionar um servo motor pelo ldr

Exibições: 342

Responder esta

Respostas a este tópico

#include <Servo.h>


int pinopot = A5; //Pino ligado ao LDR
int valorpot = 0; //Armazena valor lido do LDR, entre 0 e 1023
float luminosidade = 0; //Valor de luminosidade do led
Servo myservo;

void setup()
{
myservo.attach(9);

Serial.begin(9600); //Inicializa a serial
pinMode(pinopot, INPUT); //Define o pino do LDR como entrada
}

void loop()
{
// Le o valor - analogico - do LDR
valorpot = analogRead(pinopot);

// Converte o valor lido do LDR
luminosidade = map(valorpot, 0, 1023, 0, 255);
Serial.print("Valor lido do LDR : ");

// Mostra o valor lido do LDR no monitor serial
Serial.print(valorpot);
Serial.print(" = Luminosidade : ");

// Mostra o valor da luminosidade no monitor serial
Serial.println(luminosidade);

// Acende o led com luminosidade variável
if(valorpot > 960)
{
myservo.write(90);
delay(100);
}else{
myservo.write(0);
delay(100);
}
}

#include <SPI.h>
#include <MFRC522.h>
#include <LiquidCrystal.h>
#include <Servo.h>

#define SERVO 9 // Porta Digital 9 PWM
#define Luz_Fundo 7
#define SS_PIN 53
#define RST_PIN 8
MFRC522 mfrc522(SS_PIN, RST_PIN); // Create MFRC522 instance.

LiquidCrystal lcd (12, 11, 5, 4, 3, 2);

char st[20];
Servo s; // Variável Servo
int pos; // Posição Servo

// sensor LDR
#define LDRSensor A0
int LDRValor = 0;
int LDRok = 0;

void setup(){
Serial.begin(9600); // Inicia a serial
SPI.begin(); // Inicia SPI bus
mfrc522.PCD_Init(); // Inicia MFRC522
Serial.println("Aproxime o seu cartao do leitor...");
Serial.println();
//Define o número de colunas e linhas do LCD:
lcd.begin(16, 2);
mensageminicial();
pinMode(Luz_Fundo,OUTPUT); //define o pino como saída
digitalWrite(Luz_Fundo,HIGH); // Liga a luz do display.

s.attach(SERVO);
Serial.begin(9600);
}

void loop(){
// Look for new cards
if ( ! mfrc522.PICC_IsNewCardPresent()){
return;
}
// Select one of the cards
if ( ! mfrc522.PICC_ReadCardSerial()){
return;
}
//Mostra UID na serial
Serial.print("UID da tag :");
String conteudo= "";
byte letra;

for (byte i = 0; i < mfrc522.uid.size; i++){
Serial.print(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " ");
Serial.print(mfrc522.uid.uidByte[i], HEX);
conteudo.concat(String(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " "));
conteudo.concat(String(mfrc522.uid.uidByte[i], HEX));
}

Serial.println();
Serial.print("Mensagem : ");
conteudo.toUpperCase();

if (conteudo.substring(1) == "65 C1 20 29"){ //UID 1 - Chaveiro
Serial.println("Ola Alessandro !");
Serial.println();
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Ola Alessandro !");
lcd.setCursor(0,1);
lcd.print("Acesso liberado!");

//abre o portão
s.write(0);
delay(3000);

//fecha o portão
while(LDRok == 0){
testeFechar();
}

LDRok = 0;
mensageminicial();
}

if (conteudo.substring(1) == "A0 69 41 63"){ //UID 2 - Cartao

Serial.println("Ola Cartao !!!");
Serial.println();
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Ola Cartao !");
lcd.setCursor(0,1);
lcd.print("Acesso Negado !");
s.write(90);
delay(3000);
mensageminicial();
}

delay(1000);

}

void testeFechar(){

LDRValor = analogRead(LDRSensor);

if(LDRValor <=200){
s.write(0);
}else{
delay(2000);
s.write(90);
LDRok = 1;
}

}

void mensageminicial(){
lcd.clear();
lcd.print(" Aproxime o seu");
lcd.setCursor(0,1);
lcd.print("cartao do leitor");
}

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço