<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-6757163812701603246</id><updated>2011-07-08T04:39:43.102-07:00</updated><category term='imbrax arduino servo motor sucata programação eletrônica'/><category term='arduino servo motor potenciômetro imbraxlab'/><category term='buzzer motor potenciômetro imbrax cyberbox sensor reed switch robótica curitiba marista sabará educação programação eletrônica superlogo'/><title type='text'>Imbrax Lab - Eletrônica com Diversão</title><subtitle type='html'>Blog destinado a apresentar notícias, projetos, experimentos relacionados a robótica, eletrônica e programação. Tudo isso com uma pitada de diversão.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://imbraxlab.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6757163812701603246/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://imbraxlab.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Imbrax - Lab</name><uri>http://www.blogger.com/profile/15053278371494056823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>5</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6757163812701603246.post-3832374038273867867</id><published>2010-07-22T13:52:00.000-07:00</published><updated>2010-07-23T13:47:04.323-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='buzzer motor potenciômetro imbrax cyberbox sensor reed switch robótica curitiba marista sabará educação programação eletrônica superlogo'/><title type='text'>Controle da interface Cyberbox com SuperLogo</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Apresentação:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Olá amigos, hoje teremos um post diferente dos anteriores. Apresentaremos exemplos de como controlar a interface Cyberbox utilizando o software educacional SuperLogo. Serão dois exemplos que ajudarão a compreender a utilização das portas de entrada analógicas e digitais. Com base nos valores do sensores das portas de entrada uma ação será executada e assim uma porta de saída será acionada.&lt;br /&gt;&lt;br /&gt;Estes exemplos foram desenvolvidos durante o rápido mini curso que ministramos no Centro Social Marista no bairro Sabará em Curitiba onde a Cyberbox será utilizada com adolescentes do bairro.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.imbrax.com.br/_repositorio/Cyberbox/Projetos_Superlogo/centro_sabara.jpg" alt="" height="1024" width="768" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Material necessário:&lt;/span&gt;&lt;br /&gt;Para este experimento precisaremos de alguns materiais:&lt;br /&gt;&lt;br /&gt;- 1 Interface Cyberbox, seu cabo serial e fonte de alimentação&lt;br /&gt;- 1 Versão do SuperLogo que pode ser baixado gratuitamente do site da &lt;a href="http://www.nied.unicamp.br/softwares/software_detalhes.php?id=33&amp;amp;download=1"&gt;Unicamp&lt;/a&gt;&lt;br /&gt;- 1 Biblioteca de controle da Cyberbox para Superlogo que pode ser baixado &lt;a href="http://www.imbrax.com.br/_repositorio/Suporte/lib_superlogo.lgo"&gt;Imbrax&lt;/a&gt;&lt;br /&gt;- 1 Potenciômetro de 10k Ω&lt;br /&gt;- 1 Motor DC de 12V&lt;br /&gt;- 1 Sensor Reed Switch&lt;br /&gt;- 1 Buzzer 12V&lt;br /&gt;- 1 Alguns centímetros de fio AWG 22 pode ser necessário&lt;br /&gt;- 1 Alicate e chave de fenda&lt;br /&gt;&lt;br /&gt;Para saber mais sobre o sensor Reed Switch acesse &lt;a href="http://en.wikipedia.org/wiki/Reed_switch" target="_blank"&gt;aqui&lt;/a&gt;, para saber mais sobre o Buzzer acesse o &lt;a href="http://en.wikipedia.org/wiki/Buzzer" target="_blank"&gt;link&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;O que faremos?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Dois experimentos que farão a leitura das portas de entrada e com base nos sinais adquiridos tomarão uma decisão. O primeiro exemplo fará a leitura de um potenciômetro conectado a porta de entrada analógica, com base no valor do potenciômetro um motor DC será ligado ou desligado. O segundo exemplo fará o acionamento de um buzzer conectado na porta de saída baseado no sinal da entrada onde temos o sensor reed switch conectado.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Como ligar os acessórios?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Agora começa a parte divertida e prática, a montagem dos acessórios dos exemplos. Siga o texto que a montagem é simples e rápida.&lt;br /&gt;&lt;br /&gt;Exemplo 1&lt;br /&gt;&lt;br /&gt;Utilizaremos neste exemplo um motor DC de 12V, a seguir a imagem do motor que utilizamos.&lt;br /&gt;&lt;img src="http://www.imbrax.com.br/_repositorio/Cyberbox/Projetos_Superlogo/motor_dc.jpg" alt="" height="300" width="300" /&gt;&lt;br /&gt;&lt;br /&gt;Também usaremos um potenciômetro, que neste caso foi um de 10kΩ.&lt;br /&gt;&lt;img src="http://www.imbrax.com.br/_repositorio/Cyberbox/Projetos_Superlogo/potenciometro_10k.jpg" alt="" height="300" width="300" /&gt;&lt;br /&gt;&lt;br /&gt;O motor foi conectado na porta de saída número 2. Ligue um dos fios do motor na porta 2 e o outro fio na porta auxiliar GND.&lt;br /&gt;&lt;img src="http://www.imbrax.com.br/_repositorio/Cyberbox/Projetos_Superlogo/conexao_dc.jpg" alt="" height="300" width="300" /&gt;&lt;br /&gt;&lt;br /&gt;O potenciômetro que chamaremos de pot é um resistor variável, ou seja, sua resistência varia de acordo com o movimento do seu eixo. Girando no sentido horário ou anti-horário variamos a resistência e assim a tensão no seu pino de saída varia. Assim, sendo temos para cada movimento do eixo diferentes níveis de tensão. Esse comportamento o caracteriza como um elemento analógico e por isso ele vai ligado nas portas analógicas da Cyberbox.&lt;br /&gt;&lt;br /&gt;O pot foi conectado na porta de entrada analógica 1. Seus três fio foram ligados da seguinte forma:&lt;br /&gt;Fio vermelho, alimentação foi conectado na porta auxiliar VCC (onde temos 5Volts). O fio azul, de sinal foi conectado na porta de entrada 1. E o fio preto, terra foi ligado na porta auxiliar GND. Veja a imagem para fica bem claro.&lt;br /&gt;&lt;img src="http://www.imbrax.com.br/_repositorio/Cyberbox/Projetos_Superlogo/conexao_pot.jpg" alt="" height="300" width="300" /&gt;&lt;br /&gt;&lt;br /&gt;Pronto, foi bem rápido hein?!&lt;br /&gt;&lt;br /&gt;Exemplo 2&lt;br /&gt;&lt;br /&gt;No segundo exemplo utilizaremos o sensor reed switch, visualize abaixo o que utilizamos. Note que ao centro temos o ímã que quando esta próximo do sensor fecha seu contato e quando esta longe os contatos permanecem abertos.&lt;br /&gt;&lt;img src="http://www.imbrax.com.br/_repositorio/Cyberbox/Projetos_Superlogo/reed_switch.jpg" alt="" height="300" width="300" /&gt;&lt;br /&gt;&lt;br /&gt;Também temos o buzzer que será visualizado diretamente na imagem de conexão.&lt;br /&gt;&lt;br /&gt;Como montar?&lt;br /&gt;O reed switch é um elemento digital pois ele admite duas opções. 0 ou 1, ligado ou desligado ou ainda uma tensão de 0V ou 5Volts como em nosso exemplo. No nosso caso, um dos terminais do reed switch que chamaremos de RS foi ligado na porta auxiliar VCC a qual fornece uma tensão de 5V. O outro terminal foi ligado na porta digital 1. Assim, quando o ímã se aproxima do sensor a tensão de 5V da porta auxiliar é transmitida para a porta digital. Internamente a Cyberbox considera essa tensão de 5V como um sinal verdadeiro ou ligado.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.imbrax.com.br/_repositorio/Cyberbox/Projetos_Superlogo/conexao_rs.jpg" alt="" height="300" width="300" /&gt;&lt;br /&gt;&lt;br /&gt;O buzzer foi ligado na porta de saída 5. Ligue o fio vermelho na porta de saída 5 e o fio preto na porta auxiliar GND. Pronto, visualize abaixo a imagem do buzzer.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.imbrax.com.br/_repositorio/Cyberbox/Projetos_Superlogo/conexao_buzzer.jpg" alt="" height="300" width="300" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Programação:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Agora que conectamos os acessórios vamos ligar os cabos da Cyberbox, ligue primeiro o cabo serial na Cyberbox e depois no Computador. Em seguida ligue o plugue de alimentação na Cyberbox e depois na tomada. Pronto, os 2 leds vermelhos devem acender.&lt;br /&gt;&lt;br /&gt;Agora podemos mergulhar a programação com a linguagem LOGO que é bem simples, como mencionado anteriormente usaremos o Superlogo fornecido pela Unicamp.&lt;br /&gt;Clique no ícone do Superlogo na sua área de trabalho ou selecione o link onde ele foi instalado. Normalmente seu arquivo executável esta em C:\Program Files\SuperLogo\SLogo.exe. Para facilitar chamaremos o Superlogo de SL.&lt;br /&gt;&lt;br /&gt;Depois de aberto o SL é necessário carregar a biblioteca de comandos de controle da Cyberbox para o SL. Para isso clique no menu Arquivo e em seguida clique Abrir. Agora selecione o arquivo cblogo22.lgo e clique no botão Abrir.&lt;br /&gt;&lt;br /&gt;Na linha de comando do SL digite: "cyberbinit" (sem as aspas duplas) e pressione ENTER. A mensagem: [Biblioteca carregada com êxito] deverá aparecer na sua tela.&lt;br /&gt;Agora é necessário mais um comando, digite "SR" (sem as aspas duplas) e pressione ENTER.&lt;br /&gt;Ótimo agora já podemos controlar a Cyberbox.&lt;br /&gt;&lt;br /&gt;Exemplo 1&lt;br /&gt;&lt;br /&gt;Abra o menu Procedimento e crie um novo. Copie o código abaixo dentro da tela que foi aberta.&lt;br /&gt;A explicação do código está inserida na forma de comentários.&lt;br /&gt;---&lt;br /&gt;; Procedimento para controle de um motor usando um potenciômetro.&lt;br /&gt;aprenda controle_pot_motor&lt;br /&gt;&lt;br /&gt;    ; Este comando aciona a porta analógica 1&lt;br /&gt;    apa 1&lt;br /&gt;&lt;br /&gt;    ; ativetemporizador cria um bloco de código que será executado em background pelo SL a cada&lt;br /&gt;    ; 500 milisegundos. Esse bloco de código é identificado pelo número 13&lt;br /&gt;    ativetemporizador 13 500 [&lt;br /&gt; &lt;br /&gt;        ; le porta analogica 1&lt;br /&gt;        lpa 1&lt;br /&gt;&lt;br /&gt;        ; mostra para usuario valor da variável da porta analogica 1&lt;br /&gt;        escreva :VAL_ENTA1&lt;br /&gt;  &lt;br /&gt;        ;  Aqui temos a lógica, se o valor do pot for maior que 500 executamos o comando&lt;br /&gt;        ; ligue 2 senão executamos o comando desligue 2&lt;br /&gt;        senao :VAL_ENTA1 &gt; 500 [&lt;br /&gt;             ligue 2&lt;br /&gt;       ] [&lt;br /&gt;           desligue 2&lt;br /&gt;        ]&lt;br /&gt;   ]&lt;br /&gt;fim&lt;br /&gt;---&lt;br /&gt;&lt;br /&gt;Depois de inserir o código na tela "Editor de Procedimentos" selecione o menu Área de Trabalho e clique em Atualizar. Pronto, agora você pode executar o procedimento criado. Na janela de comandos digite: controle_pot_motor.&lt;br /&gt;Deve ser exibido na tela um número indicando o valor do pot, gire o pot no sentido horário e anti-horário e verifique se o motor DC liga ou desliga conforme o valor fica maior que 500.&lt;br /&gt;&lt;br /&gt;Exemplo 2&lt;br /&gt;&lt;br /&gt;Copie o código abaixo para o SL.&lt;br /&gt;&lt;br /&gt;---&lt;br /&gt;; Procedimento para controle de um buzzer a partir de um reed switch.&lt;br /&gt;aprenda rs_buzzer&lt;br /&gt;&lt;br /&gt;    ; habilita porta digital 1&lt;br /&gt;    apd 1&lt;br /&gt;&lt;br /&gt;    ; ativetemporizador cria um bloco de código que será executado em background pelo SL a cada&lt;br /&gt;    ; 500 milisegundos. Esse bloco de código é identificado pelo número 13&lt;br /&gt;    ativetemporizador 13 500 [&lt;br /&gt; &lt;br /&gt;        ; le o valor da porta digital 1&lt;br /&gt;       lpd 1&lt;br /&gt;&lt;br /&gt;        ; escreve na tela se o valor é 0 ou 1&lt;br /&gt;        escreva :VAL_ENTD1&lt;br /&gt;&lt;br /&gt;       ; se o valor da entrada 1 for igual a 1 então executamos o comando ligue 5 que&lt;br /&gt;       ; aciona a porta de saída 5 onde o buzzer esta conectado. Caso contrário executamos&lt;br /&gt;        ; o comando para desligar a porta 5&lt;br /&gt;        senao :VAL_ENTD1 = 1 [&lt;br /&gt;             ligue 5&lt;br /&gt;       ] [&lt;br /&gt;             desligue 5&lt;br /&gt;        ]&lt;br /&gt;    ]&lt;br /&gt;fim&lt;br /&gt;---&lt;br /&gt;&lt;br /&gt;Depois de inserir o código na tela "Editor de Procedimentos" selecione o menu Área de Trabalho e clique em Atualizar. Pronto, agora você pode executar o procedimento criado. Na janela de comandos digite:rs_buzzer.&lt;br /&gt;Deve ser exibido na tela um número indicando o valor do sensor rs, 0 ou 1. Aproxime o ímã ao sensor reed switch e veja que o valor deve mudar para 1, afastando volta para 0. Assim, quando o valor é 1 ou verdadeiro o buzzer é ligado e então emite o som.&lt;br /&gt;&lt;br /&gt;Legal não? Agora você pode explorar outros acessórios como botões e quem sabe desenvolver um aparelho de som. Ou pode usar o sensor de luz para controlar o acionamento de uma lâmpada quando esta escuro ou até mesmo usar um sensor de temperatura de quando esquentar acionar um motor com um pá para esfriar. Tudo depende da sua imaginação.&lt;br /&gt;&lt;br /&gt;O SL possui uma sistema de ajuda embutido dentro do aplicativo, para acessá-lo selecione o menu Ajuda e depois clique em Indice. Lá você encontrará informações sobre a programação do SL.&lt;br /&gt;&lt;br /&gt;Para saber mais sobre a interface Cyberbox, suas características, compatibilidade, recursos clique &lt;a href="http://www.imbrax.com.br/cyberbox" target="_blank"&gt;Cyberbox&lt;/a&gt;. Mais detalhes sobre SuperLogo acesse &lt;a href="http://www.imbrax.com.br/superlogo" target="_blank"&gt;aqui&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Siga nosso twitter para novidades, twitter.com/imbraxlab.&lt;br /&gt;&lt;br /&gt;Dúvidas, comentários e sugestões são bem vindas.&lt;br /&gt;&lt;br /&gt;Abraço, Diego&lt;br /&gt;twitter.com/imbraxlab&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6757163812701603246-3832374038273867867?l=imbraxlab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://imbraxlab.blogspot.com/feeds/3832374038273867867/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://imbraxlab.blogspot.com/2010/07/controle-da-interface-cyberbox-com.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6757163812701603246/posts/default/3832374038273867867'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6757163812701603246/posts/default/3832374038273867867'/><link rel='alternate' type='text/html' href='http://imbraxlab.blogspot.com/2010/07/controle-da-interface-cyberbox-com.html' title='Controle da interface Cyberbox com SuperLogo'/><author><name>Imbrax - Lab</name><uri>http://www.blogger.com/profile/15053278371494056823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6757163812701603246.post-6225654797104174004</id><published>2010-06-25T12:10:00.000-07:00</published><updated>2010-06-29T12:51:57.185-07:00</updated><title type='text'>Controlando Display de 7 Segmentos com CD4511 e Arduino</title><content type='html'>&lt;span style="font-weight:bold;"&gt;Apresentação:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Olá amigos hobistas, fãs do Arduino, programadores ou apenas curiosos. Depois de algumas semanas sem postar estamos de volta com um projeto bacana. Hoje faremos um contador utilizando um display de 7 segmentos.&lt;br /&gt;O display de 7 segmentos é normalmente utilizado para indicar números e podem ser vistos normalmente em elevadores, alguns rádio relógios.&lt;br /&gt;Aqui está um exemplo de um display de elevador.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.imbrax.com.br/_repositorio/ArduinoStuff/P_7Segments_Counter/ExDisplay.png" alt="" height="200" width="200"/&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Material necessário:&lt;/span&gt;&lt;br /&gt;Para este experimento precisaremos de alguns materiais:&lt;br /&gt;&lt;br /&gt;- 1 Placa Arduino  Duemilanove e seu respectivo cabo&lt;br /&gt;- 1 Fonte de alimentação de 5V&lt;br /&gt;- 1 Protoboard&lt;br /&gt;- 7 resistores de 150Ω&lt;br /&gt;- 1 CI CD4511- Decodificador BCD - 7 Segmentos&lt;br /&gt;- 1 Display de 7 Segmentos Catodo Comum&lt;br /&gt;- Alguns fios para conectar os componentes&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;O que faremos?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Criaremos um código para a placa Arduino, este enviará para um decodificador BCD-7-Segmetnos 4 bits, esses serão decodificados e então serão convertidos em 7 bits então usados para controlar um display de 7 segmentos.&lt;br /&gt;Para saber mais sobre códigos BCD visite o link para a &lt;a href="http://en.wikipedia.org/wiki/Binary-coded_decimal" TARGET="_top"&gt;Wikipedia&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Como ligar os acessórios?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Neste post testaremos uma nova forma de mostrar como os acessórios foram ligados, apresentarei o circuito na forma de um desenho feito com com o software &lt;a href="http://fritzing.org/" TARGET="_top"&gt;Fritzing&lt;/a&gt; que pode ser baixado gratuitamente do seu site. Veja na imagem a seguir como ficou o circuito ou clique &lt;a href="http://www.imbrax.com.br/_repositorio/ArduinoStuff/P_7Segments_Counter/Circuito.png" TARGET="_top"&gt;aqui&lt;/a&gt; para ver em tamanho real.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.imbrax.com.br/_repositorio/ArduinoStuff/P_7Segments_Counter/Circuito.png" alt="" height="300" width="300"/&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Montagem:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Image do CI CD4511BE.&lt;br /&gt;&lt;img src="http://www.imbrax.com.br/_repositorio/ArduinoStuff/P_7Segments_Counter/7Segs1_01.jpg" alt="" height="200" width="200"/&gt;&lt;br /&gt;&lt;br /&gt;Conexão do CI, resistores e display de 7 segmentos. Ficou uma aranha. :)&lt;br /&gt;&lt;img src="http://www.imbrax.com.br/_repositorio/ArduinoStuff/P_7Segments_Counter/7Segs1_02.jpg" alt="" height="200" width="200"/&gt;&lt;br /&gt;&lt;br /&gt;Placa Arduino, responsável por enviar 4 bits em formato BCD.&lt;br /&gt;&lt;img src="http://www.imbrax.com.br/_repositorio/ArduinoStuff/P_7Segments_Counter/7Segs1_03.jpg" alt="" height="200" width="200"/&gt;&lt;br /&gt;&lt;br /&gt;Visão geral do projeto, protoboard, fonte, Arduino e componentes.&lt;br /&gt;&lt;img src="http://www.imbrax.com.br/_repositorio/ArduinoStuff/P_7Segments_Counter/7Segs1_04.jpg" alt="" height="200" width="200"/&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Programação:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;A programação para este projeto é bem simples, defino 4 variáveis e atribuo a elas o endereço das portas de IO do Arduino. Em seguida na função Setup faço mais algumas configurações e então defino a função number que recebe um número como parâmetro. Baseado neste número as portas de saída são configuradas para enviar um valor BDC adequado.&lt;br /&gt;Dentro da função loop crio 2 laços para fazer a contagem de forma crescente e depois decrescente. Bem simples, veja abaixo o código. &lt;br /&gt;&lt;br /&gt;/*&lt;br /&gt;  7 Segments&lt;br /&gt;  &lt;br /&gt;  This project uses the CD4511 BCD to 7segments Latch Decoder Driver&lt;br /&gt;  to count the numbers from 0 - 9 and after 1 second from 9 - 0.&lt;br /&gt;&lt;br /&gt;  Created 25 June 2010&lt;br /&gt;  By Diego Antunes&lt;br /&gt;*/&lt;br /&gt;&lt;br /&gt;// Atribui a cada variável um endereço.&lt;br /&gt;int pinA = 6, pinD = 7, pinC = 8, pinB = 9;&lt;br /&gt;&lt;br /&gt;void setup() &lt;br /&gt;{&lt;br /&gt;  // Configura a velocidade da porta serial&lt;br /&gt;  Serial.begin(9600);&lt;br /&gt;&lt;br /&gt;  // Diz ao controlador que os pinos são de saída&lt;br /&gt;  pinMode(pinA, OUTPUT); &lt;br /&gt;  pinMode(pinB, OUTPUT); &lt;br /&gt;  pinMode(pinC, OUTPUT); &lt;br /&gt;  pinMode(pinD, OUTPUT);  &lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;// Recebe um inteiro como parâmetro&lt;br /&gt;// Baseado no número configura os pinos de saída conforme da tabela BCD&lt;br /&gt;// do CI CD4511&lt;br /&gt;void number(int num)&lt;br /&gt;{&lt;br /&gt;  switch (num) {&lt;br /&gt;    case 0:&lt;br /&gt;      digitalWrite(pinA, LOW);&lt;br /&gt;      digitalWrite(pinB, LOW);&lt;br /&gt;      digitalWrite(pinC, LOW);&lt;br /&gt;      digitalWrite(pinD, LOW);&lt;br /&gt;      break;&lt;br /&gt;    case 1:&lt;br /&gt;      digitalWrite(pinA, HIGH);&lt;br /&gt;      digitalWrite(pinB, LOW);&lt;br /&gt;      digitalWrite(pinC, LOW);&lt;br /&gt;      digitalWrite(pinD, LOW);&lt;br /&gt;      break;&lt;br /&gt;    case 2:&lt;br /&gt;      digitalWrite(pinA, LOW);&lt;br /&gt;      digitalWrite(pinB, HIGH);&lt;br /&gt;      digitalWrite(pinC, LOW);&lt;br /&gt;      digitalWrite(pinD, LOW);&lt;br /&gt;      break;&lt;br /&gt;    case 3:&lt;br /&gt;      digitalWrite(pinA, HIGH);&lt;br /&gt;      digitalWrite(pinB, HIGH);&lt;br /&gt;      digitalWrite(pinC, LOW);&lt;br /&gt;      digitalWrite(pinD, LOW);&lt;br /&gt;      break;&lt;br /&gt;    case 4:&lt;br /&gt;      digitalWrite(pinA, LOW);&lt;br /&gt;      digitalWrite(pinB, LOW);&lt;br /&gt;      digitalWrite(pinC, HIGH);&lt;br /&gt;      digitalWrite(pinD, LOW);&lt;br /&gt;      break;&lt;br /&gt;    case 5:&lt;br /&gt;      digitalWrite(pinA, HIGH);&lt;br /&gt;      digitalWrite(pinB, LOW);&lt;br /&gt;      digitalWrite(pinC, HIGH);&lt;br /&gt;      digitalWrite(pinD, LOW);&lt;br /&gt;      break;&lt;br /&gt;    case 6:&lt;br /&gt;      digitalWrite(pinA, LOW);&lt;br /&gt;      digitalWrite(pinB, HIGH);&lt;br /&gt;      digitalWrite(pinC, HIGH);&lt;br /&gt;      digitalWrite(pinD, LOW);&lt;br /&gt;      break;&lt;br /&gt;    case 7:&lt;br /&gt;      digitalWrite(pinA, HIGH);&lt;br /&gt;      digitalWrite(pinB, HIGH);&lt;br /&gt;      digitalWrite(pinC, HIGH);&lt;br /&gt;      digitalWrite(pinD, LOW);&lt;br /&gt;      break;&lt;br /&gt;    case 8:&lt;br /&gt;      digitalWrite(pinA, LOW);&lt;br /&gt;      digitalWrite(pinB, LOW);&lt;br /&gt;      digitalWrite(pinC, LOW);&lt;br /&gt;      digitalWrite(pinD, HIGH);&lt;br /&gt;      break;&lt;br /&gt;    case 9:&lt;br /&gt;      digitalWrite(pinA, HIGH);&lt;br /&gt;      digitalWrite(pinB, LOW);&lt;br /&gt;      digitalWrite(pinC, LOW);&lt;br /&gt;      digitalWrite(pinD, HIGH);&lt;br /&gt;      break;&lt;br /&gt;    default:&lt;br /&gt;      digitalWrite(pinA, HIGH);&lt;br /&gt;      digitalWrite(pinB, HIGH);&lt;br /&gt;      digitalWrite(pinC, HIGH);&lt;br /&gt;      digitalWrite(pinD, HIGH);&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void loop()&lt;br /&gt;{ &lt;br /&gt;  // Faz um loop de 0 a 9&lt;br /&gt;  for (int i = 0; i &lt; 10; i++) {&lt;br /&gt;    // Imprime o valor desejado&lt;br /&gt;    number(i);&lt;br /&gt;    // Aguarda meio segundo&lt;br /&gt;    delay(500);&lt;br /&gt;  }&lt;br /&gt; &lt;br /&gt;  // Apaga o número, perceba que quando chamo a função number&lt;br /&gt;  // com um valor &lt;0 ou &gt;9 a função simplesmente apaga todos&lt;br /&gt;  // os leds do contador. Por isso, se chamo a função com o&lt;br /&gt;  // valor 10 simplesmente o display se apagará.&lt;br /&gt;  number(10);&lt;br /&gt;  // Aguarda 1 segundo&lt;br /&gt;  delay(1000);&lt;br /&gt;  &lt;br /&gt;  // Faz um loop de 9 a 0 &lt;br /&gt;  for (int i = 10; i &gt;= 0; i--) {&lt;br /&gt;    // Imprime o valor desejado&lt;br /&gt;    number(i);&lt;br /&gt;    // Aguarda meio segundo    &lt;br /&gt;    delay(500);&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Para visualizar o resultado final deste projeto clique &lt;a href="http://www.youtube.com/watch?v=wvgMYFHMXns"&gt;aqui&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Dúvidas, comentários e sugestões são bem vindos.&lt;br /&gt;&lt;br /&gt;Abraço, Diego&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6757163812701603246-6225654797104174004?l=imbraxlab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://imbraxlab.blogspot.com/feeds/6225654797104174004/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://imbraxlab.blogspot.com/2010/06/controlando-display-de-7-segmentos-com.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6757163812701603246/posts/default/6225654797104174004'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6757163812701603246/posts/default/6225654797104174004'/><link rel='alternate' type='text/html' href='http://imbraxlab.blogspot.com/2010/06/controlando-display-de-7-segmentos-com.html' title='Controlando Display de 7 Segmentos com CD4511 e Arduino'/><author><name>Imbrax - Lab</name><uri>http://www.blogger.com/profile/15053278371494056823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6757163812701603246.post-1319027579802493584</id><published>2010-06-01T07:56:00.000-07:00</published><updated>2010-06-01T10:37:21.858-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='imbrax arduino servo motor sucata programação eletrônica'/><title type='text'>Divirta-se vigiando os amigos.</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Apresentação:&lt;/span&gt;&lt;br /&gt;Depois que montei o projeto do potenciômetro controlando o servo motor na semana passada fiquei curioso para testar o servo com outros elementos. Quem nunca pensou em controlar o ponto de foco de uma webcam? Bom, neste projeto iremos montar uma base para colocar uma webcam e ligaremos a base ao motor e o motor a placa Arduino.&lt;br /&gt;&lt;br /&gt;Como gosto de trabalhar com sucata (objetos que parecem já sem utilidade mas que podem ser retrabalhados e reutilizados) pensei neste projeto.&lt;br /&gt;&lt;br /&gt;Para este projeto precisaremos de:&lt;br /&gt;- 1 Servo motor;&lt;br /&gt;- 1 WebCam (qq modelo simples serve);&lt;br /&gt;- Alguns jumpers ou fios (neste projeto usei o fios de um cabo par trançado que não tinha mais utilidade);&lt;br /&gt;- Pedaços de chapas de acrílico ou plástico;&lt;br /&gt;- Alguns parafusos;&lt;br /&gt;- Chave de fenda ou philips;&lt;br /&gt;- Estilete;&lt;br /&gt;- Pistola de cola quente;&lt;br /&gt;- Alicate pequena;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;O que faremos?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;O objetivo do projeto é usar a placa Arduino para controlar o movimento de um servo motor que tem seu eixo acoplado a uma webcam.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Como ligar os acessórios?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Esse projeto é mais simples do que o anterior, basta ligar o cabo USB na placa Arduino e depois no computador. O servo motor possui três fio, VCC, GND e Signal. Ligue cada um deles como foi feito no exemplo anterior.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Montagem:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Para começar peguei um pedaço de acrílico que estava sobrando, fiz dois furos e parafusei na roda ligada ao eixo do servo.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.imbrax.com.br/_repositorio/ArduinoStuff/P_Servo_WebCam1/swebcam01.jpg" alt="Base e roda servo" height="200" width="200"/&gt;&lt;br /&gt;&lt;br /&gt;Mais uma foto mostra como ficou a base.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.imbrax.com.br/_repositorio/ArduinoStuff/P_Servo_WebCam1/swebcam02.jpg" alt="Arduino_Servo_Pot.png" height="200" width="200" /&gt;&lt;br /&gt;&lt;br /&gt;Fiz mais 2 novos furos e parafusei a base da webcam na base de acrílico, foi fácil pois havia dois parafursos na base da webcam que substitui por maiores.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.imbrax.com.br/_repositorio/ArduinoStuff/P_Servo_WebCam1/swebcam03.jpg" alt="Arduino_Servo_Pot.png" height="200" width="200" /&gt;&lt;br /&gt;&lt;br /&gt;Visão da base da webcam conectada a base de acrílico.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.imbrax.com.br/_repositorio/ArduinoStuff/P_Servo_WebCam1/swebcam04.jpg" alt="Arduino_Servo_Pot.png" height="200" width="200" /&gt;&lt;br /&gt;&lt;br /&gt;Mais uma. :)&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.imbrax.com.br/_repositorio/ArduinoStuff/P_Servo_WebCam1/swebcam05.jpg" alt="Arduino_Servo_Pot.png" height="200" width="200" /&gt;&lt;br /&gt;&lt;br /&gt;Agora preciso fixar o servo motor em alguma coisa pesada. Como estou trabalhando com sucata, usei um pedaço de uma caixa de acrílico que não seria mais utilizada. Removi um retângulo do mesmo tamanho do servo e coloquei o servo ali. Para fixar bem coloquei um pouco de cola quente. Pronto, ficou bem preso.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.imbrax.com.br/_repositorio/ArduinoStuff/P_Servo_WebCam1/swebcam51.jpg" alt="Arduino_Servo_Pot.png" height="200" width="200" /&gt;&lt;br /&gt;&lt;br /&gt;Aqui esta o resultado final!&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.imbrax.com.br/_repositorio/ArduinoStuff/P_Servo_WebCam1/swebcam06.jpg" alt="Arduino_Servo_Pot.png" height="200" width="200" /&gt;&lt;br /&gt;&lt;br /&gt;Mais uma, agora lateralmente.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.imbrax.com.br/_repositorio/ArduinoStuff/P_Servo_WebCam1/swebcam07.jpg" alt="Arduino_Servo_Pot.png" height="200" width="200" /&gt;&lt;br /&gt;&lt;br /&gt;Agora uma imagem que mostra a conexão dos fios do servo na placa Arduino. Como não tinha um fio preto usei o verde para simbolizar o GND ou Terra. O branco com azul é o VCC ou Força e o branco com marrom é o fio que envia o sinal para o servo.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.imbrax.com.br/_repositorio/ArduinoStuff/P_Servo_WebCam1/swebcam08.jpg" alt="Arduino_Servo_Pot.png" height="200" width="200" /&gt;&lt;br /&gt;&lt;br /&gt;Na outra ponta, temos os fios conectados nos conectores GND (fio verde), VCC 5V (fio branco com azul) e I/O PWM 9 (fio branco com marrom)&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.imbrax.com.br/_repositorio/ArduinoStuff/P_Servo_WebCam1/swebcam09.jpg" alt="Arduino_Servo_Pot.png" height="200" width="200" /&gt;&lt;br /&gt;&lt;br /&gt;É muito fácil mesmo.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Programação:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Para controlar o servo precisamos programar o Arduino, peguei como exemplo o código para controle de servo chamado Sweep. Neste código o servo vai para a posição 0 e depois vai se movemndo lentamente até 180. Depois volta para o 0 lentamente, isso num laço infinito. A única diferença no meu código foi que aumentei o tempo de delay, troquei para 40ms assim o eixo do servo motor se moverá um pouco mais devagar. No site do Arduino você pode encontrar o original &lt;a href="http://arduino.cc/en/Tutorial/Sweep"&gt;http://arduino.cc/en/Tutorial/Sweep&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;// Sweep&lt;br /&gt;// by BARRAGAN &lt;http://barraganstudio.com&gt; &lt;br /&gt;&lt;br /&gt;#include &lt;Servo.h&gt; &lt;br /&gt; &lt;br /&gt;Servo myservo;  // cria um objeto servo &lt;br /&gt;                // um máximo de 8 objetos servo podem ser criados. &lt;br /&gt; &lt;br /&gt;int pos = 0;    // variável para guardar a posição do servo&lt;br /&gt; &lt;br /&gt;void setup() &lt;br /&gt;{ &lt;br /&gt;  myservo.attach(9);  // anexa o servo ao pino 9. Isso diz para o objeto servo&lt;br /&gt;                      // onde o pino de sinal do servo esta conectado&lt;br /&gt;} &lt;br /&gt; &lt;br /&gt; &lt;br /&gt;void loop() &lt;br /&gt;{ &lt;br /&gt;  for(pos = 0; pos &lt; 180; pos += 1)  // vai de 0 até 180 graus em passos de 1 grau.&lt;br /&gt;  {&lt;br /&gt;    myservo.write(pos);              // envia para o servo a posição contida na&lt;br /&gt;                                     // variável 'pos'&lt;br /&gt;    delay(40);                       // espera 40ms para que o servo chegue na posição&lt;br /&gt;  } &lt;br /&gt;  for(pos = 180; pos&gt;=1; pos-=1)     // vai de 180 até 0 graus &lt;br /&gt;  {                                &lt;br /&gt;    myservo.write(pos);              // envia para o servo a posição contida na&lt;br /&gt;                                     // variável 'pos'&lt;br /&gt;    delay(40);                       // espera 40ms para que o servo chegue na posição &lt;br /&gt;  } &lt;br /&gt;} &lt;br /&gt;&lt;br /&gt;Baixe o código para a sua placa Arduino e pronto, o servo motor deve ir para a posição 0 e depois vai girando o eixo com intervalo de tempo de 40ms e incrementos de 1 grau.&lt;br /&gt;&lt;br /&gt;Fiz um pequeno video que demonstra este exemplo clique &lt;a href="http://www.youtube.com/watch?v=FG3-aghVr7U"&gt;aqui&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Dúvidas, comentários e sugestões são bem vindos.&lt;br /&gt;&lt;br /&gt;Abraço, Diego&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6757163812701603246-1319027579802493584?l=imbraxlab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://imbraxlab.blogspot.com/feeds/1319027579802493584/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://imbraxlab.blogspot.com/2010/06/divirta-se-vigiando-os-amigos.html#comment-form' title='2 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6757163812701603246/posts/default/1319027579802493584'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6757163812701603246/posts/default/1319027579802493584'/><link rel='alternate' type='text/html' href='http://imbraxlab.blogspot.com/2010/06/divirta-se-vigiando-os-amigos.html' title='Divirta-se vigiando os amigos.'/><author><name>Imbrax - Lab</name><uri>http://www.blogger.com/profile/15053278371494056823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6757163812701603246.post-6746993609407165633</id><published>2010-05-27T14:43:00.000-07:00</published><updated>2010-05-27T15:42:33.957-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='arduino servo motor potenciômetro imbraxlab'/><title type='text'>Servo Motor com Arduino</title><content type='html'>&lt;span style="font-weight:bold;"&gt;Apresentação:&lt;/span&gt;&lt;br /&gt;Controlar um servo motor utilizando a placa Arduino 2009 é muito fácil! Neste post realizaremos um projeto muito simples mas que mostra a capacidade e as possibilidades do arduino.&lt;br /&gt;&lt;br /&gt;Bem, para este pequeno projeto precisaremos de:&lt;br /&gt;- 1 Protoboard (pode ser qualquer uma mesmo, não importa a quantidade de pontos);&lt;br /&gt;- 1 Servo motor;&lt;br /&gt;- 1 Potenciômetro de 10K;&lt;br /&gt;- Alguns jumpers ou fios (neste projeto usei o fios de um cabo par trancado que não tinha mais utilidade);&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;O que faremos?&lt;/span&gt;&lt;br /&gt;Esse projeto esta descrito no site do arduino em http://arduino.cc/en/Tutorial/Knob e exemplifica como controlar a posição de um servo motor a partir da mudança de resistência de um potenciômetro.&lt;br /&gt;Isso mesmo, você vai girar o eixo do potenciômetro (isso vai mudar a resistência interna) e o valor da resistência será lido pelo conversor analógico-digital do micro controlador na placa arduino. Com base no valor digital da resistência o código dentro do arduino irá mapear a posição do eixo do servo motor.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Como ligar os acessórios?&lt;/span&gt;&lt;br /&gt;Como sempre, ligue a sua placa arduino ao seu computador utilizando o cabo USB e abra o programa de desenvolvimento/gravação do arduino. No menu (Tools ou Ferramentas) configure a sua placa (a minha é uma arduino 2009 com micro controlador ATMega328) e agora configure a porta serial de acordo com as portas disponíveis na sua máquina.&lt;br /&gt;Ainda não codificaremos, aguarde um pouco.&lt;br /&gt;&lt;br /&gt;Servo motores possuem 3 fios: Alimentação, terra e sinal. Consulte a folha de dados do seu servo para conhecer as tensões que ele suporta sendo que normalmente os servos trabalham com 5 ou 6V.&lt;br /&gt;&lt;br /&gt;Potenciômetros também possuem normalmente 3 fios, os pinos externos serão ligados em VCC e GND e não se preocupe que não há uma orientação padrão tanto faz ligar um ou outro em VCC e GND.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Montagem:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Para ficar mais claro eu fiz assim:&lt;br /&gt;&lt;br /&gt;Peguei um jumper e liguei uma das pontas do fio na placa arduino onde diz 5V, a outra ponta liguei em uma trilha da protoboard. Peguei outro fio e liguei uma das pontas na placa arduino onde diz GND e a outra ponta em outra trilha. Fiz isso para trazer os sinais de tensão de 5 e 0V para a protoboard.&lt;br /&gt;&lt;br /&gt;Agora pegue o cabo do servo, utilizando outro jumper ligue uma das pontas do fio no cabo vermelho do servo, ele normalmente indica alimentação. Ligue a outra ponta do fio na protoboard na trilha onde temos o sinal de 5V.&lt;br /&gt;&lt;br /&gt;Execute o mesmo processo para o fio preto do servo, utilize um jumper para ligar este fio na trilha GND ou 0V na protoboard.&lt;br /&gt;&lt;br /&gt;Agora para finalizar com o servo ligue um jumper no conector onde temos o fio amarelo do servo, a outra ponta deverá ser conectada na porta 9 do arduino.&lt;br /&gt;&lt;br /&gt;Se o seu potenciômetro não possui cabos soldados aos seus contatos pegue 3 pedaços de fio do cabo de rede e conecte nos contatos, não precisa soldar mas prenda bem firme. Use uma alicate de bico para fazer isso que é mais fácil.&lt;br /&gt;&lt;br /&gt;Ligue um dos fios dos contatos externos do potenciômetro na trilha VCC da protoboard, ligue o outro fio do contato externo na trilha GND onde conectamos o fio preto do servo. Agora ligue o fio conectado ao contato do meio na porta de entrada 0 no seu arduino. &lt;br /&gt;&lt;br /&gt;Pronto agora tudo esta conectado corretamente!&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Programação:&lt;/span&gt;&lt;br /&gt;No menu Arquivo-&gt;Examples-&gt;Servo selecione o exemplo Knob. Esse exemplo terá o código abaixo:&lt;br /&gt;&lt;br /&gt;#include &lt;Servo.h&gt; &lt;br /&gt;&lt;br /&gt;Servo myservo;  // cria um objeto servo para controlar um servo&lt;br /&gt;&lt;br /&gt;int potpin = 0;  // pino analógico utilizado para ler os dados do potenciômetro&lt;br /&gt;int val;    // variável que armazenará os valores digitais do pot.&lt;br /&gt;&lt;br /&gt;void setup() &lt;br /&gt;{ &lt;br /&gt;  myservo.attach(9);  // diz para o objeto servo que um servo motor esta conectado no pino 9 &lt;br /&gt;} &lt;br /&gt;&lt;br /&gt;void loop() &lt;br /&gt;{ &lt;br /&gt;  val = analogRead(potpin);            // lê os valores do pot (entre 0 e 1023) &lt;br /&gt;  val = map(val, 0, 1023, 0, 179);     // mapeia os valores para controlar o servo&lt;br /&gt;                                       // valores entre 0 e 180 (graus)&lt;br /&gt;  myservo.write(val);                  // envia a posição para o servo &lt;br /&gt;  delay(15);                           // aguarda o servo chegar na posição &lt;br /&gt;} &lt;br /&gt;&lt;br /&gt;Baixe o código para a sua placa arduino e pronto.&lt;br /&gt;&lt;br /&gt;Agora gire o eixo do potenciômetro para ver o servo motor sendo controlado.&lt;br /&gt;Fiz um pequeno video que demonstra este exemplo clique &lt;a href="http://www.youtube.com/watch?v=dq7S-5Ax5_A"&gt;aqui&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Dúvidas, comentários e sugestões são bem vindos.&lt;br /&gt;&lt;br /&gt;Abraço, Diego&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6757163812701603246-6746993609407165633?l=imbraxlab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://imbraxlab.blogspot.com/feeds/6746993609407165633/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://imbraxlab.blogspot.com/2010/05/servo-motor-com-arduino.html#comment-form' title='2 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6757163812701603246/posts/default/6746993609407165633'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6757163812701603246/posts/default/6746993609407165633'/><link rel='alternate' type='text/html' href='http://imbraxlab.blogspot.com/2010/05/servo-motor-com-arduino.html' title='Servo Motor com Arduino'/><author><name>Imbrax - Lab</name><uri>http://www.blogger.com/profile/15053278371494056823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6757163812701603246.post-7578948274908485205</id><published>2010-05-24T10:37:00.000-07:00</published><updated>2010-05-24T10:38:09.538-07:00</updated><title type='text'>Testando 1 2 3... testando.</title><content type='html'>Primeiro post no blog, sejam todos bem vindos.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6757163812701603246-7578948274908485205?l=imbraxlab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://imbraxlab.blogspot.com/feeds/7578948274908485205/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://imbraxlab.blogspot.com/2010/05/testando-1-2-3-testando.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6757163812701603246/posts/default/7578948274908485205'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6757163812701603246/posts/default/7578948274908485205'/><link rel='alternate' type='text/html' href='http://imbraxlab.blogspot.com/2010/05/testando-1-2-3-testando.html' title='Testando 1 2 3... testando.'/><author><name>Imbrax - Lab</name><uri>http://www.blogger.com/profile/15053278371494056823</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
