Paso 3: Código de Areduino
El archivo de instalación de Paralax crea un par de hojas de cálculo de ejemplo que en realidad son todo lo que necesitas en la parte de Excel. Una vez instalado todo lo que necesita hacer es abrir el archivo de ejemplo y aceptar el uso de macros, en que punto el control PLX DAQ se abrirá. Configurar según la imagen anterior en el paso 1 Asegúrese de que selecciona el puerto com y no la que he utilizado (a menos que la suya pasó a ser así COM 3)
Arduino
El siguiente es el código improvisó - permite el Arduino para leer la diferencia de potencial entre el
Adruino pernos 5 voltios y A2. El valor potencial en primer lugar se calibra mediante el potenciómetro.
La calibración se realiza cubriendo totalmente el LDR para que su resistencia se reduce a cerca nada como sea posible (esto hace que los LEDS cambian muy rápidamente) entonces usted ajusta el bote hasta el bicicleta cambio de la luz de los LEDs es visible.
Más ajustas el pote de los grandes puede hacer los cambios de tiempo registrados en Excel, pero tenga cuidado de no ir demasiado lejos o no podrás ver los datos en el otro extremo de la escala (es decir, cuando expone el LDR a la luz otra vez)
Declaraciones - en establecer las variables a utilizar en la aplicación
ledPin de bytes [] = {4, 5, 6, 7, 8, 9, 10,11,12,13}; Crear array de pines del LED
int potPin = 2; Seleccione la entrada de pin para el potenciómetro
int ledDelay; Establecer un período de demora cambio de LED
int delayData = 80; Establecer un período de retardo para los datos transferidos a Excel y tratar de reducir los volúmenes de datos
Dirección int = 1;
int currentLED = 0;
int x = 0; Fije el contador inicial para salida de LED
int fila = 0; Establece la fila a partir de Excel
changeTime largo sin firmar;
//---------------------------------------------------------------------------------------------------------
Configurar la velocidad del puerto serie de Arduino, borrar todos los datos anteriores y enviar las partidas para la transferencia de datos a excel
void setup() {}
Serial.Begin(128000); abre el puerto serie, conjuntos de datos rate128000 bps
Serial.println("CLEARDATA"); borra cualquier dato residual
Serial.println ("etiqueta, tiempo, nivel de Pin, luz");
Reajuste todas pintas para los LEDs de salida digital
para (int x = 0; x < 10; x ++) {}
pinMode (ledPin [x], salida); }
changeTime = millis();
}
void loop() {}
ledDelay = analogRead(potPin); leer el valor de la olla
Si ((millis()-changeTime) > ledDelay) {/ / si se ha ledDelay ms desde el último cambio
changeLED();
changeTime = millis();
}
}
void changeLED() {}
para (int x = 0; x < 10; x ++) {/ / apagará todos los LEDs
digitalWrite (ledPin [x], LOW);
}
digitalWrite (ledPin [currentLED], HIGH); enciende el LED actual
currentLED += dirección; incrementar el valor de la dirección
cambiar de dirección si se llega al final
Si (currentLED == 9) {dirección = -1;}
Si (currentLED == 0) {dirección = 1;}
Enviar los datos a excel y retrasar el paso siguiente para el periodo de tiempo
Serial.Print("Data,Time,"); Serial.Print(currentLED); Serial.Print(","); Serial.println(ledDelay);
fila ++;
x ++;
retardo (delayData);
}