Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <Thermistor.h> // Adiciona a biblioteca
- #define red 3 // Pino de saída PWM 3 digital
- Thermistor temp(A0); // Pino A0 ligado ao sensor NTC10k
- unsigned long Tempo = 0; // Controle de tempo
- //------------------------------
- void setup()
- {
- pinMode (red, OUTPUT); // Defene como saída
- Serial.begin(9600); // Inicia o serial monitor
- }
- //------------------------------
- void loop()
- {
- if ((millis() - Tempo) > 1000)
- {
- leitura(); // Criação de uma função
- Tempo = millis(); // Compara Tempo em millis()
- }
- int temperatura = temp.getTemp();
- for (temperatura = 0; temperatura <= 255; temperatura++) // Faz leitura em temp.getTemp() e imprimi variavel temperatura
- {
- analogWrite (red, temp.getTemp());
- }
- for (temperatura = 255; temperatura >= 0; temperatura--)
- {
- analogWrite (red, temp.getTemp());
- }
- }
- //------------------------------
- void leitura() // Abaixo faz leitura e impressao na serial monitor
- {
- /*
- 15 graus seria 25% de intensidade.
- 20 graus seria 50%
- 25 graus seria 75%
- 30 graus seria 100%
- 10 (10 -10)*5 = 0%
- 15 (15 -10)*5 = 25%
- 20 (20 -10)*5 = 50%
- 25 (25 -10)*5 = 75%
- 30 (30 -10)*5 = 100%
- Porcentual = (temperatura - 10) * 5
- */
- int temperatura = temp.getTemp();
- Serial.print("Temperatura no Sensor eh: ");
- Serial.print(temperatura);
- Serial.println(" C");
- if ((temperatura >= 10) & (temperatura <= 30)) // Se temperatura está entre 10 e 30 oC
- { // Faça
- int porcentual = (temperatura - 10) * 5; // Calcule o porcentual
- Serial.print(porcentual); // Imprime
- Serial.println(" %");
- int intensidade = map( porcentual, 0, 100, 0, 255); // mapeie de 0 a 100 para 0 a 255
- analogWrite(red, intensidade); // Controle o PWM
- Serial.print(intensidade); // Imprime
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement