- Bryan daniel
- Mensagens : 114
Data de inscrição : 29/06/2019
Idade : 15
Escola : parque da fonte
exercício 1.15
Ter Jun 09, 2020 11:04 am
- Código:
/*
* CURSO DE ROBOTICA 2020
*
* Exercicio: 1.15
* Tema: Pinos Analógicos
* Atividade: Controlar a velocidade do sequencial conforme a posição do trimpot
* Descrição: Usar uma entrada analógica para medir a iposição do trimpot e usar esse valor para ajustar a velocidade
* Requisito1: A cada troca de estado deve ser atualizado o tempo confoeme posição do trimpot
* Requisito2: A variação de tempo deve ser inversamente proporcional ao valor do trimpot, ou seja, quanto maior o valor do trimpot menos rápido o sequencial
* Hardware: Ligar os leds nos pino digitais configurado como SAÍDA DIGITAL e o TRIMPOT em uma entrada analógica
* Comandos: pinMode(), analogRead(), digitalWrite(),delay(), map()
* Dica1:A o conversor analógico possui 10 bits ou seja de 0 até 1024
* Dica2: Usar a função debug() para checar as variações de valor do trimpot no pino analógico
* Dica3:Pode usar a função map() para converter a variação dos valores lidos no trimpot para as variações de tempo desejadas
* Dica4: Pode usar uma função para fazer a leitura do trimpot e temporização do sequencial
*/
#define luz1 3 //define pino 3 como luz1
#define luz2 4 //define pino 4 como luz2
#define luz3 5 //define pino 5 como luz3
#define luz4 6 //define pino 6 como luz4
#define luz5 7 //define pino 7 como luz5
#define luz6 8 //define pino 8 como luz6
#define trimpot A2 //define pino analógico 2 como trimpot
int relogio; //variável se chama relogio
void setup() {
Serial.begin(9600);
pinMode(luz1, OUTPUT); //define luz1 como saída
pinMode(luz2, OUTPUT); //define luz2 como saída
pinMode(luz3, OUTPUT); //define luz3 como saída
pinMode(luz4, OUTPUT); //define luz4 como saída
pinMode(luz5, OUTPUT); //define luz5 como saída
pinMode(luz6, OUTPUT); //define luz6 como saída
}
void debug(){
Serial.print("luz = ");
Serial.print(analogRead(trimpot));
Serial.print(" relogio = ");
Serial.println(relogio);
}
void tempo() {
relógio = map(analogRead(trimpot), 2, 904, 1000, 10); //relógio é igual a leitura do trimpot entrada minima 2 entrada máxima 904 saída minima 1000 saída máxima 10
delay(relogio); //espera o valor do relógio
debug(); //copia o debug
}
void loop() {
digitalWrite(luz1, HIGH); //liga a luz1
tempo(); //copia o tempo
digitalWrite(luz1, LOW); //desliga a luz1
digitalWrite(luz2, HIGH); //liga a luz2
tempo(); //copia o tempo
digitalWrite(luz2, LOW); //desliga a luz2
digitalWrite(luz3, HIGH); //liga a luz3
tempo(); //copia o tempo
digitalWrite(luz3, LOW); //desliga a luz3
digitalWrite(luz4, HIGH); //liga a luz4
tempo(); //copia o tempo
digitalWrite(luz4, LOW); //desliga a luz4
digitalWrite(luz5, HIGH); //liga a luz5
tempo(); //copia o tempo
digitalWrite(luz5, LOW); //desliga a luz5
digitalWrite(luz6, HIGH); //liga a luz6
tempo(); //copia o tempo
digitalWrite(luz6, LOW); //desliga a luz6
}
- Bryan daniel
- Mensagens : 114
Data de inscrição : 29/06/2019
Idade : 15
Escola : parque da fonte
Re: exercício 1.15
Ter Jun 09, 2020 11:06 am
Re: exercício 1.15
Qua Jun 10, 2020 10:19 pm
Bryan, arrume as variáveis e testa o programa, calibra os sensores também.
Nota 5.0
Nota 5.0
- Bryan daniel
- Mensagens : 114
Data de inscrição : 29/06/2019
Idade : 15
Escola : parque da fonte
Re: exercício 1.15
Qui Jun 11, 2020 11:25 am
eu testei no tinkercad
Re: exercício 1.15
Qui Jun 11, 2020 9:50 pm
Na boa, se voce quer fazer um curso de arduino com thinkercad pode procurar um na udemy, la deve ter.
Permissões neste sub-fórum
Não podes responder a tópicos
|
|