Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Se eligen los pines del micro a utilizar
- int ADC3=3; // El pin 3 se usa como ADC3.
- int ADC4=4; // El pin 4 se usa como ADC4.
- int control=1; // El pin 1 se usa como señal para activar/desactivar rele.
- int val1=0; // Variable donde se cargara lo leido de ADC3
- int val2=0; // Variable donde se cargara lo leido de ADC4
- int max_value=800; // Maximo valor que puede tomar la tension entre terminales (5V=1023)
- int read_value=0; //Variable donde se cargara el valor leido entre terminales
- int absread=0;
- void setup() {
- // Se configuran los pines a utilizar como entradas/salidas
- pinMode(ADC3,INPUT);
- pinMode(ADC4,INPUT);
- pinMode(control,OUTPUT);
- digitalWrite(control,LOW);
- }
- void loop() {
- //El ADC del attiny85 tiene 10 bits de resolucion, es decir mapea valores de 0 a 5V (VCC), entonces tiene una resolucion de 5/1024=0.0049 (4.9 mV)
- //Se lee el valor de los ADC
- digitalWrite(control,LOW);
- delay(1000);
- //digitalWrite(control,HIGH);
- delay(1000);
- //digitalWrite(control,LOW);
- val1=analogRead(ADC3);
- delayMicroseconds(100);
- val2=analogRead(ADC4);
- delayMicroseconds(100);
- //Comienza la comparacion
- read_value=val1-val2;
- absread=abs(read_value);
- //Si el valor entre los terminales del parlante es mayor a 20mV entonces desconecta la carga, enciende un LED avisando y finaliza la operacion.
- if (absread>max_value){
- digitalWrite(control,HIGH);
- delay(3000);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement