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

Ir para baixo
Thiaguin
Thiaguin
Mensagens : 177
Data de inscrição : 03/03/2020

Exercício 1.10 - Luz de Vela  Empty Exercício 1.10 - Luz de Vela

Sáb maio 09, 2020 12:20 pm
/*
* CURSO DE ROBOTICA 2019
*
* Exercicio: 1.10
* Tema: Pinos Analógicos
* Atividade: Fazer o led alternar o brilho randomicamente simulando a chama da vela
* Descrição: Usar um pino analógico para controlar o brilho do led randomicamente, assim como o tempo randomico
* Hardware: Ligar um led em um pino digital configurado como SAÍDA ANALÓGICA e atribuir brilho e tempo randomico
* Comandos: pinMode, analogWrite, delay, random
* Dica1:A saída analógica aceita valores entre 0 e 255, ja o tempo pode ser qualquer valor que achar mais parecido com vela
* Dica2:Usar um pino digital PWM para a controlar o brilho do LED
* Dica3: Veja esse video do exemplo https://www.youtube.com/watch?v=iFbnuzDejRw
*/

//DEFINICOES INICIAIS
#define led2 6 //Definido que o pino 6 irá se chamar led2

//DECLARAcAO DE VARIAVEIS GLOBAIS
int = tempo ; //Variável para controlar o tempo //o operador "=" é usado para atribuição, é como se tentasse carregar a vaiável int com o valor tempo, não rola.
byte = brilho ; //Variável para controlar o brilho mesma observação da linha anterior, na declaração não usa o operador de atribuição

//INICIALIZAÇÃO DO HARDWARE
void setup() {
pinMode(led2,OUTPUT); //Configurado o pino 6 como saída
}

//FUNÇÕES COMPLEMENTARES

//PROGRAMA PRINCIPAL
void loop() {
analogWrite(led4,brilho);//Quando o programa iniciar o led4 irá acender no define e no setup usou o nome led2, aqui vai precisar manter o nome
brilho = random(50,150);//O brilho do led4 irá ter valores aleatórios entre 50 e 150 Normalmente colocamos o valor na variável depois utilizamos, aqui ficou na ordem inversa
delay(tempo);//O tempo está sendo controlado por uma variável do tipo int
tempo = random(100,500);//O valor do tempo irá ter valores aleatórios entre 0,1 e 0,5 segundos
}
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

Exercício 1.10 - Luz de Vela  Empty Re: Exercício 1.10 - Luz de Vela

Qui maio 14, 2020 11:55 pm
Thiago, o programa está com alguns erros, alguns básicos que já havia feito certo em vários exercícios anteriores, nesse deu ruim. Vou colocar em vermelho as observações no programa.

Nota 5.0
Thiaguin
Thiaguin
Mensagens : 177
Data de inscrição : 03/03/2020

Exercício 1.10 - Luz de Vela  Empty Re: Exercício 1.10 - Luz de Vela

Qua Jun 03, 2020 9:24 am
/*
* CURSO DE ROBOTICA 2019
*
* Exercicio: 1.10
* Tema: Pinos Analógicos
* Atividade: Fazer o led alternar o brilho randomicamente simulando a chama da vela
* Descrição: Usar um pino analógico para controlar o brilho do led randomicamente, assim como o tempo randomico
* Hardware: Ligar um led em um pino digital configurado como SAÍDA ANALÓGICA e atribuir brilho e tempo randomico
* Comandos: pinMode, analogWrite, delay, random
* Dica1:A saída analógica aceita valores entre 0 e 255, ja o tempo pode ser qualquer valor que achar mais parecido com vela
* Dica2:Usar um pino digital PWM para a controlar o brilho do LED
* Dica3: Veja esse video do exemplo https://www.youtube.com/watch?v=iFbnuzDejRw
*/

//DEFINICOES INICIAIS
#define led3 5 //Definido que o pino 5 irá se chamar led3

//DECLARAcAO DE VARIAVEIS GLOBAIS
int = tempo(100,700); //Variável para ser atribuído o valor do tempo , que é de 0,1 a 0,7 segundos
byte = brilho(50,150); //Variável para ser atribuído o valor do brilho , que é de 50 a 150

