- Ana Clara Leschnhak
- Mensagens : 117
Data de inscrição : 03/03/2023
Idade : 12
Escola : Colégio Estadual Colônia Murici
exercicio 2.16 resolvido
Qui Nov 23, 2023 11:13 am
/*
* CURSO DE ROBOTICA 2020
*
* Exercicio: 2.16
* Tema: Switch Case
* Atividade: Montar medidor de intensidade de luz
* Descrição: Acionar os leds conforme intensidade de luz, pouca luz tudo apagado e muita luz 3 leds acesos, 4 escalas de intensidade
* Hardware: Ligar o LDR configurados como ENTRADA ANALóGICA e 3 leds em outros pinos digitais configurado como SAÍDA
* Comandos: pinMode, digitalRead, digitalWrite, PULLUP, !(operador NOT), Switch Case, IF
* DICA1: Ajustar a escala usando o debug() para encontrar as variações máximas e minimas
* DICA2: Usar a função map() e ajustar na saida de 0 a 3
* DICA3: em cada case colocar a configuração dos leds entre os acesos e apagados
*/
//DEFINICOES INICIAIS
#define led1 3//define led e pino
#define led2 4//define led e pino
#define led3 5//define led e pino
#define ldr A0//define ldr e pino
//DECLARAcAO DE VARIAVEIS
byte luminosidade;//define a variavel
//FUNÇÕES COMPLEMENTARES
//INICIALIZAÇÃO DO HARDWARE
void setup() {
pinMode(led1, OUTPUT);//configura a saida do led
pinMode(led2, OUTPUT);//configura a saida do led
pinMode(led3, OUTPUT);//configura a saida do led
Serial.begin(9600);//inicializa a porta serial
}
//125 530
//PROGRAMA PRINCIPAL
void loop(){
switch(map(analogRead(ldr),125, 530, 0, 3)){//conforme o ldr vai para o case
delay(100);//pequena pausa
case(0):
digitalWrite(led1, LOW);//apaga o led
digitalWrite(led2, LOW);//apaga o led
digitalWrite(led3, LOW);//apaga o led
break;//encerra o swich
case(1):
digitalWrite(led1, HIGH);//acende o led
digitalWrite(led2, LOW);//apaga o led
digitalWrite(led3, LOW);//apaga o led
break;//encerra o swith
case(2):
digitalWrite(led1, HIGH);//acende o led
digitalWrite(led2, HIGH);//acende o led
digitalWrite(led3, LOW);//apaga o led
break;//encerra o swith
case(3):
digitalWrite(led1, HIGH);//acende o led
digitalWrite(led2, HIGH);//acende o led
digitalWrite(led3, HIGH);//acende o led
break;//encerra o swith
}
}
* CURSO DE ROBOTICA 2020
*
* Exercicio: 2.16
* Tema: Switch Case
* Atividade: Montar medidor de intensidade de luz
* Descrição: Acionar os leds conforme intensidade de luz, pouca luz tudo apagado e muita luz 3 leds acesos, 4 escalas de intensidade
* Hardware: Ligar o LDR configurados como ENTRADA ANALóGICA e 3 leds em outros pinos digitais configurado como SAÍDA
* Comandos: pinMode, digitalRead, digitalWrite, PULLUP, !(operador NOT), Switch Case, IF
* DICA1: Ajustar a escala usando o debug() para encontrar as variações máximas e minimas
* DICA2: Usar a função map() e ajustar na saida de 0 a 3
* DICA3: em cada case colocar a configuração dos leds entre os acesos e apagados
*/
//DEFINICOES INICIAIS
#define led1 3//define led e pino
#define led2 4//define led e pino
#define led3 5//define led e pino
#define ldr A0//define ldr e pino
//DECLARAcAO DE VARIAVEIS
byte luminosidade;//define a variavel
//FUNÇÕES COMPLEMENTARES
//INICIALIZAÇÃO DO HARDWARE
void setup() {
pinMode(led1, OUTPUT);//configura a saida do led
pinMode(led2, OUTPUT);//configura a saida do led
pinMode(led3, OUTPUT);//configura a saida do led
Serial.begin(9600);//inicializa a porta serial
}
//125 530
//PROGRAMA PRINCIPAL
void loop(){
switch(map(analogRead(ldr),125, 530, 0, 3)){//conforme o ldr vai para o case
delay(100);//pequena pausa
case(0):
digitalWrite(led1, LOW);//apaga o led
digitalWrite(led2, LOW);//apaga o led
digitalWrite(led3, LOW);//apaga o led
break;//encerra o swich
case(1):
digitalWrite(led1, HIGH);//acende o led
digitalWrite(led2, LOW);//apaga o led
digitalWrite(led3, LOW);//apaga o led
break;//encerra o swith
case(2):
digitalWrite(led1, HIGH);//acende o led
digitalWrite(led2, HIGH);//acende o led
digitalWrite(led3, LOW);//apaga o led
break;//encerra o swith
case(3):
digitalWrite(led1, HIGH);//acende o led
digitalWrite(led2, HIGH);//acende o led
digitalWrite(led3, HIGH);//acende o led
break;//encerra o swith
}
}
Permissões neste sub-fórum
Não podes responder a tópicos