- Leonardo Santos
- Mensagens : 22
Data de inscrição : 03/03/2020
Idade : 18
exercicio 1,8
Sex Jun 12, 2020 2:23 pm
/*
* 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 3 //Definido que o pino 3 vai se chamar "led1"
#define led2 4 //Definido que o pino 4 vai se chamar "led2"
#define teclaup 2 //Definido que o pino 2 vai chamar-se "teclaup"
#define tecladown 13 //Definido que o pino 12 vai chamar-se "tecladown"
//DECLARAcAO DE VARIAVEIS
byte tempo = 10; //programando que a variavel "tempo" é do tipo byte que armazena de 0 a 255 sem sinal e o numero dentro da variavel no caso é 10
//INICIALIZAÇÃO DO HARDWARE
void setup() {
pinMode(led1, OUTPUT); //programando que o "led1" é SAIDA
pinMode(led2, OUTPUT); //programando que o "led2" é SAIDA
pinMode(teclaup, INPUT_PULLUP); //programando o "teclaup" como uma entrada de alta enperancia com um resistor de polarização nele
pinMode(tecladown, INPUT_PULLUP); //programando o "tecladown" como uma entrada de alta enperancia com um resistor de polarização nele
}
//FUNÇÕES COMPLEMENTARES
//PROGRAMA PRINCIPAL
void loop() {
tempo = (tempo - !digitalRead(teclaup)*10); //programando que quando apertar a teclaup o tempo iria se multiplicar com o numero padrão do tempo com o numero 10 mas ao inverso por causa do ! ou operador lógico
tempo = (tempo + !digitalRead(tecladown)*10); //programando que quando apertar a tecladown o tempo iria se subtrair com o numero padrão do tempo com o numero 10 mas ao inverso por causa do ! ou operador lógico
digitalWrite(led1, HIGH); //programando para o led1 agora ficar ligado ou acesso
digitalWrite(led2, LOW); //programando para o led2 agora ficar apagado
delay(tempo); //o programa agora irá esperar o tempo da variavel e dos calculos para prosseguir
digitalWrite(led1, LOW); //programando para o led1 agora ficar apagado
digitalWrite(led2, HIGH); //programando para o led2 agora ficar ligado ou acesso
delay(tempo); //o programa agora irá esperar o tempo da variavel e dos calculos para prosseguir
}
* 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 3 //Definido que o pino 3 vai se chamar "led1"
#define led2 4 //Definido que o pino 4 vai se chamar "led2"
#define teclaup 2 //Definido que o pino 2 vai chamar-se "teclaup"
#define tecladown 13 //Definido que o pino 12 vai chamar-se "tecladown"
//DECLARAcAO DE VARIAVEIS
byte tempo = 10; //programando que a variavel "tempo" é do tipo byte que armazena de 0 a 255 sem sinal e o numero dentro da variavel no caso é 10
//INICIALIZAÇÃO DO HARDWARE
void setup() {
pinMode(led1, OUTPUT); //programando que o "led1" é SAIDA
pinMode(led2, OUTPUT); //programando que o "led2" é SAIDA
pinMode(teclaup, INPUT_PULLUP); //programando o "teclaup" como uma entrada de alta enperancia com um resistor de polarização nele
pinMode(tecladown, INPUT_PULLUP); //programando o "tecladown" como uma entrada de alta enperancia com um resistor de polarização nele
}
//FUNÇÕES COMPLEMENTARES
//PROGRAMA PRINCIPAL
void loop() {
tempo = (tempo - !digitalRead(teclaup)*10); //programando que quando apertar a teclaup o tempo iria se multiplicar com o numero padrão do tempo com o numero 10 mas ao inverso por causa do ! ou operador lógico
tempo = (tempo + !digitalRead(tecladown)*10); //programando que quando apertar a tecladown o tempo iria se subtrair com o numero padrão do tempo com o numero 10 mas ao inverso por causa do ! ou operador lógico
digitalWrite(led1, HIGH); //programando para o led1 agora ficar ligado ou acesso
digitalWrite(led2, LOW); //programando para o led2 agora ficar apagado
delay(tempo); //o programa agora irá esperar o tempo da variavel e dos calculos para prosseguir
digitalWrite(led1, LOW); //programando para o led1 agora ficar apagado
digitalWrite(led2, HIGH); //programando para o led2 agora ficar ligado ou acesso
delay(tempo); //o programa agora irá esperar o tempo da variavel e dos calculos para prosseguir
}
Re: exercicio 1,8
Sex Jun 12, 2020 10:22 pm
Muito bom Leonardo, nota 10.0
Leonardo Santos gosta desta mensagem
Permissões neste sub-fórum
Não podes responder a tópicos