Mostrando postagens com marcador Arduino. Mostrar todas as postagens
Mostrando postagens com marcador Arduino. Mostrar todas as postagens

terça-feira, 30 de abril de 2013

Apostila Arduino Referencia



Esse apostila é para quem precisa da referencia do arduino, porém não tem acesso a internet sempre que é preciso para acessar pelo site. Basicamente é um print das telas da referencia, porém é uma mão na roda para quem está precisando e trabalha com o arduino dia e noite.


domingo, 28 de abril de 2013

Arduino Simulator - Simulador Arduino

Desenvolvido pela Virtronics, esse programa é para quem não tem o Arduino ou não está com ele em mãos no momento. Com ele você pode simular e criar esboços de projetos sem ter-lo em mãos. O ArduinoSim, como o programa é chamado, é considerado o um dos mais completos programas de simulação para essa plataforma.
A versão disponibilizada aqui nesse site é free, porém pode-se obter a versão Pro pelo de preço de $11,99 nesse site aqui.




quinta-feira, 25 de abril de 2013

Display LCD e Arduino

O que muitas pessoas acham, quando se diz ao uso de um display LCD, é que é complexo sua implementação, porém com o Arduino, não.
Veremos a baixo o quão fácil usar um display de 2 linhas e 16 barras em um Arduino qualquer. 
Display LCD
O que precisaremos para esse tutorial será:

      - Display LCD compatível com Hitachi HD44780 driver;
      - Potenciômetro 10K;
      - Alguns jumpers;
      - E claro, o Arduino.

Após ter tudo o que é preciso, iremos seguir o seguinte esquema:



1. Ligaremos o pino Reset (RS) do LCD ao pino digital 12;
2. Pino Enable (E) ao pino digital 11;
3. Pino D4 ao pino digital 5;
4. Pino D5 ao pino digital 4;
5. Pino D6 ao pino digital 3;
6. Pino D7 ao pino digital 2;
7. Vcc do LCD no 5V do Arduino e o GND do LCD no GND do Arduino.
8. E finalmente ligar um potenciômetro de 10K no 5V e GND do Arduino e sua saida em VO do LCD (servirá para regular o contraste do LCD)

Para facilitar as conexões, tenha em mãos o Datasheet do seu modelo do LCD display.

Após tudo conectado, é só programar. Segue logo a baixo uma sugestão de código:


1:  /*  
2:   * LCD RS pin to digital pin 12  
3:   * LCD Enable pin to digital pin 11  
4:   * LCD D4 pin to digital pin 5  
5:   * LCD D5 pin to digital pin 4  
6:   * LCD D6 pin to digital pin 3  
7:   * LCD D7 pin to digital pin 2  
8:   * LCD R/W pin to ground  
9:   * 10K resistor:  
10:   * ends to +5V and ground  
11:   * wiper to LCD VO pin (pin 3)  
12:  */  
13:  #include <LiquidCrystal.h>
14:  // initialize the library with the numbers of the interface pins  
15:  LiquidCrystal lcd(12, 11, 5, 4, 3, 2);  
16:  void setup() {  
17:   // set up the LCD's number of columns and rows:   
18:   lcd.begin(16, 2);  
19:   // Print a message to the LCD.  
20:   lcd.print("hello, world!");  
21:  }  
22:  void loop() {  
23:   // set the cursor to column 0, line 1  
24:   // (note: line 1 is the second row, since counting begins with 0):  
25:   lcd.setCursor(0, 1);  
26:   // print the number of seconds since reset:  
27:   lcd.print(millis()/1000);  
28:  }  

quarta-feira, 24 de abril de 2013

Sensor de Temperatura LM35 e Arduino

O  LM35 é um sensor de temperatura de precisão, alimentado por 5V, ele possue uma variação de tensão na saída do sinal entre 0 a 5V, correnpondendo o acréscimo ou decréscimo de  10mV a cada 1º C. Abaixo segue uma imagem ilustrativa do sensor:

O pino 1 corresponde a alimentação do sensor (Vcc) e o pino 3 ao comum (GND).
Consequentemente temos o pino 2 como a saída do sinal do sensor.

Utilizando alguns jumpers e uma protoboard, podemos ligar o sensor no arduino da seguinte forma:




Após feita as conexões dos pinos do sensor no arduino, devemos então partir para o código. Mas antes precisamos fazer uma conversão, pois o valor que o sensor vai nos fornecer é uma tensão entre 0 e 5V e o que o arduino nos irá retornar com a função "analogRead()" será um valor entre 0 e 1023.
Isso é facilmente contornado uma regra de três.

 - Temos que a cada variação de 1°C a saida de sinal varia 10mV.
 - O valor do sensor é convertido para um numero digital com uma resolução de 10bit (0 - 1023).
 - A alimentação do sensor será de 5V.

  Logo temos:

Variação máxima de temperatura -> VM
Tensão máxima do sinal -> TM
Variação a cada grau -> VG

VM = TM/VG -> 5/ 0,01 -> 500

Ou seja, entre 0 a 5V, o sensor poderia medir uma variação de 500°C. Como dito na frase anterior, poderia, pois a faixa de leitura do LM35 é de -55°C à 150°C.

Colocando tudo numa regra de 3, temos:

500 - 1023
T    -       S
E então chegamos a seguinte conclusão: T = (S*500) / 1023

Agora é só código.
1:  float S = 0;  
2:  float T = 0;  
3:  void setup(){  
4:    Serial.begin(9600); //Configurando taxa de transferência da porta serial (9600bps)  
5:  }  
6:  void loop(){  
7:     S = analogRead(A0);//Lê porta analógica 0 e armazena em S  
8:     T = (S * 500)/1023;//Conversão do sinal lido em Temperatura  
9:     Serial.print(T);//Imprime o valor de T (temperatura)  
10:   Serial.println(" C");//imprime em seguida  
11:   delay(1000);//Espera 1000 milisegundos, ou 1 segundo para executar novamente a função  
12:  }