Advertisement
Guest User

Untitled

a guest
May 20th, 2018
128
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.42 KB | None | 0 0
  1. //Se eligen los pines del micro a utilizar
  2. int ADC3=3; // El pin 3 se usa como ADC3.
  3. int ADC4=4; // El pin 4 se usa como ADC4.
  4. int control=1; // El pin 1 se usa como señal para activar/desactivar rele.
  5. int val1=0; // Variable donde se cargara lo leido de ADC3
  6. int val2=0; // Variable donde se cargara lo leido de ADC4
  7. int max_value=800; // Maximo valor que puede tomar la tension entre terminales (5V=1023)
  8. int read_value=0; //Variable donde se cargara el valor leido entre terminales
  9. int absread=0;
  10.  
  11. void setup() {
  12.   // Se configuran los pines a utilizar como entradas/salidas
  13.   pinMode(ADC3,INPUT);
  14.   pinMode(ADC4,INPUT);
  15.   pinMode(control,OUTPUT);
  16.   digitalWrite(control,LOW);  
  17. }
  18.  
  19. void loop() {
  20.   //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)
  21.   //Se lee el valor de los ADC
  22.   digitalWrite(control,LOW);
  23.   delay(1000);
  24.   //digitalWrite(control,HIGH);
  25.   delay(1000);
  26.   //digitalWrite(control,LOW);
  27.   val1=analogRead(ADC3);
  28.   delayMicroseconds(100);
  29.   val2=analogRead(ADC4);
  30.   delayMicroseconds(100);
  31.   //Comienza la comparacion
  32.   read_value=val1-val2;
  33.   absread=abs(read_value);
  34.   //Si el valor entre los terminales del parlante es mayor a 20mV entonces desconecta la carga, enciende un LED avisando y finaliza la operacion.
  35.   if (absread>max_value){
  36.     digitalWrite(control,HIGH);
  37.     delay(3000);
  38.  }
  39.      
  40. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement