Paso 6: Vamos a agregar un Sensor
Ahora vamos tratar de mostrar algunos datos del mundo real, nos agregar un foto resistor al dispositivo ATtiny85 y mostrar las lecturas analógicas en la matriz de Led 8 x 8.
- Conectar la resistencia de la foto como se muestra en el diagrama de Fritzing y esquema anterior.
- Conecte un resistor de 10K ohmios de GND en la matriz de led 8 x 8 a un lado de la foto resistencia
- Conecte el otro lado de la foto resistencia a VCC de la matriz de led 8 x 8
- Ahora conecte PB4 (A2) desde el dispositivo ATtiny85 hasta el punto de encuentro de la resistencia de ohmio de 10 K y la fotorresistencia
- Descargar el croquis MatMatrixExample2.ino
- El bosquejo de MatMatrixExample2.ino de carga en el IDE de Arduino
- Compilar el bosquejo y transferirlo al dispositivo ATtiny85
Veamos el sketch de ejemplo
#include <MatMatrix.h> #include <avr/prgmspace.h>
Cargar las librerías necesarias. Las definiciones de carácter ya se han descrito anteriormente.
#define DIN 1 #define CS 2 #define CLK 3 #define MAXS 1 #define PHOTO 2 // physical pin 4, PB4, A2 (pin definition for the ATtiny85) #define SPEED 100
Intentemos mantener un mínimo uso de memoria, vamos a definir los valores que necesitamos, no usamos las variables de número entero si no necesitamos.
int photo; int strlength; String data;
Estas variables de número entero que necesitamos.
foto leerá el valor del sensor foto-resistencia
strlength y los datos se utilizará para convertir el valor entero que lea una cadena de caracteres.
La biblioteca de MaxMatrix requiere que los datos se transfieren como una matriz de caracteres, así que estas variables ayudará nosotros hacerlo.
MaxMatrix m(DIN, CS, CLK, MAXS); // define Library byte buffer[10]; char string1[] = "THE V-USB ATTINY85 PROJECT BOARD --- ANALOG LIGHT INTENSITY"; // Scrolling Text but ony upper case char analogdata[6]; // Try lower case and see what happens!! ... fun definir el búfer de bytes de biblioteca [10]; char texto1 [] = "El V-USB ATTINY85 proyecto junta---análoga intensidad de la luz"; Desplazamiento de texto pero solo mayúsculas // PB4 set for output pinMode(PHOTO, OUTPUT);
El carácter matriz analogdata [6] proporciona espacio para que el resultado de los datos. Sin embargo debe tener más que seis personajes, entonces tendrán basura muestra la longitud del resultado de los datos. Los datos se terminan con un "/ 0". Ajustar el valor y ver qué pasa.
// Let us make a loop and measure the light intensity for say 20 cycles for (int n = 0; n < 20; n++) { photo = analogRead(PHOTO); data = String(photo) + String(" , "); strlength = data.length() + 1; data.toCharArray(analogdata , strlength); printStringWithShift(analogdata, SPEED); delay(SPEED); }
Encuentra el pin I/O de lectura analógica en el foto resistor.
NOTE1: esto es PB4, pero analógica A2.
char analogdata[6];
Ahora lee el pin analógico un par de veces y mostrar los resultados. Tratar de cubrir el foto resistor con la mano y una antorcha en el sensor.