Robótica Livre
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Ir para baixo
joao bruczkovski
joao bruczkovski
Mensagens : 46
Data de inscrição : 27/06/2022
Idade : 15
Escola : Colegio Estadual Prof Lindaura Ribeiro Lucas

1.8 CORRIGIDO Empty 1.8 CORRIGIDO

Sáb Ago 27, 2022 10:09 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 //define o pino3 como led1
#define led2 4 //define o pino4 como led2
#define teclaup 2 //define o pino2 como teclaup
#define tecladown 13 //define o pino13 como tecladown
//DECLARAcAO DE VARIAVEIS
byte tempo= 10;

//INICIALIZAÇÃO DO HARDWARE
void setup() {
Serial.begin(9600);
pinMode(led1, OUTPUT); //led1 definido como saída
pinMode(led2, OUTPUT); //led2 definido como saída
pinMode(teclaup, INPUT_PULLUP); //teclaup definido como entrada pullup
pinMode(tecladown, INPUT_PULLUP); //tecladown definido como entrada pullup
}

//FUNÇÕES COMPLEMENTARES

//PROGRAMA PRINCIPAL
void loop() {
tempo -= !digitalRead(teclaup)*10;
tempo += !digitalRead(tecladown)*10;
digitalWrite(led1, HIGH); //led1 aceso
digitalWrite(led2, LOW); //led2 apagado
delay(tempo); //tempo
digitalWrite(led1, LOW); //led1 apagado
digitalWrite(led2, HIGH); //led2 aceso
delay(tempo); //tempo
} Very Happy Very Happy
Paulo Augusto Batista
Paulo Augusto Batista
Admin
Mensagens : 5039
Data de inscrição : 11/02/2019
Idade : 52
Escola : Colegio Lindaura
https://roboticalivre.forumeiros.com

1.8 CORRIGIDO Empty Re: 1.8 CORRIGIDO

Qua Ago 31, 2022 11:59 pm
Oi João, o programa funcionou, mas os principais comandos desse programa não estão comentados. Sem eles vou achar que não endendeu como funciona.
Nota 7.0
joao bruczkovski
joao bruczkovski
Mensagens : 46
Data de inscrição : 27/06/2022
Idade : 15
Escola : Colegio Estadual Prof Lindaura Ribeiro Lucas

1.8 CORRIGIDO Empty Exercicio 1.8 CORRIGIDO, ESQUECI DE COLOCAR A FUNCOES NO TOPICO ANTERIOR

Seg Set 12, 2022 4:07 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 //define o pino3 como led1
#define led2 4 //define o pino4 como led2
#define teclaup 2 //define o pino2 como teclaup
#define tecladown 13 //define o pino13 como tecladown
//DECLARAcAO DE VARIAVEIS
byte tempo= 10;

//INICIALIZAÇÃO DO HARDWARE
void setup() {
Serial.begin(9600);
pinMode(led1, OUTPUT); //led1 definido como saída
pinMode(led2, OUTPUT); //led2 definido como saída
pinMode(teclaup, INPUT_PULLUP); //teclaup definido como entrada pullup
pinMode(tecladown, INPUT_PULLUP); //tecladown definido como entrada pullup
}

//FUNÇÕES COMPLEMENTARES

//PROGRAMA PRINCIPAL
void loop() {
tempo -= !digitalRead(teclaup)*10;//ele reduz o tempo do delay
tempo += !digitalRead(tecladown)*10;//ele acrecenta o tempo do delay
digitalWrite(led1, HIGH); //led1 aceso
digitalWrite(led2, LOW); //led2 apagado
delay(tempo); //tempo
digitalWrite(led1, LOW); //led1 apagado
digitalWrite(led2, HIGH); //led2 aceso
delay(tempo); //tempo
} Very Happy
Paulo Augusto Batista
Paulo Augusto Batista
Admin
Mensagens : 5039
Data de inscrição : 11/02/2019
Idade : 52
Escola : Colegio Lindaura
https://roboticalivre.forumeiros.com

1.8 CORRIGIDO Empty Re: 1.8 CORRIGIDO

Ter Set 13, 2022 1:14 am
Oi João, eita comentariozinho mais ruim, não seu se entendeu como esse codigo controla o tempo.
Se olhar na proposta do exercício fiz uma explicação de como funciona essa matemática, dá uma lida lá.
MEsmo assim vou dar nota 10.0, mas lembra de uma coisa, essa nota não vale nada, o que leva de valor é o conhecimento. Wink

_________________
Paulo Augusto Batista
Tecnologia a Favor do Ensino, Educação para nossas crianças, Evolução para Nossa Sociedade
1.8 CORRIGIDO Evoluc10
joao bruczkovski
joao bruczkovski
Mensagens : 46
Data de inscrição : 27/06/2022
Idade : 15
Escola : Colegio Estadual Prof Lindaura Ribeiro Lucas

1.8 CORRIGIDO Empty Exercicio 1.8

Qua Set 14, 2022 3:16 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 //define o pino3 como led1
#define led2 4 //define o pino4 como led2
#define teclaup 2 //define o pino2 como teclaup
#define tecladown 13 //define o pino13 como tecladown
//DECLARAcAO DE VARIAVEIS
byte tempo= 10;

//INICIALIZAÇÃO DO HARDWARE
void setup() {
Serial.begin(9600);
pinMode(led1, OUTPUT); //led1 definido como saída
pinMode(led2, OUTPUT); //led2 definido como saída
pinMode(teclaup, INPUT_PULLUP); //teclaup definido como entrada pullup
pinMode(tecladown, INPUT_PULLUP); //tecladown definido como entrada pullup
}

//FUNÇÕES COMPLEMENTARES

//PROGRAMA PRINCIPAL
void loop() {
tempo -= !digitalRead(teclaup)*10;//o tempo é = a menos a leitura do pino multiplicados por 10
tempo += !digitalRead(tecladown)*10;//o tempo e = a tempo + a leitura da tecla
digitalWrite(led1, HIGH); //led1 aceso
digitalWrite(led2, LOW); //led2 apagado
delay(tempo); //tempo
digitalWrite(led1, LOW); //led1 apagado
digitalWrite(led2, HIGH); //led2 aceso
delay(tempo); //tempo
} Suspect What a Face
Paulo Augusto Batista
Paulo Augusto Batista
Admin
Mensagens : 5039
Data de inscrição : 11/02/2019
Idade : 52
Escola : Colegio Lindaura
https://roboticalivre.forumeiros.com

1.8 CORRIGIDO Empty Re: 1.8 CORRIGIDO

Qui Set 15, 2022 12:23 am
Boa João, meso sem precisar refazer ainda sim melhorou, gosto disso. Como já tinha nota 10.0 então 10.0 de novo, rs

_________________
Paulo Augusto Batista
Tecnologia a Favor do Ensino, Educação para nossas crianças, Evolução para Nossa Sociedade
1.8 CORRIGIDO Evoluc10
Conteúdo patrocinado

1.8 CORRIGIDO Empty Re: 1.8 CORRIGIDO

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