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

Ir para baixo
Gustavo Machado
Gustavo Machado
Mensagens : 15
Data de inscrição : 22/05/2023
Idade : 16
Escola : Colégio Estadual Lindaura Ribeiro Lucas

exercicio 1.13 Empty exercicio 1.13

Qua Mar 20, 2024 6:21 pm
/*
* CURSO DE ROBOTICA 2020
*
* Exercicio: 1.13
* Tema: Pinos Analógicos
* Atividade: Fazer o led alternar o brilho conforme variações de temperatura.
* Descrição: Usar um pino analógico para controlar o brilho do led e uma entrada analógica para captar a temperatura pelo NTC
* Hardware: Ligar um led em um pino digital configurado como SAÍDA ANALÓGICA e o NTC em uma entrada analógica
* Comandos: pinMode(), analogRead(), analogWrite(),map()
* Dica1:A saída analógica aceita valores entre 0 e 255, e o conversor analógico possui 10 bits ou seja até 1024
* Dica2:O LDR não gera valores proximos a zero nem a próximos de 1023 então usar a função map() para ajustar a escala
* Dica3:Escrever o valor lido do NTC no led, tente também fazer o brilho inversamente proporcional a temperatura
*/

//DEFINICOES INICIAIS
#define ntc A0 //irá definir a entrada analógica do sensor de temperatura
#define led 3 //define o led para a entrada 3
//DECLARAcAO DE VARIAVEIS GLOBAIS
int temperatura; //variável do tipo int denominada de "temperatura"

//INICIALIZAÇÃ O DO HARDWARE
void setup() {
pinMode(led, OUTPUT); //define o led como saida
Serial.begin(9600); //define o fluxo de dados
}

//FUNÇÕES COMPLEMENTARES
void debug (){
Serial.print("temperatura = "); // o texto "temperatura =" irá aparecer na tela
Serial.println(analogRead (ntc)); // o "temperatura =" será complementado com o valor do sensor de temperatura
}

//PROGRAMA PRINCIPAL
void loop() {
temperatura = map(analogRead(ntc), 443, 520, 255, 0); //irá ler e transformar o valor do sensor em valores dentro de 0 à 255
analogWrite(led,temperatura); //define a luminosidade do led com base no valor da temperatura
debug(); //faz com que o código contido nas funções complementares seja executado
delay(200); //tempo de 200 milissegundos
}
Ir para o topo
Permissões neste sub-fórum
Não podes responder a tópicos