//INICIALIZAÇÃO DO HARDWARE
void setup() {
pinMode(led3,OUTPUT); //Configurado o pino 5 como saída
}

//FUNÇÕES COMPLEMENTARES


//PROGRAMA PRINCIPAL
void loop() {
analogWrite(led3,brilho);//Quando o programa iniciar o led3 irá acender
random(brilho);//O brilho do led3 irá ter valores aleatórios entre 50 e 150
delay(tempo);//O tempo está sendo atribuído por uma variável do tipo int
random(tempo);//O valor do tempo irá ter valores aleatórios entre 0,1 e 0,7 segundos
}
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

Exercício 1.10 - Luz de Vela  Empty Re: Exercício 1.10 - Luz de Vela

Qua Jun 03, 2020 11:12 pm
Oi Thiago,

Variável declara assim:
int nomeDaVariável = 0; declara uma variável do tipo int com o nome nomeDaVariável e o operador = atribui o valor zero a ela.

sobre inserir um dado nessa variável, por exemplo usando a função random.
nomeDaVariável = random(1000, 10000); // comando que vai atribuir um valor a variável de nome nomeDaVariavel , o valor atribuido será gerado aleatóriamente e terá seu valor entre 1000 e 10000

Se ligou?
Thiaguin
Thiaguin
Mensagens : 177
Data de inscrição : 03/03/2020

Exercício 1.10 - Luz de Vela  Empty Re: Exercício 1.10 - Luz de Vela

Ter Jun 09, 2020 4:20 pm
Sim
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

Exercício 1.10 - Luz de Vela  Empty Re: Exercício 1.10 - Luz de Vela

Ter Jun 09, 2020 8:17 pm
Tetou esse programa? Funcionou?
Thiaguin
Thiaguin
Mensagens : 177
Data de inscrição : 03/03/2020

Exercício 1.10 - Luz de Vela  Empty Re: Exercício 1.10 - Luz de Vela

Qui Jun 11, 2020 1:52 pm
Eu não tenho internet na minha casa . Então eu faço pelo celular , mas não tenho como testar .
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

Exercício 1.10 - Luz de Vela  Empty Re: Exercício 1.10 - Luz de Vela

Qui Jun 11, 2020 10:17 pm
Teu computador tem wifi?
Thiaguin
Thiaguin
Mensagens : 177
Data de inscrição : 03/03/2020

Exercício 1.10 - Luz de Vela  Empty Re: Exercício 1.10 - Luz de Vela

Qui Jun 18, 2020 2:29 pm
Não
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

Exercício 1.10 - Luz de Vela  Empty Re: Exercício 1.10 - Luz de Vela

Qua Jun 24, 2020 9:13 pm
Precisa comprar um módulo USB / WIFI e ancorar seu celular, ou veja alguem que tenha wifi e baixa o simulide num pendrive.

Esse adaptador deve resolver e sai baratinho.
https://produto.mercadolivre.com.br/MLB-1536569260-adaptador-wifi-wireless-usb-mini-nano-pc-80211n-150mbps-_JM?quantity=1#position=7&type=item&tracking_id=04f6df5b-d965-4b92-8078-1450c13eee92

Computador tem em casa né.
Thiaguin
Thiaguin
Mensagens : 177
Data de inscrição : 03/03/2020

Exercício 1.10 - Luz de Vela  Empty Re: Exercício 1.10 - Luz de Vela

Qua Jul 01, 2020 2:36 pm
/*
* CURSO DE ROBOTICA 2019
*
* Exercicio: 1.10
* Tema: Pinos Analógicos
* Atividade: Fazer o led alternar o brilho randomicamente simulando a chama da vela
* Descrição: Usar um pino analógico para controlar o brilho do led randomicamente, assim como o tempo randomico
* Hardware: Ligar um led em um pino digital configurado como SAÍDA ANALÓGICA e atribuir brilho e tempo randomico
* Comandos: pinMode, analogWrite, delay, random
* Dica1:A saída analógica aceita valores entre 0 e 255, ja o tempo pode ser qualquer valor que achar mais parecido com vela
* Dica2:Usar um pino digital PWM para a controlar o brilho do LED
* Dica3: Veja esse video do exemplo https://www.youtube.com/watch?v=iFbnuzDejRw
*/

