Escreva um código ARDUINO para criar 10 números aleátorio do intervalo [50,90]. Caso mais de quatro
valores sejam números pares, ligar dois leds, senão desliga-los, por um período de 10 segundos.
Mostrar todos os números aleatorios no monitor.
Não consegui desenvolver esta questão.
ALGORITMOS E IMPLEMENTAÇÕES ⇒ Algoritmos - Arduino Tópico resolvido
Moderador: [ Moderadores TTB ]
-
- Mensagens: 494
- Registrado em: Ter 23 Mai, 2017 16:46
- Última visita: 24-08-23
- Localização: Paraíba
Mai 2020
13
19:23
Re: Algoritmos - Arduino
<
//Segue os prints da execução do programa
Código: Selecionar todos
#include <stdio.h>
#include <stdlib.h>
#include <LiquidCrystal.h>
//Define os pinos que serão utilizados para ligação ao display
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
int numero[10];
int n_par = 0;
int c = 0;
int d = 0;
int i = 0;
int min = 50;
int max = 90;
//-------------------------------------------------------------
void setup() {
//Define o número de colunas e linhas do LCD
lcd.begin(16, 2);
pinMode(0, OUTPUT);
pinMode(1,OUTPUT);
//Inicializa o gerador de numeros pseudoaleatorios, fazendo ler uma entrada aleatória (pino desconectado, por exemplo).
randomSeed(analogRead(0));
}
void loop(){
//Limpa a tela
lcd.clear();
//Gerando 10 numeros aleatórios
for (i = 0; i < 10; i++)
{
numero[i] = random(50,90);//Gera numeros aleatórios entre 50 e 90
if (numero[i]%2 == 0) //Verifica se um número é par
{
n_par = n_par + 1;
}
//Envia dos dados para o LCD
if (c < 13)
{
lcd.setCursor(c, 0); // Controle do cursor para impressao na LCD
lcd.print(numero[i]);
c = c + 3;
}
else if (d < 13)
{
lcd.setCursor(d, 2); // Controle do cursor para impressao na LCD
lcd.print(numero[i]);
d = d + 3;
}
}
if (n_par > 4)//Se a quantidade de numeros pares for maior do que 4 faça os pinos 1 e 2 (ligado aos leds) nivel alto
{
digitalWrite(0, HIGH);
digitalWrite(1, HIGH);
delay(1000);
c = d = n_par = 0; //Zera, para controlar a nova sequencia de numeros aleatorios.
}
else //Se a quantidade de numeros pares for menor do que 4 faça os pinos 1 e 2 (ligado aos leds) nivel nivel baixo por 10 segundos
{
digitalWrite(0, LOW);
digitalWrite(1, LOW);
delay(10000);
c = d = n_par = 0; //Zera, para controlar a nova sequencia de numeros aleatorios.
}
}
Sem sacrifício não há vitória.
-
- Tópicos Semelhantes
- Respostas
- Exibições
- Última msg
-
- 2 Respostas
- 2100 Exibições
-
Última msg por PeterPark