domingo, 26 de abril de 2015

Ligando Display com módulo I2C

Fala galera, beleza? Nessa postagem iremos ver como se liga um display no Arduino, com o display podemos fazer de tudo um pouco, podemos simplesmente escrever nossos nomes, podemos ligar com um sensor de temperatura e umidade e ver ambos no display, podemos ligar um sensor de água e ver se o local está molhado, entre outros projetos... O display do post tem o módulo I2C embutido, com ele, não utilizaremos o potenciômetro.



Os materiais necessários são:
  • 1 Arduino
  • 1 Protoboard (opcional se ligado somente o display)
  • 4 Fios 
  • 1 Display I2C
 Como disse à cima, que a protoboard é opcional, não irei utilizá-la. A ligação é feita da seguinte maneira:
 Ao GND será ligado um fio até o GND do Arduino, no VCC será ligado um fio até a porta de entrada de energia de 5V, no SDA será ligado um fio na porta analógica 4 do Arduino e o SCL será ligado na porta analógica 5. Como mostra o esquema abaixo

 Agora que já ligamos o Display ao Arduino, vamos para a IDE:
 Para controlar o módulo I2C, é necessário ter em sua IDE a biblioteca do módulo que pode ser baixada clicando aqui. Depois de ter baixado o arquivo, descompactado e incluido na livraria, coloque esse código na IDE



   
   

  1.  #include <Wire.h> 
  2. #include <LiquidCrystal_I2C.h> // Inclui a biblioteca
  3.  LiquidCrystal_I2C lcd(0x27,2,1,0,4,5,6,7,3, POSITIVE); // inicializa o display no endereço 0x27
  4.  
  5. void setup ()
  6. {
  7.  lcd.begin (16,2);
  8. }
  9.  
  10. void loop ()
  11. {
  12. lcd.setBacklight (HIGH); // Comando para acender o display
  13. lcd.setCursor (0,0); // Linha em que a mensagem será escrita
  14. lcd.print ("M.a.r.d.u.i.n.o."); // Mensagem 
  15. lcd.setCursor (0,1); // Linha em que a mensagem será escrita
  16. lcd.print ("........o.s......"); // Mensagem
  17. delay (0); // Tempo do display aceso
  18. lcd.setBacklight (LOW); // Desliga o display
  19. delay(0); // Tempo em que o display ficará desligado
  20. }
 




   

  

terça-feira, 14 de abril de 2015

Sirene utilizando um buzzer e um led.

 Fala galera, beleza? Hoje iremos ver como se faz uma sirene utilizando um buzzer e um led. O mareial necessário para esse projeto é:

  • 1 Arduino;
  • 1 Protoboard;
  • 1 Led;
  • 1 Buzzer;
  • 5 Fios;
  • 2 resistores 220ohm.



















 A ligação dos componentes serão o seguinte:
 Do mesmo jeito que montarmos o led, iremos montar o buzzer, ou seja, no anodo do led, colocaremos um resistor de 220ohm (LEMBRANDO, pode ser colocado um resistor de menor resistência no buzzer, ele ficará com o som mais alto, e, no led, pode ser colocado um de maior resistência, ele só mudará a tensão da luminosidade do led, ficará mais fraco, mas nunca coloque um resistor de menor resistência em um led), e no catodo colocaremos um fio que vai ser ligado na fileira negativa da Protoboard. No buzzer, no negativo será ligado um fio até a fileira negativa da Protoboard, e no positivo colocaremos um resistor de 220ohm. 













 Do outro lado dos dois resistores colocaremos um fio que será ligado em algum pino da porta digital do Arduino, eu coloquei o led no pino 8 e o buzzer no pino 7. Da fileira negativa da Protoboard será ligado um fio no GND do Arduino até ela. Ficará assim:
 












Montando esboço na IDE
 
 

















  1. void setup ()
  2. {
  3.   pinMode(7, OUTPUT); // buzzer
  4.   pinMode(8, OUTPUT); // led
  5. }
  6.  
  7. void loop ()
  8. {
  9. digitalWrite (8,HIGH); // Acende o led
  10. tone (7,262,200); // Toca o buzzer em tonalidade de dó, em 262Hz
  11. delay (200); // Deixa o buzzer tocando em 262Hz, e o led ativado por 200 milésimos de segundos
  12. digitalWrite (8,LOW); // Apaga o led
  13. tone (7,330,200); // Toca o buzzer em tonalidade de Mi, em 330Hz 
  14. delay (200); // Tempo em que o led ficará apagado e o buzzer tocando em 330Hz.
  15. }