//DEFINICOES INICIAIS
#define led3 5 //Definido que o pino 5 irá se chamar led3

//DECLARAcAO DE VARIAVEIS GLOBAIS
int tempo=(100,700); //Variável para ser atribuído o valor do tempo , que é de 0,1 a 0,7 segundos
byte brilho=(50,150); //Variável para ser atribuído o valor do brilho , que é de 50 a 150

//INICIALIZAÇÃO DO HARDWARE
void setup() {
pinMode(led3,OUTPUT); //Configurado o pino 5 como saída
}

//FUNÇÕES COMPLEMENTARES


//PROGRAMA PRINCIPAL
void loop() {
analogWrite(led3,brilho);//Quando o programa iniciar o led3 irá acender
random(brilho);//O brilho do led3 irá ter valores aleatórios entre 50 e 150
delay(tempo);//O tempo está sendo atribuído por uma variável do tipo int
random(tempo);//O valor do tempo irá ter valores aleatórios entre 0,1 e 0,7 segundos
}
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

Exercício 1.10 - Luz de Vela  Empty Re: Exercício 1.10 - Luz de Vela

Sáb Jul 04, 2020 12:08 am
Thiago, tem uns erros de conceito nesse programa,
1 - Não pode definir uma variável com dois valores, tipo int a = (10,20); isso dá erro quando declarar a variável pode ou não inicializar ela, e se o fizer coloca um valor somente
2 - Deve ter confundido com a função random(), onde deve definir um valor máximo e minimo dos valores gerados, tipo random(min, max);
3 - Após gerar o numero randômico, pode atribuí-lo numa variável ou aplicar diretamente numa função, tipo brilho = random(10, 20); ou delay(random(10,20));

Só aplicar esses conceitos no programa.

Nota 6.0
Thiaguin
Thiaguin
Mensagens : 177
Data de inscrição : 03/03/2020

Exercício 1.10 - Luz de Vela  Empty Re: Exercício 1.10 - Luz de Vela

Seg Jul 06, 2020 7:29 pm
/*
* CURSO DE ROBOTICA 2019
*
* Exercicio: 1.10
* Tema: Pinos Analógicos
* Atividade: Fazer o led alternar o brilho randomicamente simulando a chama da vela
* Descrição: Usar um pino analógico para controlar o brilho do led randomicamente, assim como o tempo randomico
* Hardware: Ligar um led em um pino digital configurado como SAÍDA ANALÓGICA e atribuir brilho e tempo randomico
* Comandos: pinMode, analogWrite, delay, random
* Dica1:A saída analógica aceita valores entre 0 e 255, ja o tempo pode ser qualquer valor que achar mais parecido com vela
* Dica2:Usar um pino digital PWM para a controlar o brilho do LED
* Dica3: Veja esse video do exemplo https://www.youtube.com/watch?v=iFbnuzDejRw
*/

//DEFINICOES INICIAIS
#define led3 5 //Definido que o pino 5 irá se chamar led3

//DECLARAcAO DE VARIAVEIS GLOBAIS
int tempo=random(100,700); //Variável para ser atribuído o valor do tempo , que é de 0,1 a 0,7 segundos randômicos
byte brilho=random(50,150); //Variável para ser atribuído o valor do brilho , que é de 50 a 150 randomicamente

//INICIALIZAÇÃO DO HARDWARE
void setup() {
pinMode(led3,OUTPUT); //Configurado o pino 5 como saída
}

//FUNÇÕES COMPLEMENTARES


//PROGRAMA PRINCIPAL
void loop() {
analogWrite(led3,brilho);//Quando o programa iniciar o led3 irá acender
brilho;//O brilho do led3 irá ter valores aleatórios entre 50 e 150
delay(tempo);//O tempo está sendo atribuído por uma variável do tipo int
tempo;//O valor do tempo irá ter valores aleatórios entre 0,1 e 0,7 segundos
}
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

