terça-feira, 23 de julho de 2013

Instalando o Arduino

Olá pessoal.

Para você que está começando segue um passo passo de como fazer a instalação do Arduino.

1 - Download do ambiente de desenvolvimento
Obtenha a última versão do ambiente de desenvolvimento na página de download.
Quando o download terminar descompacte o arquivo mantendo a estrutura de pastas.

2 - Conecte o Arduino na USB.
Conecte a placa do Arduino ao seu computador usando o cabo USB. A luz verde acenderá.
O Arduino Uno, Mega, Duemilanove ou Nano recceberam a energia automaticamente pela USB.

3 - Instale os drivers
Após conectar o Arduino ao computador aguarde o processo de instalação de instalação. Após alguns minutos a instalação irá falhar.
Abra o gerenciador de dispositivos do Windows.
Em Portas (COM & LPT) você verá um dispositivo com nome Arduino, pode acontecer de aparecer como dispositivo desconhecido.
Clique com o direito e escolha a opção atualização de driver.
Escolha a opção procurar no meu computador.
Navegue até a pasta "Drivers" do ambiente de desenvolvimento do Arduino e localize o arquivo "arduino.inf".
O Windows executará a instalação do Arduino.

4 - Abra a aplicação do Arduino
Abra a aplicação do Arduino na pasta onde você descompactou o ambiente de desenvolvimento.
No menu Tools/Board selecione o modelo do seu Arduino.
No menu Tools/Serial Port selecione a porta do seu Arduino.

5 - Abra o exemplo piscar.
Abra o exemplo para piscar LED em File > Examples > 1.Basics > Blink.
6 - Efetue o upload do programa.
Clique no botão "Upload" do ambiente de desenvolvimento e aguarde alguns segundos, você verá os leds RX e TX piscarem na placa.
A mensagem "Done uploading." irá aparecer na barra de status.

Alguns segundos após o upload você verá o led da placa ligado ao pino 13 piscando.

Referência:
http://arduino.cc/en/Guide/Windowshttp://arduino.cc/en/Guide/Windows

10 maneiras para queimar seu Arduino

Bom pessoal, o Arduíno é um dispositivo eletrônico e portanto muito fácil de ser queimado com qualquer ligação errada.
Então segue algumas dicas do que vocês NÃO podem fazer no seu Arduino.

1 - Curto-circuíto dos pinos de IO ao terra.
Configure um pino de IO para saída, em seguida, defina para alto. Agora ligue ao pino terra. Você já criou uma condição de sobrecorrente no pino de IO e ele será destruído.

2 - Curto-circuíto entre os pinos de IO.
Configure dois pinos de IO para saída, defina um alto e outro baixo. Agora ligue os pinos juntos. Você já criou uma condição de sobrecorrente em ambos os pinos de IO e eles serão destruídos.

3 - Aplicar sobretensão aos pinos de IO.
Aplique uma tensão superior a 5,5 V em qualquer pino de IO e o pino será destruído.

4 - Aplicar tensão com polaridade invertida na entrada de alimentação.
Alimente o seu Arduino através do pino conector Vin, mas inverta a polaridade da conexão de energia Vin / GND. Você vai destruir o Arduino e outros dispositivos conectados.

5 - Aplicar mais de 5V ao pino de 5V.
Aplique uma tensão de 6V ou superior ao pino de ligação 5V. Muitos componentes do Arduino vão ser destruídos, e esta tensão também pode aparecer na porta USB do seu computador, podendo danificá-lo.

6 - Aplicar mais de 3.6V ao pino de 3.3V.
Aplique uma tensão de 3.6V ou superior ao pino de ligação 3.3V. Muitos componentes do Arduino vão ser destruídos, e esta tensão também pode aparecer na porta USB do seu computador, podendo danificá-lo.

7 - Curto-circuíto entre os pinos Vin e GND.
Ligue o Arduino ao conector de alimentação DC e crie um curto entre o pino Vin e GND. O diodo de bloqueio será destruído e traços na PCB podem derreter.

8 - Aplicar 5V de energia externa com o pino Vin com carga.
Se você está alimentando a 5V o pino conector 5V e tem um circuito ligado ao pino Vin (ou ter curto-circuíto Vin para GND), em seguida, a corrente fluirá para trás através do regulador de 5V e irá destruí-lo.

9 - Aplicar mais de 13V ao pino reset.
Se aplicar mais de 13V ao pino conector Reset o microcontrolador ATmega328P será danificado.

10 - Exceder corrente total microcontrolador
Configure pelo menos 10 pinos de IO para alto e chamar a 20mA de cada um (por exemplo, a iluminação de 10 LEDs). Você já excedeu a oferta total para o microcontrolador e ele será danificado.

Alguns vão dizer que copiei este material, copiei mesmo e traduzi para ajudar as pessoas não leem em inglês.
O link abaixo traz o conteúdo original com mais alguns detalhes.

http://ruggedcircuits.com/html/ancp01.html

domingo, 5 de maio de 2013

Utilizando o sensor barométrico BMP085 com o Arduino

O sensor BMP085 fornece medida de pressão entre 300 e 1100 hPa (aproximadamente 9000m a -500m de altura) com uma resolução de 0.03hPa / 0.25m,  o componente também inclui um sensor de temperatura com aproximadamente +-2°C de precisão.
A comunicação com o Arduino é através do I2C e o dispositivo trabalha com 3.3v, alguns sites falam em 5v, mas por garantia é melhor utilizar 3.

