Segue abaixo um exemplo de código para o Arduino Uno que atende às especificações do experimento descrito: ``` const int trigPin = 2; const int echoPin = 3; const int redPin = 9; const int greenPin = 10; const int bluePin = 11; long duration; int distance; void setup() { pinMode(trigPin, OUTPUT); pinMode(echoPin, INPUT); pinMode(redPin, OUTPUT); pinMode(greenPin, OUTPUT); pinMode(bluePin, OUTPUT); } void loop() { digitalWrite(trigPin, LOW); delayMicroseconds(2); digitalWrite(trigPin, HIGH); delayMicroseconds(10); digitalWrite(trigPin, LOW); duration = pulseIn(echoPin, HIGH); distance = duration * 0.034 / 2; if (distance > 50) { analogWrite(redPin, 0); analogWrite(greenPin, 255); analogWrite(bluePin, 0); } else if (distance > 25) { analogWrite(redPin, 255 * (50 - distance) / 25); analogWrite(greenPin, 255); analogWrite(bluePin, 0); } else if (distance > 5) { analogWrite(redPin, 255); analogWrite(greenPin, 255 * (distance - 5) / 20); analogWrite(bluePin, 0); } else { analogWrite(redPin, 255); analogWrite(greenPin, 0); analogWrite(bluePin, 0); } delay(100); } ``` Lembre-se de conectar o sensor ultrassônico nos pinos 2 e 3 do Arduino, e os resistores em série com cada cor do LED RGB. Além disso, é importante ajustar o valor da constante de conversão (0.034) de acordo com a velocidade do som no ambiente em que o experimento será realizado.
Para escrever sua resposta aqui, entre ou crie uma conta
Sistemas Digitais e Microprocessadores
Sistemas Digitais e Microprocessadores
Sistemas Digitais e Microprocessadores
Compartilhar