Exercício 1.10 - Luz de Vela  Empty Re: Exercício 1.10 - Luz de Vela

Seg Jul 06, 2020 11:56 pm
Tiago, falta pouco, os conceitos estão certos, mas a sequencia dos eventos ainda não.
- o uso da função random fez certo, mas precisa carregar a cada ciclo, pensa comigo, a chama da vela fica alternando o brilho e cintilando, então a cada ciclo deve gerar novos valores.
- Na declaração de variáveis voce carregou com a função random(), mas use isso dentro do loop(), a sequencia é:
1 - carrega o valor do brilho e do tempo randomicamente,
2 - Aplica o valor do brilho no led
3 - temporiza com o valor do tempo
Thiaguin
Thiaguin
Mensagens : 177
Data de inscrição : 03/03/2020

Exercício 1.10 - Luz de Vela  Empty Re: Exercício 1.10 - Luz de Vela

Ter Jul 07, 2020 4:57 pm
/*
* CURSO DE ROBOTICA 2019
*
* Exercicio: 1.10
* Tema: Pinos Analógicos
* Atividade: Fazer o led alternar o brilho randomicamente simulando a chama da vela
* Descrição: Usar um pino analógico para controlar o brilho do led randomicamente, assim como o tempo randomico
* Hardware: Ligar um led em um pino digital configurado como SAÍDA ANALÓGICA e atribuir brilho e tempo randomico
* Comandos: pinMode, analogWrite, delay, random
* Dica1:A saída analógica aceita valores entre 0 e 255, ja o tempo pode ser qualquer valor que achar mais parecido com vela
* Dica2:Usar um pino digital PWM para a controlar o brilho do LED
* Dica3: Veja esse video do exemplo https://www.youtube.com/watch?v=iFbnuzDejRw
*/

//DEFINICOES INICIAIS
#define led3 5 //Definido que o pino 5 irá se chamar led3

//DECLARAcAO DE VARIAVEIS GLOBAIS
int tempo=(100,700); //Variável para ser atribuído o valor do tempo , que é de 0,1 a 0,7 segundos randômicos
byte brilho=(50,150); //Variável para ser atribuído o valor do brilho , que é de 50 a 150 randomicamente

//INICIALIZAÇÃO DO HARDWARE
void setup() {
pinMode(led3,OUTPUT); //Configurado o pino 5 como saída
}

//FUNÇÕES COMPLEMENTARES


//PROGRAMA PRINCIPAL
void loop() {
analogWrite(led3,brilho);//Quando o programa iniciar o led3 irá acender
brilho=random(50,150);//O brilho do led3 irá ter valores aleatórios entre 50 e 150
delay(tempo);//O tempo está sendo atribuído por uma variável do tipo int
tempo=random(100,700);//O valor do tempo irá ter valores aleatórios entre 0,1 e 0,7 segundos
}
Thiaguin
Thiaguin
Mensagens : 177
Data de inscrição : 03/03/2020

Exercício 1.10 - Luz de Vela  Empty Re: Exercício 1.10 - Luz de Vela

Ter Jul 07, 2020 4:57 pm
Assim?
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

Exercício 1.10 - Luz de Vela  Empty Re: Exercício 1.10 - Luz de Vela

Sex Jul 10, 2020 1:35 am
Oi Thiago, isso mesmo, a lógica está correta e o programa funcionou. Nota 10.0

Mas como tutor tenho que falar sobre os detalhes:
1 - o brilho poderia ser até 255, já que o conversor alcança essa escala, seria mais pelo resultado apresentado que pelo programa, por isso não afetou a nota
2 - na sequencia dos comandos eu primeiro iria gerar os números aleatórios depois aplicar no led e no delay(), como é um loop, não afeta o resultado. Mas em outro contexto poderia atrapalhar o funcionamento
Conteúdo patrocinado

Exercício 1.10 - Luz de Vela  Empty Re: Exercício 1.10 - Luz de Vela

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