Robótica Livre
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Ir para baixo
avatar
Rafael123
Mensagens : 83
Data de inscrição : 18/03/2023
Idade : 13
Escola : Lindaura Ribeiro Lucas

Exercício 2.16 Rafael123 Empty Exercício 2.16 Rafael123

Qua Out 18, 2023 1:44 pm
/*
* 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 //Definido que o pino 3 vai se chamar "led1"
#define led2 4 //Definido que o pino 4 vai se chamar "led2"
#define led3 5 //Definido que o pino 5 vai se chamar "led3"
#define ldr A0 //definido que o pino A0 agora se chama LDR


//DECLARAcAO DE VARIAVEIS
byte luminosidade; // Variavel para receber o valor da luminosidade

//FUNÇÕES COMPLEMENTARES


//INICIALIZAÇÃO DO HARDWARE
void setup() {
pinMode(led1, OUTPUT); //programado o led como saida
pinMode(led2, OUTPUT); //programado o led como saida
pinMode(led3, OUTPUT); //programado o led como saida
Serial.begin(9600);
}

//PROGRAMA PRINCIPAL
void loop() {
switch(map(analogRead(ldr),11,834,0,3)){//o maximo, o minimo e local onde quer entrar, conforme a quantidade de iluminaçao que tenha na entrada
case(0)://se for 0 que cair nenhum led ascende
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
case(1)://se cair 1 so o led1 ascende
digitalWrite(led1, HIGH);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
case(2)://se cair 2 so o led2 ascende
digitalWrite(led1, HIGH);
digitalWrite(led2, HIGH);
digitalWrite(led3, LOW);
case(3)://se cair 3 so o led3 ascende
digitalWrite(led1, HIGH);
digitalWrite(led2, HIGH);
digitalWrite(led3, HIGH);
}
}
Monica Moreno
Monica Moreno
Mensagens : 685
Data de inscrição : 03/03/2020
Idade : 15
Escola : Colegio Lindaura Ribeiro Lucas

Exercício 2.16 Rafael123 Empty Re: Exercício 2.16 Rafael123

Qua Out 18, 2023 8:18 pm
Bom Dia Rafael
Tudo Bem?

Erros / Revisões / Perguntas
1° Revise seu programa

Nota 50.0
Aguardo Terminar
Paulo Augusto Batista
Paulo Augusto Batista
Admin
Mensagens : 5039
Data de inscrição : 11/02/2019
Idade : 52
Escola : Colegio Lindaura
https://roboticalivre.forumeiros.com

Exercício 2.16 Rafael123 Empty Re: Exercício 2.16 Rafael123

Dom Dez 03, 2023 4:28 pm
Revisei esse programa e está no caminho, faltou somente os break nas funções do case, dai ele passa por todas as opções.
Também espero que tenha calibrado o sensor para a placa e não somente copiado os valores da aula dos coleguinhas. Como parece que fez.
Como não funcionou vou manter a nota da Monica
avatar
Rafael123
Mensagens : 83
Data de inscrição : 18/03/2023
Idade : 13
Escola : Lindaura Ribeiro Lucas

Exercício 2.16 Rafael123 Empty Exercício 2.16 CORREÇÃO Rafael123

Ter Abr 23, 2024 1:47 pm
/*
* 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 //Definido que o pino 3 vai se chamar "led1"
#define led2 4 //Definido que o pino 4 vai se chamar "led2"
#define led3 5 //Definido que o pino 5 vai se chamar "led3"
#define ldr A0 //definido que o pino A0 agora se chama LDR


//DECLARAcAO DE VARIAVEIS
byte luminosidade; // Variavel para receber o valor da luminosidade

//FUNÇÕES COMPLEMENTARES


//INICIALIZAÇÃO DO HARDWARE
void setup() {
pinMode(led1, OUTPUT); //programado o led como saida
pinMode(led2, OUTPUT); //programado o led como saida
pinMode(led3, OUTPUT); //programado o led como saida
Serial.begin(9600);
}

//PROGRAMA PRINCIPAL
void loop() {
switch(map(analogRead(ldr),11,834,0,3)){//o maximo, o minimo e local onde quer entrar, conforme a quantidade de iluminaçao que tenha na entrada
case(0)://se for 0 que cair nenhum led ascende
digitalWrite(led1, LOW);//desliga o led1
digitalWrite(led2, LOW);//desliga o led2
digitalWrite(led3, LOW);//desliga o led3
break;
case(1)://se cair 1 so o led1 ascende
digitalWrite(led1, HIGH);//ascende o led1
digitalWrite(led2, LOW);//desliga o led2
digitalWrite(led3, LOW);//desliga o led3
break;
case(2)://se cair 2 so o led2 ascende
digitalWrite(led1, HIGH);//ascende o led1
digitalWrite(led2, HIGH);//ascende o led2
digitalWrite(led3, LOW);//desliga o led3
break;
case(3)://se cair 3 so o led3 ascende
digitalWrite(led1, HIGH);//ascende o led1
digitalWrite(led2, HIGH);//ascende o led2
digitalWrite(led3, HIGH);//ascende o led3
break;
}
}
Monica Moreno
Monica Moreno
Mensagens : 685
Data de inscrição : 03/03/2020
Idade : 15
Escola : Colegio Lindaura Ribeiro Lucas

Exercício 2.16 Rafael123 Empty Re: Exercício 2.16 Rafael123

Qua Abr 24, 2024 3:37 pm
Boa Tarde Rafael

Revise seu exercício está faltando uns comando.
Nota 60.0
avatar
Rafael123
Mensagens : 83
Data de inscrição : 18/03/2023
Idade : 13
Escola : Lindaura Ribeiro Lucas

Exercício 2.16 Rafael123 Empty Re: Exercício 2.16 Rafael123

Ter Abr 30, 2024 1:45 pm
O Monica meu irmão me ajudou e disse que todos os códigos que ele usou também estão aí, e ele tirou nota 10,0
Monica Moreno
Monica Moreno
Mensagens : 685
Data de inscrição : 03/03/2020
Idade : 15
Escola : Colegio Lindaura Ribeiro Lucas

Exercício 2.16 Rafael123 Empty Re: Exercício 2.16 Rafael123

Ter Abr 30, 2024 8:10 pm
Boa Noite Rafael, entendo que seu irmão tenha o ajudado mas ele fez diferente do seu? falta em seu programa um delay entre o 1° case

Nota 95.0
Conteúdo patrocinado

Exercício 2.16 Rafael123 Empty Re: Exercício 2.16 Rafael123

Ir para o topo
Permissões neste sub-fórum
Não podes responder a tópicos