Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define ldr A0 // Definicao do port analogico
- unsigned int lux; // Variavel obter medida de sol
- unsigned int luxs[60]; // historico de medidas de lux
- unsigned long tempo; // Variavel para medir intervalos de tempo de sol
- unsigned long atual, anterior; // Variavel para salvar tempo de inicio de contagem
- unsigned long sol; // Variavel para acumular tempo de sol
- //--------------------------
- void setup()
- {
- Serial.begin(9600); // Inicialise serial em 9600 bps
- anterior = millis(); // Atualize tempo atual
- }
- //--------------------------
- void loop()
- {
- int x, y;
- for (x=0, y=0; x<60; x++)
- {
- lux = analogRead(ldr); // le port analogico
- atual = millis();
- if ( lux < 800) // Se for menor que 800
- {
- tempo = atual - anterior;
- sol = sol + tempo; // Acumule tempo de sol
- luxs[y++] = lux;
- }
- anterior = atual;
- delay(1000);
- }
- Serial.println(sol/3600000); // Imprime acumulado de tempo de sol
- for (x=0; x<y; x++)
- {
- Serial.println(luxs[x]); // Imprime os valores de lux medidos
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement