Com tecnologia do Blogger.

Exercícios 2

Exercício 2


Para um led mudar de cor, temos de usar a instrução delay, para decidir quanto tempo demora a mudar de cor. Sabendo que 1000ms é igual a 1 segundo.
Qual das seguintes respostas fará o led pisca de 5 em 5 segundos?


Pontos: 1
delay(5);
delay(5000);
delay(500);

Exercícios






Exercício 1

Está uma resistência de 270Ω que por sua vez esta conectado ao pin positivo do LED, o pin negativo do LED esta ligado ao ground. O LED esta ligado ao A5 do arduino.


Qual dos codigos Acende o LED?

PONTOS:
0


digitalWrite(6, LOW);
delay(1000);
digitalWrite(5, LOW);

Pager

The .pager class provides previous and next buttons (links):

Arduino - Potenciómetro

POTENCIÓMETRO MONTAGEM

POTENCIÓMETRO CÓDIGO ARDUINO

Antes do void setup, temos de identificar o novo componente que vamos inserir na breadboard!
Por isso, vamos agora identificar o Potenciómetro e dizer em que Pin do Arduino Nano ele está conectado. 

Se olharmos para a breadboard reparamos que o Potenciómetro está conectado ao Pin A4 do Arduino Nano.

Vamos então acrescentar, antes do ‘void setup’, o seguinte:

const int PotPin = A4;

SPEAKER-
CÓDIGO ARDUINO-
CONFIGURAÇÃO


POTENCIÓMETRO CÓDIGO ARDUINO EXERCÍCIO 1

Agora que já identificamos o Potenciómetro e lhe demos um nome (PotPin), precisamos de perceber que valores é que o pontenciómetro nos está a fornecer e trabalhar com eles.
Por isso vamos agora perceber como ler os valores que os INPUTS nos dão, neste caso o Potenciómetro.
Vamos então escrever, no ‘void setup’, o seguinte:
Serial.begin(9600);

POTENCIÓMETRO CÓDIGO ARDUINO EXERCÍCIO 2



Agora que já preparamos tudo, vamos dizer ao Arduino que queremos ler o Potenciómetro. Vamos então escrever, antes do ‘void setup’, o seguinte: int PotPinReading = 0; e também, no ‘void loop’, o seguinte:
PotPinReading = analogRead(PotPin);
Serial.println(PotPinReading);

Resolução

POTENCIÓMETRO CÓDIGO ARDUINO EXERCÍCIO 3

Agora que tudo está pronto, vamos ler!
Vamos ao menu de cima do programa Arduino:

Ferramentas / Monitor Série


Quando abrimos o Monitor Série aparecem os valores que o Potenciómetro envia para o Arduino. Se mexermos no Potenciómetro reparamos que os valores alteram!


POTENCIÓMETRO CÓDIGO ARDUINO EXERCÍCIO 4

Finalmente temos os valores que o potenciómetro nos dá, agora vamos utilizá-los! Para os utilizar basta referir

‘PotPinReading’!


Vamos então fazer com que o Led Vermelho pisque, mas desta vez quem define o ‘delay’ é o potenciómetro!

Vamos então acrescentar, no ‘void loop’, o seguinte:

digitalWrite(LedRed,HIGH);
delay(PotPinReading);
digitalWrite(LedRed,LOW);
delay(PotPinReading);




POTENCIÓMETRO CÓDIGO ARDUINO EXERCÍCIO 5

Vamos então fazer uma música, mas desta vez quem define a nota é o potenciómetro!
Vamos então colocar, no ‘void loop’, o seguinte:

tone(Speaker, PotPinReading);
delay(1000);
noTone(Speaker);
delay(1000);



Arduino - Comando If-Else



IF/ELSE CÓDIGO ARDUINO - CONFIGURAÇÃO

O que é? Como funciona?

O comando If/Else (Se/Se não) funciona da mesma maneira que dizermos o seguinte:

Se
atirar a moeda ao ar e calhar cara, ganho!
Se não
perco.

IF/ELSE CÓDIGO ARDUINO - TESTE

Vamos deixar no void loop apenas as leituras dos sensores. E vamos fazer com que o Led Vermelho acenda quando se carrega no botão! Vamos escrever o seguinte código, para percebermos como funciona o If/Else.

if (ButReading < 1)
{
digitalWrite(LedRed,HIGH);
}
else
{
digitalWrite(LedRed,LOW);
}

