Paso 4: AnalogRead() y analogWrite()
En este ejemplo demuestro el uso de las dos declaraciones analogRead() y analogWrite(). El bosquejo que estoy usando se llama ReadAnalogVoltage que puede ser cargado desde el archivo / Examples/01.Basics y añadido algunas líneas para demostrar analogwrite().
Usted necesitará un Arduino, un potenciómetro, un LED y unos cables de puente. Conectar la clavija media del potenciómetro al pin A0 (analógica 0) en el Arduino, entonces los + ve conducir a 5v en el Arduino y - ve conducen a la GND de Arduino. Y conectar el + ve cable del LED D5 en el Arduino y la ve - conducen a tierra.
En este esbozo el valor del pin A0 se imprimirá en el monitor serial y al mismo tiempo que el brillo del LED va a cambiar cuando giramos el potenciómetro.
El boceto:
int LEDpin = 5; pin digital 5 tiene un LED conectado a él
void setup() {}
Serial.Begin(9600); inicializar la comunicación serial a 9600 bits por segundo
pinMode (LEDpin, salida); establecer el modo de pin en pin 5 a la salida
}
void loop() {}
int sensorValue = analogRead(A0); leer la entrada en el pin analógico 0
voltaje del flotador = sensorValue * (5.0 / 1023.0); Convertir la lectura analógica (que va de 0 - 1023)
a un voltaje (0 - 5V)
analogWrite (LEDpin, voltaje); Aplicar el valor de voltaje al pin LED
Serial.println(Voltage); imprimir el valor de leer:
}
Vamos a diseccionar el bosquejo:
int LEDpin = 5;
Se trata de una variable del tipo int llamada LEDpin decalring que hay un LED en el pin 5 en el Arduino.
void setup() {}
Serial.Begin(9600);
pinMode (LEDpin, salida);
}
Serial.Begin(9600): Comienza al serial monitor con la velocidad de 9600 baudios por segundo
pinMode (LEDpin, salida): establece el pin modo de pin 5 en el Arduino a la salida.
void loop() {}
int sensorValue = analogRead(A0);
voltaje del flotador = sensorValue * (5.0 / 1023.0);
analogWrite (LEDpin, voltaje);
Serial.println(Voltage);
}
analogRead(): La primera línea declara una variable local nuevo llamada sensorValue de tipo int y se asigna el valor que leemos desde el pin analógico A0 en el Arduino. Los pines digitales pueden leer y escribir 1 y 0, sin embargo la analógica pasadores en el Arduino pueden leer y escribir valores entre 0 y 1023.
La segunda línea introduce una nueva variable de tipo float (con decimales) llamada voltaje, el valor de esta nueva variable local es sensorValue*(5.0/1023.0). Ahora podemos ver que el valor de una variable puede ser manipulado usando una ecuación matemática. Desde lo analógico pernos resultados entre 0 y 1023, y queremos convertir este valor en voltios entre 0 y 5 voltios. Así que tomamos el valor que tiene en sensorValue y multiplicar por 5.0/1023.0 esto nos da un valor entre 0 y 5 voltios.
Ejemplo: Si giramos el potenciómetro a medio camino, el análogo leer será 512. Entonces asignamos este valor 512 a sensorValue.
Según la tensión de flotación código = sensorvalue*(5.0/1023.0) entonces el voltaje = 512 * (5.0/1023.0) = 2,50 voltios
analogWrite(): mediante esta instrucción podemos escribir un nuevo valor en un perno, usando el ejemplo anterior, asignando la tensión valor a LEDpin se encenderá el LED si hay suficiente voltaje.
Serial.println(): Esto mostrará el valor del voltaje en el monitor serie.
El LED que se encenderá débilmente cuando la tensión alcanza 1,3 voltios