// SPDX-License-Identifier: MIT // Entrada analógica com decisão: o LED acende acima de um limiar (Arduino Uno) // // A leitura analógica só vira ação quando alguém decide o que é "muito" e o que é // "pouco". Esse ponto de corte se chama limiar. Aqui ele está no meio da escala. // // Ligação: trimpot de 10 kΩ entre 5V e GND, cursor em A1. // O LED usado é o "L" da própria placa, no pino 13. const int PINO_TRIMPOT = A1; const int PINO_LED = 13; const int LIMIAR = 512; // meio da escala de 10 bits; com referência de 5 V equivale a 2,50 V const int INTERVALO_MS = 100; void setup() { pinMode(PINO_LED, OUTPUT); // a entrada analógica não precisa de pinMode; a saída, sim Serial.begin(9600); } void loop() { int valor = analogRead(PINO_TRIMPOT); bool acima = (valor > LIMIAR); digitalWrite(PINO_LED, acima ? HIGH : LOW); Serial.print(valor); Serial.print('\t'); Serial.println(acima ? "aceso" : "apagado"); delay(INTERVALO_MS); } // Deixe o cursor bem em cima do limiar e observe: o LED pisca sozinho. O ruído da leitura // atravessa os 512 para cima e para baixo. A solução clássica é usar dois limiares // (liga em 540, desliga em 490). Isso se chama histerese, e é uma boa variação para criar.