Ligando um buzzer com o Arduino

   E aí galera, beleza? Hoje estaremos vendo como faz para emitir sons através de um buzzer.
Materiais necessários:


  • 1 Arduino
  • 1 Protoboard
  • 1 Buzzer
  • 1 Resistor de 220ohm
  • 2 Fios











Ligação na Protoboard 
   Coloque o buzzer na protoboard, no positivo do buzzer, que está indicado em cima dele com um sinal de positivo (+), coloque um resistor de 220ohm (pode ser maior o valor, só que o som sairá mais fraco). Do outro lado do resistor coloque um fio que será ligado a alguma porta digital do Arduino. No negativo do Buzzer coloque um fio que será ligado ao GND do Arduino.
















  O esquema montado  ficará assim:


















  Agora a parte mais "complicada", montar o esboço no IDE, uma coisa legal do buzzer é que além de uma "buzininha" podemos criar músicas com ele, variando a frequência sonora, as frequências são:

Dó: 262 Hz
Ré: 294 Hz
Mi: 330 Hz
Fá: 349 Hz
Sol: 392 Hz
Lá: 440 Hz
Si: 523 Hz

  No buzzer, o comando TONE tem o seguindo formato  "tone(pino, frequência, duração)"

Esboço na IDE

  1.  void setup ()
  2. {
  3. pinMode (10,OUTPUT); // buzzer ligado no pino 10, porta funcionando como saída
  4. }
  5.  
  6. void loop ()
  7. {
  8. tone(10, 262,200); // dó
  9. delay(200); // tempo
  10. tone (10,294,300); // ré
  11. delay(200);// tempo
  12. tone (10,330,300); // mi
  13. delay(200); // tempo
  14. tone(10,349,300); // fá
  15. delay(200); // tempo
  16. tone(10,392,200); // sol
  17. delay(200); //tempo
  18. tone(10,440,200); // lá
  19. delay(200); // tempo
  20. tone(10,523,200); // si
  21. delay(300); // tempo
  22. }

segunda-feira, 13 de abril de 2015

Farol de trânsito com o Arduino

  E aí galera, beleza? Depois de explicar como faz um led piscar, que tal fazermos um farol de trânsito? Um dos melhores exemplos e exercícios para se fazer. Vamos lá, o material necessário é:


  • 1 Arduino
  • 1 Protoboard
  • 3 Leds
  • 3 Resistores de 220ohm
  • 7 Fios













   Coloque os leds no protoboard, no anodo de cada led, deverá ser colocado um resistor de 220ohm (foto 1) , e no catodo dos leds, irão os fios ligados à fileira negativa da protoboard (foto 2). 















*Foto 1

















