exercicio 1.08
3 participantes
- gabriel hoepers
- Mensagens : 160
Data de inscrição : 02/07/2022
Idade : 13
Escola : lindaura
exercicio 1.08
Qui Ago 04, 2022 11:29 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 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; //essa é a variável que vai guardar o valor do tempo de pausa usado na função delay()
//INICIALIZAÇÃO DO HARDWARE
void setup() {
Serial.begin(9600);//vai fazer com que o resultado saia //Habilita a porta serial na velocidade de 9600
pinMode(led1, OUTPUT);//programado led1 como saída
pinMode(led2, OUTPUT);//programado led2 como saída
pinMode(teclaup, INPUT_PULLUP);//teclaup programado como entrada
pinMode(tecladown, INPUT_PULLUP);//tecladown programado como entrada
}
//FUNÇÕES COMPLEMENTARES
void loop() {
//PROGRAMA PRINCIPAL
tempo -= (!digitalRead(teclaup)*10);teclaup é uma variavel //variável é o tempo, teclaup é o pino, veja no define quando configurou e fez até o comentário. //Nesse comando subtrai da variável tempo o resultado da conta, quando a tecla não está pressionada da zero, e todo numero vezes zero é zero, então não afeta a conta. Quando a tecla for pressionada da 1 e todo numero vezes 1 é o proprio número. Esse será decrementado do tempo e aumenta a velocidade
tempo += (!digitalRead(tecladown)*10);//tecladown é uma variavel //aqui a mesma situação da linha anterior
digitalWrite(led1,HIGH);//led1 aceso aqui ok
digitalWrite(led1, LOW);//led1 apagado //aqui se apagar o led1, quando temporizar vai ficar os dois apagados. Tem que acender um e apagar o outro
delay(tempo);//pausa sequencial ok, vai pausar
digitalWrite(led2,HIGH);//led2 ligado //aqui ok acende o led2
digitalWrite(led2, LOW);//led2 desligado //mesma situação se apagar o led2 vai ficar os dois apagados
delay(tempo);}//pausa sequencial
* 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; //essa é a variável que vai guardar o valor do tempo de pausa usado na função delay()
//INICIALIZAÇÃO DO HARDWARE
void setup() {
Serial.begin(9600);//vai fazer com que o resultado saia //Habilita a porta serial na velocidade de 9600
pinMode(led1, OUTPUT);//programado led1 como saída
pinMode(led2, OUTPUT);//programado led2 como saída
pinMode(teclaup, INPUT_PULLUP);//teclaup programado como entrada
pinMode(tecladown, INPUT_PULLUP);//tecladown programado como entrada
}
//FUNÇÕES COMPLEMENTARES
void loop() {
//PROGRAMA PRINCIPAL
tempo -= (!digitalRead(teclaup)*10);teclaup é uma variavel //variável é o tempo, teclaup é o pino, veja no define quando configurou e fez até o comentário. //Nesse comando subtrai da variável tempo o resultado da conta, quando a tecla não está pressionada da zero, e todo numero vezes zero é zero, então não afeta a conta. Quando a tecla for pressionada da 1 e todo numero vezes 1 é o proprio número. Esse será decrementado do tempo e aumenta a velocidade
tempo += (!digitalRead(tecladown)*10);//tecladown é uma variavel //aqui a mesma situação da linha anterior
digitalWrite(led1,HIGH);//led1 aceso aqui ok
digitalWrite(led1, LOW);//led1 apagado //aqui se apagar o led1, quando temporizar vai ficar os dois apagados. Tem que acender um e apagar o outro
delay(tempo);//pausa sequencial ok, vai pausar
digitalWrite(led2,HIGH);//led2 ligado //aqui ok acende o led2
digitalWrite(led2, LOW);//led2 desligado //mesma situação se apagar o led2 vai ficar os dois apagados
delay(tempo);}//pausa sequencial
Re: exercicio 1.08
Ter Ago 09, 2022 10:11 pm
Oi Gabriel, Estava corrigindo o programa e tem um errinho numa linha que não separou os comentários, e provavelmente não testou o programa devido ao erro.
Agora o que me chamou mais a atenção foram os comentários, tem uns equivocos de interpretação que precisam ser revistos.
Vou anotar em vermelho no seu programa a interpretação correta.
Nota 5.0
Agora o que me chamou mais a atenção foram os comentários, tem uns equivocos de interpretação que precisam ser revistos.
Vou anotar em vermelho no seu programa a interpretação correta.
Nota 5.0
- gabriel hoepers
- Mensagens : 160
Data de inscrição : 02/07/2022
Idade : 13
Escola : lindaura
exercicio 1.8 corrigido
Qui Ago 25, 2022 10:13 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 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; //essa é a variável que vai guardar o valor do tempo de pausa usado na função delay()
//INICIALIZAÇÃO DO HARDWARE
void setup() {
Serial.begin(9600);//inicia a porta serial
pinMode(led1, OUTPUT);//programado led1 como saída
pinMode(led2, OUTPUT);//programado led2 como saída
pinMode(teclaup, INPUT_PULLUP);//teclaup programado como entrada
pinMode(tecladown, INPUT_PULLUP);//tecladown programado como entrada
}
//FUNÇÕES COMPLEMENTARES
void loop() {
//PROGRAMA PRINCIPAL
tempo -= (!digitalRead(teclaup)*10);//Nesse comando subtrai da variável tempo o resultado da leitura digital da tecla e multiplica o valor dado por 10 , essa multiplicação pode aumentar ou diminuir a velocidade e intensidade do led de acordo com quanto que voce pressiona
tempo += (!digitalRead(tecladown)*10);//Nesse comando ele adiciona o resultado da leitura digital da tecla e multiplica o valor dado por 10
digitalWrite(led1,HIGH);//acende led1
digitalWrite(led1, LOW);//desliga led1
delay(tempo);//pequena pausa d tempo
digitalWrite(led2,HIGH);//liga led2
digitalWrite(led2, LOW);//desliga led2
delay(tempo);}//pequena pausa de tempo
* 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; //essa é a variável que vai guardar o valor do tempo de pausa usado na função delay()
//INICIALIZAÇÃO DO HARDWARE
void setup() {
Serial.begin(9600);//inicia a porta serial
pinMode(led1, OUTPUT);//programado led1 como saída
pinMode(led2, OUTPUT);//programado led2 como saída
pinMode(teclaup, INPUT_PULLUP);//teclaup programado como entrada
pinMode(tecladown, INPUT_PULLUP);//tecladown programado como entrada
}
//FUNÇÕES COMPLEMENTARES
void loop() {
//PROGRAMA PRINCIPAL
tempo -= (!digitalRead(teclaup)*10);//Nesse comando subtrai da variável tempo o resultado da leitura digital da tecla e multiplica o valor dado por 10 , essa multiplicação pode aumentar ou diminuir a velocidade e intensidade do led de acordo com quanto que voce pressiona
tempo += (!digitalRead(tecladown)*10);//Nesse comando ele adiciona o resultado da leitura digital da tecla e multiplica o valor dado por 10
digitalWrite(led1,HIGH);//acende led1
digitalWrite(led1, LOW);//desliga led1
delay(tempo);//pequena pausa d tempo
digitalWrite(led2,HIGH);//liga led2
digitalWrite(led2, LOW);//desliga led2
delay(tempo);}//pequena pausa de tempo
Re: exercicio 1.08
Qua Ago 31, 2022 12:14 am
Gabriel, vou melhorar a nota porque os comentários estão mais adequados, porém não arrumou o pisca, continua sem funcionar, certo? Voce acende e apaga o mesmo led depois temporiza, ou seja eles ficam sempre apagados. Nota 6.0
- gabriel hoepers
- Mensagens : 160
Data de inscrição : 02/07/2022
Idade : 13
Escola : lindaura
exercicio 1.8 corrigido
Sáb Out 22, 2022 11:12 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 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; //vai guardar o valor do tempo de pausa usado na função delay()
//INICIALIZAÇÃO DO HARDWARE
void setup() {
Serial.begin(9600);//vai fazer com que o resultado saia
pinMode(led1, OUTPUT);//programado led1 como saída
pinMode(led2, OUTPUT);//programado led2 como saída
pinMode(teclaup, INPUT_PULLUP);//teclaup programado como entrada
pinMode(tecladown, INPUT_PULLUP);//tecladown programado como entrada
}
//FUNÇÕES COMPLEMENTARES
void loop() {
//PROGRAMA PRINCIPAL
tempo -= (!digitalRead(teclaup)*10); //Nesse comando subtrai da variável tempo o resultado da conta,onada da zero. Quando a tecla for pressionada da 1 e todo numero vezes 1 é o proprio número
tempo += (!digitalRead(tecladown)*10); //subtrai da variável tempo o resultado da conta,onada da zero. Quando a tecla for pressionada da 1 e todo numero vezes 1 é o proprio número
digitalWrite(led1,HIGH);//led1 aceso
delay(tempo); //uma pquena pausa
digitalWrite(led1, LOW);
digitalWrite(led2, HIGH);//led2 ligado
delay(tempo); //uma pequena pausa
digitalWrite(led2, LOW); //led2 apagado
delay(tempo); //uma pequena pausa
}
* 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; //vai guardar o valor do tempo de pausa usado na função delay()
//INICIALIZAÇÃO DO HARDWARE
void setup() {
Serial.begin(9600);//vai fazer com que o resultado saia
pinMode(led1, OUTPUT);//programado led1 como saída
pinMode(led2, OUTPUT);//programado led2 como saída
pinMode(teclaup, INPUT_PULLUP);//teclaup programado como entrada
pinMode(tecladown, INPUT_PULLUP);//tecladown programado como entrada
}
//FUNÇÕES COMPLEMENTARES
void loop() {
//PROGRAMA PRINCIPAL
tempo -= (!digitalRead(teclaup)*10); //Nesse comando subtrai da variável tempo o resultado da conta,onada da zero. Quando a tecla for pressionada da 1 e todo numero vezes 1 é o proprio número
tempo += (!digitalRead(tecladown)*10); //subtrai da variável tempo o resultado da conta,onada da zero. Quando a tecla for pressionada da 1 e todo numero vezes 1 é o proprio número
digitalWrite(led1,HIGH);//led1 aceso
delay(tempo); //uma pquena pausa
digitalWrite(led1, LOW);
digitalWrite(led2, HIGH);//led2 ligado
delay(tempo); //uma pequena pausa
digitalWrite(led2, LOW); //led2 apagado
delay(tempo); //uma pequena pausa
}
- Monica Moreno
- Mensagens : 731
Data de inscrição : 03/03/2020
Idade : 15
Escola : Colegio Lindaura Ribeiro Lucas
Re: exercicio 1.08
Qui Out 27, 2022 10:12 am
Bom Dia
Está Correto
Nota 10,0
Está Correto
Nota 10,0
Permissões neste sub-fórum
Não podes responder a tópicos