tag:blogger.com,1999:blog-83869890718026711322024-03-13T00:16:48.208-07:00KDuinoKerlestonhttp://www.blogger.com/profile/14237541184892562230noreply@blogger.comBlogger5125tag:blogger.com,1999:blog-8386989071802671132.post-5355947772478377082013-07-23T18:25:00.002-07:002013-07-23T18:25:56.087-07:00Instalando o ArduinoOlá pessoal.<br />
<br />
Para você que está começando segue um passo passo de como fazer a instalação do Arduino.<br />
<br />
1 - Download do ambiente de desenvolvimento<br />
Obtenha a última versão do ambiente de desenvolvimento na <a href="http://arduino.cc/en/Main/Software">página de download</a>.<br />
Quando o download terminar descompacte o arquivo mantendo a estrutura de pastas.<br />
<br />
2 - Conecte o Arduino na USB.<br />
Conecte a placa do Arduino ao seu computador usando o cabo USB. A luz verde acenderá.<br />
O Arduino Uno, Mega, Duemilanove ou Nano recceberam a energia automaticamente pela USB.<br />
<br />
3 - Instale os drivers<br />
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.<br />
Abra o gerenciador de dispositivos do Windows.<br />
Em Portas (COM & LPT) você verá um dispositivo com nome Arduino, pode acontecer de aparecer como dispositivo desconhecido.<br />
Clique com o direito e escolha a opção atualização de driver.<br />
Escolha a opção procurar no meu computador.<br />
Navegue até a pasta "Drivers" do ambiente de desenvolvimento do Arduino e localize o arquivo "arduino.inf".<br />
O Windows executará a instalação do Arduino.<br />
<br />
4 - Abra a aplicação do Arduino<br />
Abra a aplicação do Arduino na pasta onde você descompactou o ambiente de desenvolvimento.<br />
No menu Tools/Board selecione o modelo do seu Arduino.<br />
No menu Tools/Serial Port selecione a porta do seu Arduino.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJoqHwgc355UpHWcKMT2zknpniAUg9bOeOr0yhLzg4I8S36MDB1zcq9tWHri9CQW6hptr4xuSmCfph4nu5msvfHQhwD3Q3KzCL4Bl0YSb4afPJXGUmdjPMJV6qcMQJKBEhXtKe_rNkVIh2/s1600/ToolsMenu.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="199" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJoqHwgc355UpHWcKMT2zknpniAUg9bOeOr0yhLzg4I8S36MDB1zcq9tWHri9CQW6hptr4xuSmCfph4nu5msvfHQhwD3Q3KzCL4Bl0YSb4afPJXGUmdjPMJV6qcMQJKBEhXtKe_rNkVIh2/s320/ToolsMenu.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
5 - Abra o exemplo piscar.</div>
<div class="separator" style="clear: both; text-align: left;">
Abra o exemplo para piscar LED em File > Examples > 1.Basics > Blink.</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEibINRSF6x3RUjrDCaPhnDnZh3GG8-ES8H_VEWBHHmPqQlTa9IMEr4nd-4soOSDvbF_-TaGt5mNj8h0xQbAdSfXVJwXGwYd5R5Y2eqvTpKNM-3R13hNvSHEpwMyberLL88tYbr219FBltlM/s1600/Arduino1Blink.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEibINRSF6x3RUjrDCaPhnDnZh3GG8-ES8H_VEWBHHmPqQlTa9IMEr4nd-4soOSDvbF_-TaGt5mNj8h0xQbAdSfXVJwXGwYd5R5Y2eqvTpKNM-3R13hNvSHEpwMyberLL88tYbr219FBltlM/s320/Arduino1Blink.png" width="300" /></a></div>
<div class="separator" style="clear: both;">
6 - Efetue o upload do programa.</div>
<div class="separator" style="clear: both;">
Clique no botão "Upload" do ambiente de desenvolvimento e aguarde alguns segundos, você verá os leds RX e TX piscarem na placa.</div>
<div class="separator" style="clear: both;">
A mensagem "Done uploading." irá aparecer na barra de status.</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgw2wiecGqrYZyuR3NGBLAK10pk7nE9jwCVuJd_ADj2623uXytDgWQMIbwZ19CkQBhzfDBSbI_SYADQIGbuCKQPo1vbdTiGxk-3RQpIXvhVDzoaRer575nvSM3eghvB6yzm59WqhDIAfnYM/s1600/UploadButton.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="26" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgw2wiecGqrYZyuR3NGBLAK10pk7nE9jwCVuJd_ADj2623uXytDgWQMIbwZ19CkQBhzfDBSbI_SYADQIGbuCKQPo1vbdTiGxk-3RQpIXvhVDzoaRer575nvSM3eghvB6yzm59WqhDIAfnYM/s320/UploadButton.png" width="320" /></a></div>
<div class="separator" style="clear: both;">
<br /></div>
<div class="separator" style="clear: both;">
Alguns segundos após o upload você verá o led da placa ligado ao pino 13 piscando.</div>
<div class="separator" style="clear: both;">
<br /></div>
<div class="separator" style="clear: both;">
Referência:</div>
<div class="separator" style="clear: both;">
http://arduino.cc/en/Guide/Windows<a href="http://arduino.cc/en/Guide/Windows">http://arduino.cc/en/Guide/Windows</a></div>
Kerlestonhttp://www.blogger.com/profile/14237541184892562230noreply@blogger.com0tag:blogger.com,1999:blog-8386989071802671132.post-18083897440212732962013-07-23T17:54:00.000-07:002013-07-23T17:54:12.062-07:0010 maneiras para queimar seu ArduinoBom pessoal, o Arduíno é um dispositivo eletrônico e portanto muito fácil de ser queimado com qualquer ligação errada.<br />
Então segue algumas dicas do que vocês <b><span style="color: red;">NÃO</span></b> podem fazer no seu Arduino.<br />
<br />
<b>1 - Curto-circuíto dos pinos de IO ao terra.</b><br />
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.<br />
<br />
<b>2 - Curto-circuíto entre os pinos de IO.</b><br />
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.<br />
<br />
<b>3 - Aplicar sobretensão aos pinos de IO.</b><br />
Aplique uma tensão superior a 5,5 V em qualquer pino de IO e o pino será destruído.<br />
<br />
<b>4 - Aplicar tensão com polaridade invertida na entrada de alimentação.</b><br />
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.<br />
<br />
<b>5 - Aplicar mais de 5V ao pino de 5V.</b><br />
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.<br />
<br />
<b>6 - Aplicar mais de 3.6V ao pino de 3.3V.</b><br />
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.<br />
<br />
<b>7 - Curto-circuíto entre os pinos Vin e GND.</b><br />
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.<br />
<br />
<b>8 - Aplicar 5V de energia externa com o pino Vin com carga.</b><br />
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.<br />
<br />
<b>9 - Aplicar mais de 13V ao pino reset.</b><br />
Se aplicar mais de 13V ao pino conector Reset o microcontrolador ATmega328P será danificado.<br />
<br />
<b>10 - Exceder corrente total microcontrolador</b><br />
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.<br />
<br />
Alguns vão dizer que copiei este material, copiei mesmo e traduzi para ajudar as pessoas não leem em inglês.<br />
O link abaixo traz o conteúdo original com mais alguns detalhes.<br />
<br />
<a href="http://ruggedcircuits.com/html/ancp01.html">http://ruggedcircuits.com/html/ancp01.html</a><br />
<br />Kerlestonhttp://www.blogger.com/profile/14237541184892562230noreply@blogger.com8tag:blogger.com,1999:blog-8386989071802671132.post-62177271633493692292013-05-05T05:54:00.002-07:002013-05-05T06:04:41.804-07:00Utilizando o sensor barométrico BMP085 com o Arduino<div class="separator" style="clear: both; text-align: center;">
</div>
<span class="Apple-style-span" style="font-family: Verdana, sans-serif;">O sensor BMP085 fornece medida de pressão entre 300 e 1100 hPa (aproximadamente </span><span style="font-family: Verdana, sans-serif;">9000m a -500m de altura</span><span style="font-family: Verdana, sans-serif;">) com uma resolução de 0.03hPa / 0.25m, o componente também inclui um sensor de temperatura com aproximadamente </span><span style="font-family: Verdana, sans-serif;">+-2°C de precisão.</span><br />
<span style="font-family: Verdana, sans-serif;">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.</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;">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</span><span style="font-family: Verdana, sans-serif;"> Adafruit_BMP085.</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;">Para instalar a biblioteca basta descompactar o conteúdo na pasta libraries do IDE do Arduino, clique <a href="https://github.com/adafruit/Adafruit-BMP085-Library/archive/master.zip">aqui</a> para fazer o download.</span><br />
<span style="font-family: Verdana, sans-serif;">A biblioteca irá disponibilizar um código de exemplo no seu IDE.</span><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnTRWMDraihcu7OG7tezF6LUXmCBEiFeSJ1oFm_taG8LwGv4qFTARWXHEjKP9JQEMKg_axe6eEXfKjrATKMyYkmMmv6ZEdGNIfnsm9N3xxb2ElrF0GQ_b_SMfDpmhcE5mxYLy-kkGmItYr/s1600/IMG_3964-signed.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="307" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnTRWMDraihcu7OG7tezF6LUXmCBEiFeSJ1oFm_taG8LwGv4qFTARWXHEjKP9JQEMKg_axe6eEXfKjrATKMyYkmMmv6ZEdGNIfnsm9N3xxb2ElrF0GQ_b_SMfDpmhcE5mxYLy-kkGmItYr/s320/IMG_3964-signed.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<span class="Apple-style-span" style="color: orange; font-family: Verdana, sans-serif;"><b>Requisitos de hardware.</b></span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif;">1 Arduino</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif;">1 BMP085</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif;"><br />
</span><br />
<span class="Apple-style-span" style="color: orange; font-family: Verdana, sans-serif;"><b>Circuito.</b></span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif;">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.</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif;"><br />
</span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjkNpFan-E-tyHSxzqvyy5x7_GryVr8psUm5_LMQp3C6L9i-bpszeDd9BI8Sk7EYzbYPP_y03VUw3ocJHPanE7Pg8nk6Aqft9mth2t2UgjYfNfTPJrQ-V8aj94uilWhZ9sn0uObVG5wxkAu/s1600/bmp085.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="220" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjkNpFan-E-tyHSxzqvyy5x7_GryVr8psUm5_LMQp3C6L9i-bpszeDd9BI8Sk7EYzbYPP_y03VUw3ocJHPanE7Pg8nk6Aqft9mth2t2UgjYfNfTPJrQ-V8aj94uilWhZ9sn0uObVG5wxkAu/s320/bmp085.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-style-span" style="color: #666666;">Imagem desenvolvida com o</span> <a href="http://www.fritzing.org/">Fritzing</a></span></div>
<div class="separator" style="clear: both; text-align: left;">
<span class="Apple-style-span" style="font-family: Verdana, sans-serif;"><br />
</span></div>
<div class="separator" style="clear: both; text-align: left;">
<span class="Apple-style-span" style="color: orange; font-family: Verdana, sans-serif;"><b>Código.</b></span></div>
<div class="separator" style="clear: both; text-align: left;">
</div>
<div class="separator" style="clear: both;">
<span style="font-family: Courier New, Courier, monospace;">#include <Wire.h></span></div>
<div class="separator" style="clear: both;">
<span style="font-family: Courier New, Courier, monospace;">#include <Adafruit_BMP085.h></span></div>
<div class="separator" style="clear: both;">
<span style="font-family: Courier New, Courier, monospace;"><br /></span></div>
<div class="separator" style="clear: both;">
<span style="color: #999999; font-family: Courier New, Courier, monospace;">// A biblioteca da Adafruit utiliza a comunição I2C para se comunicar com o sensor</span></div>
<div class="separator" style="clear: both;">
<span style="color: #999999; font-family: Courier New, Courier, monospace;"><br /></span></div>
<div class="separator" style="clear: both;">
<span style="color: #999999; font-family: Courier New, Courier, monospace;">//Conexões BMP085 / Arduino</span></div>
<div class="separator" style="clear: both;">
<span style="color: #999999; font-family: Courier New, Courier, monospace;">//VCC - 3.3v</span></div>
<div class="separator" style="clear: both;">
<span style="color: #999999; font-family: Courier New, Courier, monospace;">//GND - Ground</span></div>
<div class="separator" style="clear: both;">
<span style="color: #999999; font-family: Courier New, Courier, monospace;">//SCL - Analógica 5</span></div>
<div class="separator" style="clear: both;">
<span style="color: #999999; font-family: Courier New, Courier, monospace;">//SDA - Analógica 4</span></div>
<div class="separator" style="clear: both;">
<span style="color: #999999; font-family: Courier New, Courier, monospace;"><br /></span></div>
<div class="separator" style="clear: both;">
<span style="color: #999999; font-family: Courier New, Courier, monospace;">//Declaração do sensor</span></div>
<div class="separator" style="clear: both;">
<span style="font-family: Courier New, Courier, monospace;">Adafruit_BMP085 bmp;</span></div>
<div class="separator" style="clear: both;">
<span style="font-family: Courier New, Courier, monospace;"> </span></div>
<div class="separator" style="clear: both;">
<span style="font-family: Courier New, Courier, monospace;"><span style="color: #e69138;">void setup</span>(){</span></div>
<div class="separator" style="clear: both;">
<span style="font-family: Courier New, Courier, monospace;"> <span style="color: #e69138;">Serial.begin</span>(9600);</span></div>
<div class="separator" style="clear: both;">
<span style="font-family: Courier New, Courier, monospace;"> <span style="color: #e69138;">if</span>(!bmp.begin()){</span></div>
<div class="separator" style="clear: both;">
<span style="font-family: Courier New, Courier, monospace;"><span class="Apple-tab-span" style="white-space: pre;"> </span><span style="color: #e69138;">Serial.println</span>(<span style="color: #3d85c6;">"Não encontrei o sensor BMP085, verifique as ligações!"</span>);</span></div>
<div class="separator" style="clear: both;">
<span style="font-family: Courier New, Courier, monospace;"><span class="Apple-tab-span" style="white-space: pre;"> </span><span style="color: #e69138;">while</span>(1){}</span></div>
<div class="separator" style="clear: both;">
<span style="font-family: Courier New, Courier, monospace;"> }</span></div>
<div class="separator" style="clear: both;">
<span style="font-family: Courier New, Courier, monospace;">}</span></div>
<div class="separator" style="clear: both;">
<span style="font-family: Courier New, Courier, monospace;"> </span></div>
<div class="separator" style="clear: both;">
<span style="font-family: Courier New, Courier, monospace;"><span style="color: #e69138;">void loop</span>() {</span></div>
<div class="separator" style="clear: both;">
<span style="color: #999999; font-family: Courier New, Courier, monospace;"> // Calcula a temperatura</span></div>
<div class="separator" style="clear: both;">
<span style="font-family: Courier New, Courier, monospace;"> <span style="color: #e69138;">Serial.print</span>(<span style="color: #3d85c6;">"Temperatura = "</span>);</span></div>
<div class="separator" style="clear: both;">
<span style="font-family: Courier New, Courier, monospace;"> <span style="color: #e69138;">Serial.print</span>(bmp.readTemperature());</span></div>
<div class="separator" style="clear: both;">
<span style="font-family: Courier New, Courier, monospace;"> <span style="color: #e69138;">Serial.println</span>(<span style="color: #3d85c6;">" *C"</span>);</span></div>
<div class="separator" style="clear: both;">
<span style="font-family: Courier New, Courier, monospace;"><br /></span></div>
<div class="separator" style="clear: both;">
<span style="color: #999999; font-family: Courier New, Courier, monospace;"> // Calcula a pressão atmosférica</span></div>
<div class="separator" style="clear: both;">
<span style="font-family: Courier New, Courier, monospace;"> <span style="color: #e69138;">Serial.print</span>(<span style="color: #3d85c6;">"Pressão = "</span>);</span></div>
<div class="separator" style="clear: both;">
<span style="font-family: Courier New, Courier, monospace;"> <span style="color: #e69138;">Serial.print</span>(bmp.readPressure());</span></div>
<div class="separator" style="clear: both;">
<span style="font-family: Courier New, Courier, monospace;"> <span style="color: #e69138;">Serial.println</span>(<span style="color: #3d85c6;">" Pa"</span>);</span></div>
<div class="separator" style="clear: both;">
<span style="font-family: Courier New, Courier, monospace;"> </span></div>
<div class="separator" style="clear: both;">
<span style="color: #999999; font-family: Courier New, Courier, monospace;"> // Calcula a altitude assumindo a pressão barométricca padrão</span></div>
<div class="separator" style="clear: both;">
<span style="color: #999999; font-family: Courier New, Courier, monospace;"> // de 1013.25 millibar = 101325 Pascal</span></div>
<div class="separator" style="clear: both;">
<span style="font-family: Courier New, Courier, monospace;"> <span style="color: #e69138;">Serial.print</span>(<span style="color: #3d85c6;">"Altitude = "</span>);</span></div>
<div class="separator" style="clear: both;">
<span style="font-family: Courier New, Courier, monospace;"> <span style="color: #e69138;">Serial.print</span>(bmp.readAltitude());</span></div>
<div class="separator" style="clear: both;">
<span style="font-family: Courier New, Courier, monospace;"> <span style="color: #e69138;">Serial.println</span>(<span style="color: #3d85c6;">" metros"</span>);</span></div>
<div class="separator" style="clear: both;">
<span style="font-family: Courier New, Courier, monospace;"><br /></span></div>
<div class="separator" style="clear: both;">
<span style="color: #999999; font-family: Courier New, Courier, monospace;"> // Você pode obter uma altitude mais precisa se souber</span></div>
<div class="separator" style="clear: both;">
<span style="color: #999999; font-family: Courier New, Courier, monospace;"> // a pressão atual ao nível do mar</span></div>
<div class="separator" style="clear: both;">
<span style="color: #999999; font-family: Courier New, Courier, monospace;"> // Ex. Se for 1018.7 millibars = 101870 Pascal</span></div>
<div class="separator" style="clear: both;">
<span style="font-family: Courier New, Courier, monospace;"> <span style="color: #e69138;">Serial.print</span>(<span style="color: #3d85c6;">"Altitude real = "</span>);</span></div>
<div class="separator" style="clear: both;">
<span style="font-family: Courier New, Courier, monospace;"> <span style="color: #e69138;">Serial.print</span>(bmp.readAltitude(101870));</span></div>
<div class="separator" style="clear: both;">
<span style="font-family: Courier New, Courier, monospace;"> <span style="color: #e69138;">Serial.println</span>(<span style="color: #3d85c6;">" metros"</span>);</span></div>
<div class="separator" style="clear: both;">
<span style="font-family: Courier New, Courier, monospace;"><br /></span></div>
<div class="separator" style="clear: both;">
<span style="font-family: Courier New, Courier, monospace;"> <span style="color: #e69138;">Serial.println(</span>);</span></div>
<div class="separator" style="clear: both;">
<span style="font-family: Courier New, Courier, monospace;"> <span style="color: #e69138;">delay</span>(10000);</span></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: Courier New, Courier, monospace;">}</span></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: Courier New, Courier, monospace;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6QGdmGHINhbWB2fdfxFvijoejupHDd7UQULuD4k3X-KqeIaMeexHmyrRVPjCGuKGHat9kfJw1j5R8Q2NLcik5RSzyZT76KMiPasO-L3klTLUwy5X26m4arrQ7lfZ5cgOw3dn5of7DRncT/s1600/serial_monitor.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="294" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6QGdmGHINhbWB2fdfxFvijoejupHDd7UQULuD4k3X-KqeIaMeexHmyrRVPjCGuKGHat9kfJw1j5R8Q2NLcik5RSzyZT76KMiPasO-L3klTLUwy5X26m4arrQ7lfZ5cgOw3dn5of7DRncT/s320/serial_monitor.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<b style="color: orange; font-family: Verdana, sans-serif;"><br /></b></div>
<div class="separator" style="clear: both; text-align: left;">
<b style="color: orange; font-family: Verdana, sans-serif;">Referências.</b></div>
<div class="separator" style="clear: both; text-align: left;">
<span class="Apple-style-span" style="font-family: Verdana, sans-serif;"><a href="http://arduino.cc/en/Reference/HomePage">Página de referência do Arduino</a></span></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: Verdana, sans-serif;"><a href="http://arduino.cc/en/Reference/Wire">Biblioteca Wire</a></span></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: Verdana, sans-serif;"><a href="http://learn.adafruit.com/bmp085/overview">Adafruit_BMP085</a></span></div>
Kerlestonhttp://www.blogger.com/profile/14237541184892562230noreply@blogger.com10tag:blogger.com,1999:blog-8386989071802671132.post-67495300884482242422010-12-14T16:52:00.000-08:002010-12-14T16:52:48.169-08:00Utilizando o sensor ultrasônico HC-SR04 com o Arduino<span class="Apple-style-span" style="font-family: Verdana, sans-serif;">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.</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif;">O sensor funciona basicamente da seguinte maneira:</span><br />
<br />
<ul><li><span class="Apple-style-span" style="font-family: Verdana, sans-serif;">Um sinal de 10 microsegundos é enviado ao sensor.</span></li>
<li><span class="Apple-style-span" style="font-family: Verdana, sans-serif;">O sensor automaticamente envia o sinal e recebe de volta.</span></li>
<li><span class="Apple-style-span" style="font-family: Verdana, sans-serif;">Se o sinal voltar o tempo gasto é retornado pelo circuito.</span></li>
</ul><span class="Apple-style-span" style="color: orange; font-family: Verdana, sans-serif;"><b><br />
</b></span><br />
<span class="Apple-style-span" style="color: orange; font-family: Verdana, sans-serif;"><b>Requisitos de hardware.</b></span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif;">1 Arduino</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif;">1 HC-SR04</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif;"><br />
</span><br />
<span class="Apple-style-span" style="color: orange; font-family: Verdana, sans-serif;"><b>Circuito.</b></span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif;">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.</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif;"><br />
</span><br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsMTREpxEejjybcGEzUGutJUv7KFjot1t79Ccygv2A_JfBdg1FalxEIMBlaT1TfGJztxCZ6c7Inp1iD-8elYZs09hwIv9omllTf3-KT0ptBPVToIqCPr0DvEb_xRBLYCzbC2Egzk_XYuON/s1600/HC-SR04.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif;"><img border="0" height="228" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsMTREpxEejjybcGEzUGutJUv7KFjot1t79Ccygv2A_JfBdg1FalxEIMBlaT1TfGJztxCZ6c7Inp1iD-8elYZs09hwIv9omllTf3-KT0ptBPVToIqCPr0DvEb_xRBLYCzbC2Egzk_XYuON/s320/HC-SR04.png" width="320" /></span></a></div><div class="separator" style="clear: both; text-align: left;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="Apple-style-span" style="color: #666666;">Imagem desenvolvida com o</span> <a href="http://www.fritzing.org/">Fritzing</a></span></div><div class="separator" style="clear: both; text-align: left;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif;"><br />
</span></div><div class="separator" style="clear: both; text-align: left;"><span class="Apple-style-span" style="color: orange; font-family: Verdana, sans-serif;"><b>Código.</b></span></div><div class="separator" style="clear: both; text-align: left;"></div><div class="separator" style="clear: both; text-align: left;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">#define triggerPin 12</span></div><div class="separator" style="clear: both; text-align: left;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">#define echoPin 10</span></div><div class="separator" style="clear: both; text-align: left;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><br />
</span></div><div class="separator" style="clear: both; text-align: left;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="color: #e69138;">void setup</span>() {</span></div><div class="separator" style="clear: both; text-align: left;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> <span class="Apple-style-span" style="color: #999999;">// Configura a saída serial para recuperar a leitura do sensor</span></span></div><div class="separator" style="clear: both; text-align: left;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> <span class="Apple-style-span" style="color: #e69138;">Serial.begin</span>(9600);</span></div><div class="separator" style="clear: both; text-align: left;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> <span class="Apple-style-span" style="color: #999999;">// Configura a porta digital em modo saida</span></span></div><div class="separator" style="clear: both; text-align: left;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> <span class="Apple-style-span" style="color: #e69138;">pinMode</span>(triggerPin, <span class="Apple-style-span" style="color: #3d85c6;">OUTPUT</span>);</span></div><div class="separator" style="clear: both; text-align: left;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> <span class="Apple-style-span" style="color: #999999;">// Configura a porta digital em modo entrada</span></span></div><div class="separator" style="clear: both; text-align: left;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> <span class="Apple-style-span" style="color: #e69138;">pinMode</span>(echoPin, <span class="Apple-style-span" style="color: #3d85c6;">INPUT</span>);</span></div><div class="separator" style="clear: both; text-align: left;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">}</span></div><div class="separator" style="clear: both; text-align: left;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><br />
</span></div><div class="separator" style="clear: both; text-align: left;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="color: #e69138;">void loop</span>() {</span></div><div class="separator" style="clear: both; text-align: left;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> <span class="Apple-style-span" style="color: #999999;">// Envia um sinal de 10ms ao sensor</span></span></div><div class="separator" style="clear: both; text-align: left;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> <span class="Apple-style-span" style="color: #e69138;">digitalWrite</span>(triggerPin, <span class="Apple-style-span" style="color: #3d85c6;">LOW</span>);</span></div><div class="separator" style="clear: both; text-align: left;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> <span class="Apple-style-span" style="color: #e69138;">delayMicroseconds</span>(2);</span></div><div class="separator" style="clear: both; text-align: left;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> <span class="Apple-style-span" style="color: #e69138;">digitalWrite</span>(triggerPin, <span class="Apple-style-span" style="color: #3d85c6;">HIGH</span>);</span></div><div class="separator" style="clear: both; text-align: left;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> <span class="Apple-style-span" style="color: #e69138;">delayMicroseconds</span>(10);</span></div><div class="separator" style="clear: both; text-align: left;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> <span class="Apple-style-span" style="color: #e69138;">digitalWrite</span>(triggerPin, <span class="Apple-style-span" style="color: #3d85c6;">LOW</span>);</span></div><div class="separator" style="clear: both; text-align: left;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></div><div class="separator" style="clear: both; text-align: left;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> <span class="Apple-style-span" style="color: #999999;">// O sensor calcula o tempo gasto entre o envio e o recebimento</span></span></div><div class="separator" style="clear: both; text-align: left;"><span class="Apple-style-span" style="color: #999999; font-family: 'Courier New', Courier, monospace;"> // do sinal e retorna um pulso com esta duração</span></div><div class="separator" style="clear: both; text-align: left;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> <span class="Apple-style-span" style="color: #e69138;">long </span>duration = <span class="Apple-style-span" style="color: #e69138;">pulseIn</span>(echoPin, <span class="Apple-style-span" style="color: #3d85c6;">HIGH</span>);</span></div><div class="separator" style="clear: both; text-align: left;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><br />
</span></div><div class="separator" style="clear: both; text-align: left;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> <span class="Apple-style-span" style="color: #999999;">// Converte o tempo para distancia em centimetros</span></span></div><div class="separator" style="clear: both; text-align: left;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> <span class="Apple-style-span" style="color: #e69138;">float </span>cm = microsecondsToCentimeters(duration);</span></div><div class="separator" style="clear: both; text-align: left;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></div><div class="separator" style="clear: both; text-align: left;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> <span class="Apple-style-span" style="color: #999999;">// Informa a distancia na serial</span></span></div><div class="separator" style="clear: both; text-align: left;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> <span class="Apple-style-span" style="color: #e69138;">Serial.println</span>(cm, <span class="Apple-style-span" style="color: #3d85c6;">DEC</span>);</span></div><div class="separator" style="clear: both; text-align: left;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></div><div class="separator" style="clear: both; text-align: left;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> <span class="Apple-style-span" style="color: #e69138;">delay</span>(1000);</span></div><div class="separator" style="clear: both; text-align: left;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">}</span></div><div class="separator" style="clear: both; text-align: left;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><br />
</span></div><div class="separator" style="clear: both; text-align: left;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="color: #e69138;">float </span>microsecondsToCentimeters(<span class="Apple-style-span" style="color: #e69138;">long </span>microseconds){</span></div><div class="separator" style="clear: both; text-align: left;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> <span class="Apple-style-span" style="color: #999999;">// Converte o tempo de microsegundos para segundos</span></span></div><div class="separator" style="clear: both; text-align: left;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> <span class="Apple-style-span" style="color: #e69138;">float </span>seconds = (<span class="Apple-style-span" style="color: #e69138;">float</span>) microseconds / 1000000.0;</span></div><div class="separator" style="clear: both; text-align: left;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> <span class="Apple-style-span" style="color: #999999;">// Com a velocidade do som de 340m/s calcula-se a</span></span></div><div class="separator" style="clear: both; text-align: left;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="color: #999999;"> // distancia percorrida</span></span></div><div class="separator" style="clear: both; text-align: left;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> <span class="Apple-style-span" style="color: #e69138;">float </span>distance = seconds * 340;</span></div><div class="separator" style="clear: both; text-align: left;"><span class="Apple-style-span" style="color: #999999; font-family: 'Courier New', Courier, monospace;"> // Divide o resultado por dois pois o tempo é calculado</span></div><div class="separator" style="clear: both; text-align: left;"><span class="Apple-style-span" style="color: #999999; font-family: 'Courier New', Courier, monospace;"> // considerando a </span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="color: #999999;">ida e a volta do sinal </span> </span></div><div class="separator" style="clear: both; text-align: left;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> distance = distance / 2;</span></div><div class="separator" style="clear: both; text-align: left;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> <span class="Apple-style-span" style="color: #999999;">// Converte o resultado em metros para centimetros</span></span></div><div class="separator" style="clear: both; text-align: left;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> distance = distance * 100;</span></div><div class="separator" style="clear: both; text-align: left;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> </span></div><div class="separator" style="clear: both; text-align: left;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> <span class="Apple-style-span" style="color: #e69138;">return </span>distance;</span></div><div class="separator" style="clear: both; text-align: left;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">}</span></div><div class="separator" style="clear: both; text-align: left;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif;"><br />
</span></div><br />
<div class="separator" style="clear: both; text-align: left;"><span class="Apple-style-span" style="color: orange; font-family: Verdana, sans-serif;"><b>Referências.</b></span></div><div class="separator" style="clear: both; text-align: left;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif;"><a href="http://arduino.cc/en/Reference/HomePage">Página de referência do Arduino</a></span></div><div class="separator" style="clear: both; text-align: left;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif;"><a href="http://www.satistronics.com/ultrasonic-ranging-detector-module-hcsr04_p2539.html">Página do produto no site do fabricante</a></span></div><div class="separator" style="clear: both; text-align: left;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif;"><a href="http://www.satistronics.com/myfiles/file/Module/About%20UltracsonicModule.pdf">Datasheet</a></span></div>Kerlestonhttp://www.blogger.com/profile/14237541184892562230noreply@blogger.com5tag:blogger.com,1999:blog-8386989071802671132.post-66937306146599881232010-12-12T18:25:00.000-08:002010-12-13T05:11:24.606-08:00Introdução ao Arduino<span class="Apple-style-span" style="font-family: Verdana, sans-serif;">Ops, desculpe este post não será uma introdução ao Arduino.</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif;"><br />
</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif;">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.</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif;"><br />
</span><br />
<span class="Apple-style-span" style="color: orange; font-family: Verdana, sans-serif;"><b>E quanto a Introdução ao Arduino?</b></span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif;">Há uma série de outros blogs que já fazem isto, veja algumas referências abaixo.</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif;"><br />
</span><br />
<span class="Apple-style-span" style="color: orange; font-family: Verdana, sans-serif;"><b>Referências.</b></span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif;"></span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif;"><a href="http://arduino.cc/en/Tutorial/Blink">Agora sim Introdução ao Arduino</a></span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif;"><a href="http://arduino.cc/">Site do Arduino</a></span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif;"><a href="http://arduino.cc/en/Tutorial/HomePage">Sessão Learning do site arduino.cc</a></span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif;"><a href="http://www.ladyada.net/learn/arduino">layada.net</a></span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif;"><a href="http://www.freeduino.org/">freeduino.org</a></span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif;"><a href="http://www.arduinobrasil.blogspot.com/">arduinobrasil</a></span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif;"><a href="http://brasilrobotics.blogspot.com/">brasilrobotics</a></span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif;"><a href="http://www.sabereletronica.com.br/secoes/leitura/1307">sabereletronica.com.br</a> </span><br />
<a href="http://grokpodcast.com/2010/11/10/episodio-9-introducao-ao-arduino-com-alvaro-justen-parte-1/"><span class="Apple-style-span" style="font-family: Verdana, sans-serif;">grokpodcast.com</span></a><br />
<br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif;">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.</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif;"><br />
</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif;">Obrigado a todos.</span>Kerlestonhttp://www.blogger.com/profile/14237541184892562230noreply@blogger.com0