*Foto 2



 Feito isso, na mesma fileira do resistor onde não está ligado à nada, coloque um fio em cada um e ligue-os nas portas digitais do Arduino e coloque um fio da fileira negativa da protoboard ligado no GND do Arduino (eu usei as portas digitais 9, 10 e 11). Uma dica que eu dou, que fica mais fácil de se encontrar no meio de tanto fio, é usar os fios com as cores semelhantes aos leds, e SEMPRE use o positivo com um fio vermelho e o negativo com um fio vermelho.
 O esquema todo montado fica assim: 















  Agora, que já montamos no protoboard e no Arduino, vamos para a IDE. Para acender um led, não precisamos baixar nenhuma livraria específica, a IDE do Arduino já vem com ela. Então, vamos lá!

  1.  void setup()
  2. {
  3. pinMode (9, OUTPUT); // led amarelo
  4. pnMode (10, OUTPUT); // led vermelho
  5. pinMode (11, OUTPUT); // led verde
  6. }
  7.  
  8. void loop ()
  9. {
  10. digitalWrite (11, HIGH); // acende o led VERDE
  11. delay (4000); // deixa o led verde 4 segundos aceso
  12. digitalWrite (11, LOW); // apaga o led VERDE
  13. digitalWrite (9, HIGH); // acende o led AMARELO
  14. delay (2000); // deixa o led amarelo aceso por 2 segundos
  15. digitalWrite (9,LOW); // apaga o led AMARELO
  16. digitalWrite (10, HIGH); // acende o led VERMELHO
  17. delay (5000); deixa o led vermelho 5 segundos aceso 
  18. digitalWrite (10,LOW); // apaga o led VERMELHO

O que é a IDE?

  IDE se refere à Integrated Development Environment. Um ambiente integrado para desenvolvimento de softwares para o computador e celular.
  A IDE do Arduino ela tem uma linguagem em C/C++, e contém várias livrarias em sua pasta, dependendo do sensor que será usado no seu projeto, precisará fazer o download da livraria daquele sensor.




A IDE do arduino é essa da foto, e o que está programado nela é o exemplo do primeiro projeto que fizemos, fazendo o led piscar.
 Agora explicando um pouco dos comandos básicos da programação do Arduino

  • void setup () é o comando de quando o esboço começa, é a função de configuração que será usado apenas uma vez, ele é usado para inicializar variáveis, modos, pinos, livrarias, etc

  • void loop () faz o que seu nome já diz, o "loop" faz repetir todas as funções dadas no esboço
  • pinMode ();  o pinMode, no próprio nome dá para ver o que significa pin = pino e Mode = modo em que está, Ele configura o pino para entrada/saída, se for de entrada será pinMode (,INPUT); e se for de saída, pinMode (,OUTPUT); 
  ATENÇÃO!!
   Os comandos void setup e void loop são obrigatórios, sem eles, os esboços darão erro e não funcionarão.
   SEMPRE ao colocar um comando, o mesmo deverá acabar com um ponto e vírgula (;)

  • digitalWrite (); dê um valor alto (HIGH) ou baixo (LOW) para o pino digital. Se o pino for configurado como uma saída com pinMode(), o  valor alto (HIGH) terá a tensão da placa de 5V, por isso quando for ligar um led, é necessário colocar um resistor. E a tensão em valor baixo (LOW) será de 0V 
  • delay(); delay significa o tempo de algum comando, e é contado por milésimos de segundo.
   Por exemplo:

void loop ()
{
digitalWrite (12, HIGH);
delay (1000); // diz o intervalo de tempo (em milésimos de segundo) em que o pino 12 ficará com um valor alto
digitalWrite (12, LOW)
delay (1000); // diz o intervalo de tempo (em milésimos de segundo) em que o pino 12 ficará com um valor baixo.
}

  • // As duas barras significam um comentário, não faz alteração alguma no esboço, serve muito bem para você conseguir se organizar fazendo um comentário sobre o que é o que no esboço.



domingo, 12 de abril de 2015

Primeiro projeto!!

Ligando na Protoboard
Vamos lá ao nosso primeiro projeto, vamos começar no básico, acendendo um led.Os materiais necessários sâo:


  • 1 Arduino;
  • 1 Protoboard;
  • 1 Led;
  • 1 Resistor de 220ohm;
  • 2 Fios;




 A ligação do led na Protoboard será a seguinte:
 No anodo ( positivo) do led, coloque o resistor, e do outro lado do resistor coloque um fio ligando até alguma porta digital do Arduino (Porta 12 no meu caso). E o catodo (negativo), vai ligado ao GND.


  Somente lembrando, e mostrando para quem não sabe, o Anodo (positivo) do led é o que contém o maior terminal, e o Catodo (negativo), é o que contém o menor terminal. 
 Ok, mas... e se o  terminal estiver cortado? Olhe o led de cima, o lado chanfrado, é o Catodo.



Não tente acender um led sem o resistor porque ele não irá aguentar tanta energia e irá queimar. Se quiser usar um resistor com um valor maior do que 220ohm pode usar, a intensidade do led só irá ficar mais fraca.

Programando a IDE

  1. void setup () // Comando inicial do programa
  2. {
  3. pinMode (12,OUTPUT); // pinMode seleciona a porta em que o led está conectado, e OUTPUT é o modo em que a porta está funcionando, no caso, como saída.
  4. }

  5. void loop() // Comando de repetição do programa
  6. {
  7. pinMode (12, HIGH); // HIGH significa que está ativado
  8. }


 Para fazer o led piscar, é quase a mesma coisa, o que muda é que tem que adicionar o delay (tempo).

  1. void setup () 
  2. {
  3. pinMode (12, OUTPUT);
  4. }
  5.  
  6. void loop()
  7. {
  8. digitalWrite (12, HIGH); // diz que o led do pino 12 está ligado
  9. delay (1000); // delay é o tempo, e o número, significa os milésimos de segundos. 
  10. digitalWrite (12, LOW); // diz que o led do pino 12 está desligado
  11. delay (1000);
  12. }




Como usar a Protoboard


   A protoboard tem os ligamentos da seguinte maneira: positivo e negativo são ligados na horizontal, separados em quatro partes, do número 0 ao 29, do 29 ao 60, em cima e embaixo da protoboard.
   As fileiras com as letras A,B,C,D,E e F,G,H,I,J, são ligadas verticalmente e são separadas também, em duas partes, é como se fosse uma placa em cima e uma embaixo.