// ULTRASONS amb relé 1.0
long distancia;
long tiempo;
const int vermell = 7;
const int verd = 6;
int servo = 10;
void setup() {
Serial.begin(9600);//per llegir la distància a la pantalla del PC
pinMode(9, OUTPUT);//trig sortida del sensor (emisor d'ultrasons)
pinMode(8, INPUT);//eco receptor del sensor (receptor d'ultrasons)
pinMode(vermell, OUTPUT);
pinMode(verd, OUTPUT);
pinMode(servo, OUTPUT);
}
void loop() {
digitalWrite(vermell, LOW);
digitalWrite(verd, HIGH);
digitalWrite(9, LOW); // per estabilitzar el sensor ( el 9 és el trig)
delayMicroseconds (5);
digitalWrite(9, HIGH); //enviam un PULSO
delayMicroseconds(10);
tiempo = pulseIn(8, HIGH); //mesuram el temps del rebot
distancia = int(0.0175 * tiempo);//se calibra la lectura de distància
//he anat provant valors i midat amb el regla(0,0175 és el que més s'acosta)
Serial.println("Distancia ");
Serial.println(distancia);
Serial.println(" cm");
digitalWrite(servo, LOW);
if (distancia < 25)
{ digitalWrite(vermell, HIGH);
digitalWrite(verd, LOW);
digitalWrite(servo, HIGH);
}
if (distancia <5)
{digitalWrite(servo, LOW);
digitalWrite(vermell, LOW);
digitalWrite(verd, HIGH);
}
delay(150);
}
//posant una resistència de 10k al fotoreceptor
int pinLed1=2;//sortides pels leds
int motor=5;
int pinLDR=0;//fotoresistencia (entrada analògica)
int valorReferencia=0;
int valorLDR=0;
void setup() {
pinMode(pinLed1,OUTPUT);//definim les sortides dels leds
pinMode(motor,OUTPUT);
valorReferencia = analogRead(pinLDR); //llegim el valor del LDR i el guardam ABANS DEL LOOP
Serial.begin(9600);
}
void loop() {
digitalWrite(pinLed1,LOW);// apagam tot
digitalWrite(motor,LOW);
valorLDR= analogRead(pinLDR); //llegim el valor del LDR i el guardam
Serial.print("referencia ");
Serial.print(valorReferencia);
Serial.print(" ; ");
Serial.print(valorLDR);
Serial.println(" mesura llum ");
if(valorLDR > valorReferencia + 100) // definim els valors pels que s'encen cada led
{
digitalWrite(pinLed1,HIGH);
}
//*******MOTOR PRINCIPAL*************
if(valorLDR > valorReferencia + 100)
{
digitalWrite(motor,HIGH);
}
delay(500);
}