RESOLUÇÃO


Arduino - Botão

BUTTON CÓDIGO ARDUINO

Vamos identificar o Botão (Button), como se pode ver, está no Pin A0 do Arduino Nano.

Portanto, antes do ‘void setup’, a identificação do componente:


const int But = A0;
int ButReading = 0;



EXERCÍCIO 1


Tal como com os outros INPUTS (os dois potenciómetros e o Ldr), precisamos de ler os valores que este sensor
nos vai dar.


No ‘void loop’, vamos adicionar antes dos anteriores códigos de leitura, como fizemos nos anteriores:


ButReading = analogRead(But);
Serial.print(ButReading);
Serial.print(" - ");
LdrReading = analogRead(Ldr);
Serial.print(LdrReading);
Serial.print(" - ");
...


Arduino - Sensor de Luz

LDR MONTAGEM SENSOR DE LUZ

LDR CÓDIGO ARDUINO - CONFIGURAÇÃO

Vamos identificar o Sensor de Luz (LDR), como se pode ver, está no Pin A6 do Arduino Nano.

Portanto, antes do ‘void setup’, a identificação do componente:

const int Ldr = A6;
int LdrReading = 0;

RESOLUÇÃO

LDR CÓDIGO ARDUINO - EXERCÍCIO 1

Tal como com os outros INPUTS (os dois potenciómetros), precisamos de ler os valores que este sensor nos vai

dar.

No ‘void loop’, vamos adicionar (a preto) antes dos anteriores códigos de leitura (a vermelho):

LdrReading = analogRead(Ldr);
Serial.print(LdrReading);
Serial.print(" - ");
PotSliReading = analogRead(PotSli);
Serial.print(PotSliReading);
Serial.print(" - ");
PotPinReading = analogRead(PotPin);
Serial.println(PotPinReading);

RESOLUÇÃO

LDR CÓDIGO ARDUINO - EXERCÍCIO 2

Vamos apenas substituir um dos potenciómetros pelo sensor de luz no nosso código!

Por exemplo, o tom da nota agora vai ser definido pelo sensor de luz!

Desta vez, sem ajudas!

RESOLUÇÃO

Arduino - Potenciómetro Slider


POTENCIÓMETRO MONTAGEM

SLIDER CÓDIGO ARDUINO - CONFIGURAÇÃO

Vamos identificar o Potenciómetro Slider, está no Pin A2 do Arduino Nano.

Antes do ‘void setup’:

const int PotSli = A2;
int PotSliReading = 0;

RESOLUÇÃO

SLIDER CÓDIGO ARDUINO - EXERCÍCIO 1

Tal como com o outro Potenciómetro, precisamos de ler os valores que este potenciómetro nos está a dar. Depois de adicionarmos o código seguinte, podemos no Monitor Série ler os dois potenciómetros!

No ‘void loop’, vamos adicionar (a preto) antes da leitura do anterior potenciómetro (a vermelho):

PotSliReading = analogRead(PotSli);
Serial.print(PotSliReading);
Serial.print(" - ");
PotPinReading = analogRead(PotPin);
Serial.println(PotPinReading);

RESOLUÇÃO

SLIDER CÓDIGO ARDUINO EXERCÍCIO 2

Vamos dizer que este Potenciómetro Slider vai definir o delay do anterior exercício do Speaker.

No ‘void loop’ vamos colocar o seguinte:

tone(Speaker, PotPinReading);
delay(PotSliReading);
noTone(Speaker);
delay(PotSliReading);

RESOLUÇÃO

Arduino - Speaker



 SPEAKER MONTAGEM ALTO-FALANTE





SPEAKER CÓDIGO ARDUINO - CONFIGURAÇÃO

Antes do void setup, temos de identificar todos os componentes que vamos referir no código.

Por isso, vamos agora identificar o Speaker e dizer em que Pin do Arduino Nano ele está conectado. Se olharmos para a breadboard reparamos que o Speaker está conectado ao Pin 2 do Arduino Nano e ao GND (Ground).

Vamos então acrescentar, antes do ‘void setup’, o seguinte:

const int Speaker = 2;

SIGNIFICADO DAS PALAVRAS

const = constante
int = inteiro

RESOLUÃO



SPEAKER CÓDIGO ARDUINO - EXERCÍCIO 1