Para facilitar o uso vamos utilizar a biblioteca Adafruit_BMP085, assim não cobriremos o I2C que são encapsulados pela biblioteca Wire e a Adafruit_BMP085.

Para instalar a biblioteca basta descompactar o conteúdo na pasta libraries do IDE do Arduino, clique aqui para fazer o download.
A biblioteca irá disponibilizar um código de exemplo no seu IDE.


Requisitos de hardware.
1 Arduino
1 BMP085


Circuito.
O circuito é muito simples, basta conectar o VCC do sensor aos 3.3v do Arduino, GND ao GND, SDA a porta analógica 4 e SCL a porta analógica 5.



Imagem desenvolvida com o Fritzing

Código.
#include <Wire.h>
#include <Adafruit_BMP085.h>

// A biblioteca da Adafruit utiliza a comunição I2C para se comunicar com o sensor

//Conexões BMP085 / Arduino
//VCC - 3.3v
//GND - Ground
//SCL - Analógica 5
//SDA - Analógica 4

//Declaração do sensor
Adafruit_BMP085 bmp;
  
void setup(){
  Serial.begin(9600);
  if(!bmp.begin()){
Serial.println("Não encontrei o sensor BMP085, verifique as ligações!");
while(1){}
  }
}
  
void loop() {
  // Calcula a temperatura
  Serial.print("Temperatura = ");
  Serial.print(bmp.readTemperature());
  Serial.println(" *C");

  // Calcula a pressão atmosférica
  Serial.print("Pressão = ");
  Serial.print(bmp.readPressure());
  Serial.println(" Pa");
   
  // Calcula a altitude assumindo a pressão barométricca padrão
  // de 1013.25 millibar = 101325 Pascal
  Serial.print("Altitude = ");
  Serial.print(bmp.readAltitude());
  Serial.println(" metros");

  // Você pode obter uma altitude mais precisa se souber
  // a pressão atual ao nível do mar
  // Ex. Se for 1018.7 millibars = 101870 Pascal
  Serial.print("Altitude real = ");
  Serial.print(bmp.readAltitude(101870));
  Serial.println(" metros");

  Serial.println();
  delay(10000);
}


Referências.

terça-feira, 14 de dezembro de 2010

Utilizando o sensor ultrasônico HC-SR04 com o Arduino

O sensor HC-SR04 fornece medida de distância entre 2cm e 4m com uma precisão de até 3mm, o componente inclui o transmissor, receptor e o circuito de controle.
O sensor funciona basicamente da seguinte maneira:

  • Um sinal de 10 microsegundos é enviado ao sensor.
  • O sensor automaticamente envia o sinal e recebe de volta.
  • Se o sinal voltar o tempo gasto é retornado pelo circuito.


Requisitos de hardware.
1 Arduino
1 HC-SR04


Circuito.
O circuito é muito simples, basta conectar o VCC do sensor aos 5v do Arduino, GND ao GND, Echo a porta digital 10 e Trig a porta digital 12.


Imagem desenvolvida com o Fritzing

Código.
#define triggerPin 12
#define echoPin 10

void setup() {
  // Configura a saída serial para recuperar a leitura do sensor
  Serial.begin(9600);
  // Configura a porta digital em modo saida
  pinMode(triggerPin, OUTPUT);
  // Configura a porta digital em modo entrada
  pinMode(echoPin, INPUT);
}

void loop() {
  // Envia um sinal de 10ms ao sensor
  digitalWrite(triggerPin, LOW);
  delayMicroseconds(2);
  digitalWrite(triggerPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(triggerPin, LOW);
  
  // O sensor calcula o tempo gasto entre o envio e o recebimento
  // do sinal e retorna um pulso com esta duração
  long duration = pulseIn(echoPin, HIGH);

  // Converte o tempo para distancia em centimetros
  float cm = microsecondsToCentimeters(duration);
  
  // Informa a distancia na serial
  Serial.println(cm, DEC);
  
  delay(1000);
}

float microsecondsToCentimeters(long microseconds){
  // Converte o tempo de microsegundos para segundos
  float seconds = (float) microseconds / 1000000.0;
  // Com a velocidade do som de 340m/s calcula-se a
  // distancia percorrida
  float distance = seconds * 340;
  // Divide o resultado por dois pois o tempo é calculado
  // considerando a ida e a volta do sinal  
  distance = distance / 2;
  // Converte o resultado em metros para centimetros
  distance = distance * 100;
  
  return distance;
}


Referências.

domingo, 12 de dezembro de 2010

Introdução ao Arduino

Ops, desculpe este post não será uma introdução ao Arduino.


Desde criança sempre gostei de eletrônica e agora estou retomando este antigo hobby, o objetivo será postar alguns projetos que eu irei construir, exemplos de uso de componentes que tive certa dificuldade em encontrar na internet ou que sejam mais interessantes.


E quanto a Introdução ao Arduino?
Há uma série de outros blogs que já fazem isto, veja algumas referências abaixo.


Referências.

Agora sim Introdução ao Arduino
Site do Arduino
Sessão Learning do site arduino.cc
layada.net
freeduino.org
arduinobrasil
brasilrobotics
sabereletronica.com.br
grokpodcast.com

Ao pesquisar referências observei que temos pouca referência nacional sobre o assunto, boa parte dos que encontrei estão a um bom tempo sem atualização, espero não acontecer o mesmo com este blog.


Obrigado a todos.