Sei sulla pagina 1di 3

Experimento: Acionamento de LED pelo Serial Monitor

Objetivo
Utilizar o serial monitor para alterar o estado de três LEDs separadamente.
Enviando a letra “R” ou “r” (Red), você altera o LED vermelho; enviando a letra
“G” ou “g” (Green), o LED verde será alterado, e com a letra “Y” ou “y” (Yellow),
o LED amarelo será afetado.

Material utilizado
1 - Arduino Uno R3

2 - Cabo USB

3 - Protoboard

4 – Resistores de 330Ω

5 – LED’s Vermelho, Verde e Amarelo

6 - Alguns jumpers

Ligações
1 – Ligar a porta digital 10 do Arduino ao resistor de 330 Ohms que, por sua
vez, deve ser ligado ao anodo (+) do LED amarelo. O catodo do LED deve ser
aterrado, ou seja, ligado ao barramento GND (–);

2 – Ligar a porta digital 9 do Arduino ao resistor de 330 Ohms que, por sua
vez, deve ser ligado ao anodo (+) do LED verde. O catodo do LED deve ser
aterrado, ou seja, ligado ao barramento GND (–);

3 – Ligar a porta digital 8 do Arduino ao resistor de 330 Ohms que, por sua
vez, deve ser ligado ao anodo (+) do LED vermelho. O catodo do LED deve ser
aterrado, ou seja, ligado ao barramento GND (–);
4 – Ligar o GND do Arduino ao barramento “negativo” (onde estão ligados os
catodos dos LEDs);

Montagem

Código
//variável que guarda o dado vindo da serial
char leitura;

//define os pinos onde os LEDs estão conectados


#define ledRed 8

#define ledGreen 9

#define ledYellow 10

void setup() {

//Inicializa comunicação Serial a 9600


Serial.begin(9600);

//Configura os pinos dos LEDs como saída


pinMode(ledRed, OUTPUT);

pinMode(ledGreen, OUTPUT);

pinMode(ledYellow,OUTPUT);

//Mantém os LEDs desligados assim que iniciar o programa


digitalWrite (ledRed, LOW);

digitalWrite (ledGreen, LOW);


digitalWrite (ledYellow, LOW);

void loop() {

//Verifica se há algum dado no conector serial


while (Serial.available() > 0) {

//Lê o dado vindo da Serial e armazena na variável leitura


leitura = Serial.read();

//Se a variável leitura for igual a 'r' ou 'R' Inverte o valor


do LED vermelho

// As duas || é a operação booleana OU


if (leitura == 'r' || leitura =='R'){

digitalWrite(ledRed,!digitalRead(ledRed));

// Se ela for igual a 'g' ou 'G' Inverte o valor do LED Verde


else if (leitura == 'g' || leitura =='G'){

digitalWrite(ledGreen,!digitalRead(ledGreen));

//Se ela for igual a 'y' ou 'Y' Inverte o valor do LED Verde

else if (leitura == 'y' || leitura =='Y'){

digitalWrite(ledYellow,!digitalRead(ledYellow));

Serial.println(leitura);

Potrebbero piacerti anche