Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define ldr A0 // Definicao do port analogico
- unsigned int lux(0); // Variavel obter medida de sol
- unsigned long tempo(0); // Variavel para medir intervalos de tempo de sol
- unsigned long anterior(0); // Variavel para salvar tempo de inicio de contagem
- unsigned long sol(0); // Variavel para acumular tempo de sol
- bool contador(0); // Variavel para controle de contagem
- //--------------------------
- void setup()
- {
- Serial.begin(9600); // Inicialise serial em 9600 bps
- anterior = millis(); // Atualize tempo atual
- }
- //--------------------------
- void loop()
- {
- lux = analogRead(ldr); // le port analogico
- if ( lux < 800) // Se for menor que 800
- {
- sol = sol + tempo; // Acumule tempo de sol
- tempo = 0; // Zera o tempo medido
- contador = 0; // Desabilite contagem
- anterior = millis(); // Atualize tempo atual
- }
- else // Se for maior que 800
- {
- contador = 1; // Habilite contagem
- }
- if (contador == 1) // Se contagem habilitada
- {
- tempo = (millis() - anterior); // tempo igual tempo de sol
- }
- Serial.println(sol); // Imprime acumulado de tempo de sol
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement