Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Sensor de temperatura usando o LM35
- const int LM35 = A0; // Define o pino que lera a saída do LM35
- float temperatura; // Variável que armazenará a temperatura medida
- float sinVal;
- int toneVal;
- short ledVerde = 8;
- short ledVermelha = 9;
- short sonPiezo = 10;
- //Função que será executada uma vez quando ligar ou resetar o Arduino
- void setup() {
- Serial.begin(9600); // inicializa a comunicação serial
- pinMode(ledVerde, OUTPUT);
- pinMode(ledVermelha, OUTPUT);
- pinMode(sonPiezo, OUTPUT);
- }
- //Função que será executada continuamente
- void loop() {
- //temp
- temperatura = (float(analogRead(LM35)) * 5 / (1023)) / 0.01;
- Serial.print("Temperatura: ");
- Serial.println(temperatura);
- if ((temperatura >= 29.1) && (temperatura < 38.2)) {
- noTone(sonPiezo);
- //toneVal = 31;
- //tone(sonPiezo, toneVal);
- digitalWrite(ledVerde, LOW);
- digitalWrite(ledVermelha, HIGH);
- delay(250);
- digitalWrite(ledVermelha, LOW);
- delay(250);
- }
- else if (temperatura >= 33.2) {
- digitalWrite(ledVerde, LOW);
- digitalWrite(ledVermelha, HIGH);
- // Converte graus para radianos, e depois obtém o valor do seno
- for (int x=0; x<180; x++) {
- // Gera uma frequência a partir do valor do seno
- sinVal = (sin(x*(3.1416/180)));
- // Pega 2000 e adiciona sinVal multiplicando por 1000, gerando um...
- //bom intervalo de frequências para o tom crescente e decrescente da...
- //onda senoidal
- toneVal = 2000+(int(sinVal*1000));
- // O comando ton( ) é definido como ton(pin, frequency), o pin...
- //corresponde o pino digital de saída e frequency é a frequência do...
- //tom em Hertz
- tone(sonPiezo, toneVal);
- delay(2); // Espera dois milissegundos entre as alterações de frequência
- }
- }else if (temperatura < 29.1) {
- noTone(sonPiezo);
- digitalWrite(ledVermelha, LOW);
- digitalWrite(ledVerde, HIGH);
- }
- delay(800);
- //piezo
- }
Advertisement
Add Comment
Please, Sign In to add comment