Agora que já identificamos o Speaker e lhe demos um nome (Speaker), o Arduino sabe que o Speaker é o componente que está ligado ao Pin 2. Por isso, vamos agora dizer que queremos o Speaker a fazer um tom.

De 1 a 2000 cada número representa uma nota, ou um tom, sendo que mais pequeno é mais grave e mais perto do 2000 é mais agúdo. O 0 (zero) não é nenhuma nota.

Vamos então escrever, no ‘void loop’, o seguinte:

tone(Speaker,500);

RESOLUÃO

SPEAKER CÓDIGO ARDUINO - EXERCÍCIO 2

Agora que já metemos o Speaker a tocar sem fim, vamos fazer com que toque 1 segundo e depois fique 1 segundo sem tocar.

Vamos então escrever, no ‘void loop’, o seguinte:

tone(Speaker,500);
delay(1000);
noTone(Speaker);
delay(1000);


SIGNIFICADO DAS PALAVRAS

noTone = sem tom (Código 

para o Speaker parar de tocar 

o código anterior)

RESOLUÃO

SPEAKER CÓDIGO ARDUINO - EXERCÍCIO 3

Feitas as experiencias com o Speaker, vamos agora juntar o Speaker e os Leds!

Vamos fazer o seguinte: quando o Led Vermelho acender, toca a nota 500. Depois, quando acender o Verde, toca a nota 400. Por fim, quando o Led Azul acender, toca a nota 300!

Desta vez não vamos ajudar!

Boa sorte!

RESOLUÃO

Arduino - Leds

Arduino Leds

A breadboard já vai montada, tal como se visualiza na
imagem ao lado, com os seguintes componentes:

  •  Arduino Nano
  • Fios unifilares
    •  Laranja (5)
    •  Verde (4)
    •  Azul (3)
    • Amarelo (1)
    • Rosa (1)
    •  Roxo (1)
  •  Resistências
    • 270 Ohm (3)
    • 10K Ohm (1)





LED RED MONTAGEM LED VERMELHO


LED RED CÓDIGO ARDUINO - CONFIGURAÇÃO



Antes do void setup, temos de identificar todos os componentes que vamos referir no código.

Por isso, vamos agora identificar o Led Red (LED Vermelho) e dizer em que Pin do Arduino Nano ele está conectado. Se olharmos para a breadboard reparamos que o Led Red está conectado ao Pin 12 do Arduino Nano e ao GND (Ground).

Vamos então escrever, antes do ‘void setup’, o seguinte:

const int LedRed = 12;

SIGNIFICADO DAS PALAVRAS

const = constante
int = inteiro


RESOLUÇÃO

LED RED CÓDIGO ARDUINO - EXERCÍCIO 1

Agora que já identificamos o Led e lhe demos um nome (LedRed), o Arduino sabe que ‘LedRed’ é o componente que está ligado ao Pin 12.

Por isso, vamos agora dizer que queremos o ‘LedRed’ aceso!

Vamos então escrever, no ‘void loop’, o seguinte:

digitalWrite(LedRed, HIGH);

SIGNIFICADO DAS PALAVRAS

digitalWrite = Código para o Led
HIGH = Em cima, ligado


RESOLUÇÃO

LED RED CÓDIGO ARDUINO - EXERCÍCIO 2


O Led está agora aceso.

Vamos agora fazer o Led piscar, de 1 em 1 segundo. É importante referir que o código Arduino trabalha em milisegundos, por isso: 1 segundo na realidade = 1000 no Arduino.

Vamos então escrever, no ‘void loop’, o seguinte:

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

SIGNIFICADO DAS PALAVRAS

delay = tempo de espera
LOW = Em baixo, desligado

RESULTADO

LED GREEN MONTAGEM LED VERDE


LED GREEN CÓDIGO ARDUINO - CONFIGURAÇÃO

Antes do void setup, temos de identificar o componente que vamos adicionar.

Por isso, vamos agora identificar o Led Green (LED Verde) e dizer em que Pin do Arduino Nano ele está conectado. Se olharmos para a breadboard reparamos que o Led Green está conectado ao Pin 9 do Arduino Nano e ao GND (Ground).

Vamos então acrescentar, antes do ‘void setup’, o seguinte:

const int LedGreen = 9;

RESOLUÇÃO


LED GREEN CÓDIGO ARDUINO - EXERCÍCIO 3

Queremos agora fazer com que os dois Leds fiquem acesos ao mesmo tempo, tanto o Red como o Green.

