Você está na página 1de 6

Mini curso de Introdução aos Microcontroladores utilizando Arduino – Lista de Exercícios

 Exercício 01 – Você deve fazer o led conectado ao pino 13 do Arduino piscar com intervalo
de 1s (“Hello World”)

Ajuda: Digite o seguinte código na IDE do Arduino e carregue:

void setup() {

// put your setup code here, to run once:

pinMode(13,OUTPUT);

void loop() {
// put your main code here, to run repeatedly:

digitalWrite(13,HIGH);
delay(1000);
digitalWrite(13,LOW);
delay(1000);

 Exercício 02 – Você deve conectar um led ao pino 12 do arduino e fazê-lo piscar com
intervalo de tempo de 1s

Ajuda: Excute a seguinte montagem, e utilize o código do exercício anterior como base para este.

Rua José Correia de Aguiar, 361 – Jardim Leblon| 87053-276 | Maringá PR


(44) 3293-6700 / www.senaipr.org.br
 Exercício 03 – Você deve agora utilizar 6 leds vermelhos para fazer a seguinte combinação:
três ficam acesos e três apagados. Depois inverte! O intervalo de tempo deve ser 500ms.

 Exercício 4 – Fazer um sequencial com os leds vermelhos.

 Exercício 5 – Você deve fazer um semáforo sequencial igual aos utilizados em nossa cidade.
Para isso você vai precisar de 6 leds vermelhos, 6 verdes, e 1 amarelo.

Ajuda: Execute por exemplo a montagem abaixo:

Exercício 6 – Utilize um botão para acionar um led quando pressionado.

Ajuda: Execute a montagem abaixo e digite o código:

Rua José Correia de Aguiar, 361 – Jardim Leblon| 87053-276 | Maringá PR


(44) 3293-6700 / www.senaipr.org.br
int estadoBotao = 0;

void setup()
{
pinMode(2, INPUT);
pinMode(4, OUTPUT);
}

void loop()
{
estadoBotao = digitalRead(2); //O comando digitalRead lê o botão
if (estadoBotao == HIGH) { // Se o botão for pressionado == HIGH
digitalWrite(4, HIGH); // turn LED on
}
else { // senão
digitalWrite(4, LOW); //desligue o pino 4
}
}

 Exercício 7 – executar um circuito que utilize dois botões: 1 botão para ligar o led e outro
botão para desligar o mesmo led.

 Exercício 8 – executar uma programação que acenda um led pelo monitor serial

Ajuda: Execute a montagem abaixo e digite o código:

int led = 13;


char tecla; //inicializa uma variável do tipo char chamada tecla

void setup(){
Serial.begin(9600);
pinMode(led, OUTPUT);
}

void loop()
{
tecla = Serial.read();
if(tecla == 'l'){
digitalWrite(led, HIGH);
}

else if(tecla == 'd'){


digitalWrite(led, LOW);
}
delay(1000);
}

Rua José Correia de Aguiar, 361 – Jardim Leblon| 87053-276 | Maringá PR


(44) 3293-6700 / www.senaipr.org.br
Exercício 9 - Tecla de dupla função: A programação abaixo utiliza um único botão que faz a função de
ligar e desligar. Basta digitar o código abaixo:

int led1 = 13; //led ligado ao pino 13


int botao1 = 7; // botão ligado ao pino 7
int estadobotao1; //armazena o valor 0 ou 1 caso o botão seja
apertado
int anterior1 = 0;
int estadoled1 = 0; //esta variável irá armazenar o estado 0 ou 1
para o led

void setup() {
// put your setup code here, to run once:
pinMode(led1,OUTPUT);
pinMode(botao1,INPUT);

}
void loop() {
// put your main code here, to run repeatedly:

estadobotao1 = digitalRead(botao1); //obtém LOW (botão não


pressionado) e HIGH (botão pressionado)

if (estadobotao1 == HIGH && anterior1 == LOW) { //se o botão for


apertado e estado anterior estiver zero (botão não apertado)
estadoled1 = !estadoled1; //inverta o estado do led (se era 0 vira
1 ao apertar o botão)
}

digitalWrite(led1,estadoled1); //escreva no led o estadoled1.


anterior1 = estadobotao1; //armazena no anterior1 o estado do botão
se ele não estiver apertado então anterior 1 fica igual 0.
delay (50);
}

Rua José Correia de Aguiar, 361 – Jardim Leblon| 87053-276 | Maringá PR


(44) 3293-6700 / www.senaipr.org.br
DESAFIO FINAL: O programa abaixo controla dois reles com 2 botões. Execute a montagem e teste
o programa.

int rele1 = 7; //Rele 1 ligado ao pino 7


int rele2 = 8;

int botao1 = 2; //Botao 1 ligado ao pino 2


int botao2 = 3;

int estadorele1 = 1; //Armazena o estado do rele- 0(LOW)ou 1(HIGH)


int estadorele2 = 1;

int estadobotao1 = 0;//Armazena o valor lido dos botoes


int estadobotao2 = 0;

void setup()
{
pinMode(rele1, OUTPUT); //Define pinos para o rele como saida
pinMode(rele2, OUTPUT);

pinMode(botao1, INPUT); //Define pinos dos botoes como entrada


pinMode(botao2, INPUT);

digitalWrite(rele1, HIGH); //Estado inicial dos reles -


desligados
digitalWrite(rele2, HIGH);
}

void loop()
{
estadobotao1 = digitalRead(botao1); //Verifica o acionamento do
botao 1
if (estadobotao1 != 0)
{
while(digitalRead(botao1) != 0){
delay(100);
Rua José Correia de Aguiar, 361 – Jardim Leblon| 87053-276 | Maringá PR
(44) 3293-6700 / www.senaipr.org.br
}
estadorele1 = !estadorele1; //Inverte o estado da porta
digitalWrite(rele1, estadorele1);//Comandos para o rele 1
}
estadobotao2 = digitalRead(botao2);
if (estadobotao2 != 0){
while(digitalRead(botao2) != 0)
{
delay(100);
}
estadorele2 = !estadorele2;
digitalWrite(rele2, estadorele2);
}
}

Foi um prazer ter você em nosso minicurso. Esperamos que tenha


gostado. Permanecemos sempre à disposição!

Prof. Tales Vitor Nonato


tales.nonato@sistemafiep.org.br
(44) 99926 - 0496
(44) 3293 - 6726

Rua José Correia de Aguiar, 361 – Jardim Leblon| 87053-276 | Maringá PR


(44) 3293-6700 / www.senaipr.org.br

Você também pode gostar