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
Cadu2005
Mensagens : 26
Data de inscrição : 03/03/2020

Ex 1.8 Cadu2005 Empty Ex 1.8 Cadu2005

Sex Jun 19, 2020 4:18 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 Cor1 3   //Definido que o pino 3 vai se chamar "Cor1"
#define Cor2 4   //Definido que o pino 4 vai se chamar "Cor2"
#define Teclacima 2 //Definido que o pino 2 vai chamar-se "Teclacima"
#define Teclabaixo 13 //Definido que o pino 12 vai chamar-se "Teclabaixo"

//DECLARAcAO DE VARIAVEIS
byte tempo= 10;

//INICIALIZAÇÃO DO HARDWARE
void setup() {
Serial.begin(9600);
pinMode(Cor1, OUTPUT);
pinMode(Cor2, OUTPUT);
pinMode(Teclacima, INPUT_PULLUP);
pinMode(Teclabaixo, INPUT_PULLUP);
}

//FUNÇÕES COMPLEMENTARES


//PROGRAMA PRINCIPAL
void loop() {
 tempo = (tempo - !digitalRead(Teclacima)*10);
 tempo = (tempo + !digitalRead(Teclabaixo)*10);
digitalWrite(Cor1, HIGH);
digitalWrite(Cor2, LOW);
delay(tempo);
digitalWrite(Cor1, LOW);
digitalWrite(Cor2, HIGH);
delay(tempo);
}
avatar
Cadu2005
Mensagens : 26
Data de inscrição : 03/03/2020

Ex 1.8 Cadu2005 Empty Re: Ex 1.8 Cadu2005

Sex Jun 19, 2020 5:41 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 Cor1 3 //Definido que o pino 3 vai se chamar "Cor1"
#define Cor2 4 //Definido que o pino 4 vai se chamar "Cor2"
#define Teclacima 2 //Definido que o pino 2 vai chamar-se "Teclacima"
#define Teclabaixo 13 //Definido que o pino 13 vai chamar-se "Teclabaixo"

//DECLARAcAO DE VARIAVEIS
byte tempo= 10; //Define a variavel byte como "tempo"

//INICIALIZAÇÃO DO HARDWARE
void setup() {
Serial.begin(9600); //Define os bits em 9600
pinMode(Cor1, OUTPUT); //Define a Cor1 como SAIDA
pinMode(Cor2, OUTPUT); //Define a Cor2 como SAIDA
pinMode(Teclacima, INPUT_PULLUP); //Define o pino 2 Como entrada positiva
pinMode(Teclabaixo, INPUT_PULLUP); //Define o pino 13 como entrada positiva
}

//FUNÇÕES COMPLEMENTARES


//PROGRAMA PRINCIPAL
void loop() {
tempo = (tempo - !digitalRead(Teclacima)*10); //Define a multiplicação da variavel por 10 sendo assim 10 subtraido do valor total de carga
tempo = (tempo + !digitalRead(Teclabaixo)*10); //Define a multiplicação da variavel por 10 sendo assim 10 adicionado do valor total de carga
digitalWrite(Cor1, HIGH); //Define o pino 3 com 5 volts
digitalWrite(Cor2, LOW); //Define o pino 4 com 0v volts
delay(tempo); //Usa a variavel tempo de delay
digitalWrite(Cor1, LOW); //Define o pino 3 com 0 volts
digitalWrite(Cor2, HIGH); //Define o pino 4 com 5 volts
delay(tempo); //Usa a variavel tempo como delay
}
Paulo Augusto Batista
Paulo Augusto Batista
Admin
Mensagens : 5115
Data de inscrição : 11/02/2019
Idade : 52
Escola : Colegio Lindaura
https://roboticalivre.forumeiros.com

Ex 1.8 Cadu2005 Empty Re: Ex 1.8 Cadu2005

Qua Jun 24, 2020 12:30 am
Muito bom Cadu, nota 10.
Conteúdo patrocinado

Ex 1.8 Cadu2005 Empty Re: Ex 1.8 Cadu2005

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