Vamos então substituir o que está escrito no ‘void loop’, pelo seguinte:

digitalWrite(LedRed, HIGH);
digitalWrite(LedGreen, HIGH);

RESOLUÇÃO

LED GREEN CÓDIGO ARDUINO - EXERCÍCIO 4

Temos os dois Leds ligados (Red e Green), vamos agora fazer com que pisquem os 2, ao mesmo tempo.

Vamos então substituir o que está escrito no ‘void loop’, pelo seguinte:

digitalWrite(LedRed, HIGH);
digitalWrite(LedGreen, HIGH);
delay(1000);
digitalWrite(LedRed, LOW);
digitalWrite(LedGreen, LOW);
delay(1000);

RESOLUÇÃO


LED GREEN CÓDIGO ARDUINO EXERCÍCIO 5

Temos os dois Leds a piscar ao mesmo tempo, Red e Green. Vamos agora fazer com que pisquem
alternadamente!

Vamos então substituir o que está escrito no ‘void loop’, pelo seguinte:

digitalWrite(LedRed, HIGH);
digitalWrite(LedGreen, LOW);
delay(1000);
digitalWrite(LedRed, LOW);
digitalWrite(LedGreen, HIGH);
delay(1000);

RESOLUÇÃO

LED BLUE MONTAGEM LED AZUL

LED BLUE CÓDIGO ARDUINO - CONFIGURAÇÃO

Antes do void setup, temos de identificar o componente que vamos adicionar.

Por isso, vamos agora identificar o Led Blue (LED Azul) e dizer em que Pin do Arduino Nano ele está conectado. Se olharmos para a breadboard reparamos que o Led Blue está conectado ao Pin 6 do Arduino Nano e ao GND(Ground).

Vamos então acrescentar, antes do ‘void setup’, o seguinte:

const int LedBlue = 6;

RESOLUÇÃO

LED BLUE CÓDIGO ARDUINO - EXERCÍCIO 6

Vamos fazer com que os leds se acendam 1 a 1, primeiro o vermelho, depois o verde e, em seguida, o azul.
Vamos então substituir o que está escrito no ‘void loop’, pelo seguinte:

digitalWrite(LedRed, HIGH);
digitalWrite(LedGreen, LOW);
digitalWrite(LedBlue, LOW);
delay(1000);
digitalWrite(LedRed, LOW);
digitalWrite(LedGreen, HIGH);
digitalWrite(LedBlue, LOW);
delay(1000);
digitalWrite(LedRed, LOW);
digitalWrite(LedGreen, LOW);
digitalWrite(LedBlue, HIGH);
delay(1000);

RESOLUÇÃO

LEDS CÓDIGO ARDUINO

Se quiseres que sejam mais rápidos a alternar ou piscar, podes alterar o valor do delay. Não esquecer que o valor está em milisegundos.

500 = 0,5 segundos
250 = 0,25 segundos

Por exemplo:

delay(500);
ou
delay(250);

Arduino - Configuração

ARDUINO COMO FUNCIONA


  • O programa Arduino é bastante fácil de configurar.
  • Vamos por passos para percebermos melhor como funciona!


ARDUINO CONFIGURAÇÕES


  • Vamos ao Menu de topo / Ferramentas /Placa / Arduino Nano



Vamos ao Menu de topo / Ferramentas /Porta / COM? (no meu caso, COM20)



Agora que já temos o Arduino configurado, vamos perceber como saber se o código está pronto para ser enviado para a placa.

● Carregar no Icon da esquerda, por baixo do Menu de topo. (Se passarmos o rato por cima do icon, aparece ao lado Verificar, como demonstrado na imagem a baixo)


Para saber se o código está correcto, depois de carregar em ’Verificar’ tem de aparecer a seguinte mensagem na parte de baixo:
             
"Compilação Terminada"

Se a mensagem está correcta, significa que podemos enviar o código para o Arduino. Vamos passar para o passo seguinte.

Se chegamos aqui é porque o código está correcto e pode agora ser enviado para o Arduino, para isso só temos de clicar no icon que se situa do lado direito do Verificar, 
‘Upload’.
Para confirmar que o código foi correctamente enviado para o Arduino aparece a seguinte mensagem na parte de baixo:
Carregamento completo
Sempre que o código for alterado e se quiser testar, tem de se carregar em Upload e receber a mensagem
‘Carregamento completo’.
Agora é começar a aprender a programar!

Boa sorte!