Refeito 1.8
2 participantes
- Monica Moreno
- Mensagens : 685
Data de inscrição : 03/03/2020
Idade : 15
Escola : Colegio Lindaura Ribeiro Lucas
Refeito 1.8
Qui Ago 19, 2021 9:07 am
/*
* Exercicio: 1.8
* Tema: Pinos Digitais
* Atividade: Fazer um pisca-pisca com 2 leds alternando entre um aceso e outro apagado com a velocidade controlada pelas teclas UP(aumenta a velocidade) e DOWN (diminui a velocidade)
* Descrição: Usar a leitura das teclas e multiplicar por uma constante para fazer o incremento e decremento da velocidade
* Hardware: Ligar os leds em dois pinos digital configurado como SAÍDA e as teclas em outros pinos digitais
* Comandos: pinMode, digitalWrite, delay, PULLUP
* Dica1: Usar os operadores matemáticos para aumentar e diminuir o tempo do pisca
* Dica2: A tecla quando não está pressionada fica em HIGH (1) e quando pressiona o pino é aterrado e vem para nível lógico LOW (0)
* Dica3: Todo numero multiplicado por zero 0 é igual a zero, e todo numero somado com zero é igual a ele mesmo
* Dica4: Para incrementar o tempo quando a tecla UP for pressionada, o valor fica 1, deve ser multiplicado por um numero e somado ao valor do tempo
* Dica5: Usar uma variável tipo Byte para o tempo, essa quando chega em 255 e incrementada volta a zero.
* Dica6: Multiplicar 255 por um valor para chegar ao tempo desejado,
*/
//DEFINICOES INICIAIS
#define led1 2 //Definido que o pino 2 vai se chamar "led1"
#define led2 3 //Definido que o pino 3 vai se chamar "led2"
#define teclaup 4 //Definido que o pino 4 vai se chamar "teclaup"
#define tecladown 5 //Definido que o pino 5 vai se chamar "tecladown"
//DECLARAcAO DE VARIAVEIS
byte tempo = 10; //Variável do tempo definida como byte (0 - 255)
//INICIALIZAÇÃO DO HARDWARE
void setup() {
Serial.begin(9600);
pinMode(led1, OUTPUT);//Programado como saida
pinMode(led2, OUTPUT);//Programado como saida
pinMode(teclaup, INPUT_PULLUP);//Programado como entrada INPUT_PULLUP
pinMode(tecladown, INPUT_PULLUP); //Programado como entrada INPUT_PULLUP
}
//FUNÇÕES COMPLEMENTARES
//PROGRAMA PRINCIPAL
void loop() {
tempo += !digitalRead(teclaup)*10;//Programado para Increase a velocity do led quando a teclaup for pressionada;
tempo -= !digitalRead(tecladown)*10;//Programado para Decrease a velocity do led quando a tecladown for pressionada
digitalWrite(led1, HIGH);//Acende o led1
digitalWrite(led2, LOW);//Apaga o led2
delay(tempo);//Vai dar uma pausa de acordo com o tempo
digitalWrite(led1, LOW);//Apaga o led1
digitalWrite(led2, HIGH);//Acende o led2
delay(tempo);//Vai dar uma pausa de acordo com o tempo
}
Bom Dia Refiz espero que esteja certo agora
* Exercicio: 1.8
* Tema: Pinos Digitais
* Atividade: Fazer um pisca-pisca com 2 leds alternando entre um aceso e outro apagado com a velocidade controlada pelas teclas UP(aumenta a velocidade) e DOWN (diminui a velocidade)
* Descrição: Usar a leitura das teclas e multiplicar por uma constante para fazer o incremento e decremento da velocidade
* Hardware: Ligar os leds em dois pinos digital configurado como SAÍDA e as teclas em outros pinos digitais
* Comandos: pinMode, digitalWrite, delay, PULLUP
* Dica1: Usar os operadores matemáticos para aumentar e diminuir o tempo do pisca
* Dica2: A tecla quando não está pressionada fica em HIGH (1) e quando pressiona o pino é aterrado e vem para nível lógico LOW (0)
* Dica3: Todo numero multiplicado por zero 0 é igual a zero, e todo numero somado com zero é igual a ele mesmo
* Dica4: Para incrementar o tempo quando a tecla UP for pressionada, o valor fica 1, deve ser multiplicado por um numero e somado ao valor do tempo
* Dica5: Usar uma variável tipo Byte para o tempo, essa quando chega em 255 e incrementada volta a zero.
* Dica6: Multiplicar 255 por um valor para chegar ao tempo desejado,
*/
//DEFINICOES INICIAIS
#define led1 2 //Definido que o pino 2 vai se chamar "led1"
#define led2 3 //Definido que o pino 3 vai se chamar "led2"
#define teclaup 4 //Definido que o pino 4 vai se chamar "teclaup"
#define tecladown 5 //Definido que o pino 5 vai se chamar "tecladown"
//DECLARAcAO DE VARIAVEIS
byte tempo = 10; //Variável do tempo definida como byte (0 - 255)
//INICIALIZAÇÃO DO HARDWARE
void setup() {
Serial.begin(9600);
pinMode(led1, OUTPUT);//Programado como saida
pinMode(led2, OUTPUT);//Programado como saida
pinMode(teclaup, INPUT_PULLUP);//Programado como entrada INPUT_PULLUP
pinMode(tecladown, INPUT_PULLUP); //Programado como entrada INPUT_PULLUP
}
//FUNÇÕES COMPLEMENTARES
//PROGRAMA PRINCIPAL
void loop() {
tempo += !digitalRead(teclaup)*10;//Programado para Increase a velocity do led quando a teclaup for pressionada;
tempo -= !digitalRead(tecladown)*10;//Programado para Decrease a velocity do led quando a tecladown for pressionada
digitalWrite(led1, HIGH);//Acende o led1
digitalWrite(led2, LOW);//Apaga o led2
delay(tempo);//Vai dar uma pausa de acordo com o tempo
digitalWrite(led1, LOW);//Apaga o led1
digitalWrite(led2, HIGH);//Acende o led2
delay(tempo);//Vai dar uma pausa de acordo com o tempo
}
Bom Dia Refiz espero que esteja certo agora
Re: Refeito 1.8
Sáb Ago 28, 2021 12:20 am
Oi Monica, Quando refizer o exercício coloca no mesmo tópico do primeiro, assim cria historico e facilita para correção.
Então criar tópico n ovo somente para novos exercícios, blz...
Já quanto ao programa testei e funcionou, nota 10.0.
Espero que tenha entendido bem a parte aritmética de soma e atribuição, pois usamos bastante nos programas.
Então criar tópico n ovo somente para novos exercícios, blz...
Já quanto ao programa testei e funcionou, nota 10.0.
Espero que tenha entendido bem a parte aritmética de soma e atribuição, pois usamos bastante nos programas.
Permissões neste sub-fórum
Não podes responder a tópicos
|
|