sábado, 21 de abril de 2012

Robótica Livre Aula 2 - Ativando Leds com botões 4/4

Muito bem....

Após vermos alguns conceitos vamos a nossa prática da aula 2. Segue abaixo o material necessário para nossa prática.



 Nosso primeiro passo será conectar os leds e botões ao Arduino.

1º conecte os dois botões na protoboard (no exemplo utilizei modelos diferentes mas com a mesma funcionalidade, podem ser utilizados botões iguais também).


2º Conecte um conector de cada botão nas portas digitais 3 e 4 do Arduino (utilizei os cabos azuis).



3º conecte o outro lado de cada botão no GND (terra). No exemplo utilizei cabos amarelos



4º coloque os dois leds e conecte a "perna" mas curta de cada um no GND do Arduino. Utilizei no exemplo os cabos laranjas.



5º conecte os resistores nas "pernas" mais longas dos leds.


6º conecte os resistores nas portas digitais 8 e 9 do Arduino.




Muito bem!
Já temos nosso protótipo montado. Antes de prosseguirmos para a programação devemos lembrar que os botões estão conectados nas portas 3 e 4 (que deverão ser definidas como entrada, INPUT) e os leds estão conectados nas portas 8 e 9 (que deverão ser definidas como saída, OUTPUT). Ambos estão conectados também em alguma porta GND.

continua amanhã .... :)






Robótica Livre Aula 2 - Ativando leds com botões 3/4

Antes de nossa prática principal da aula 2, precisamos aprender sobre a estrutura de controle if, else e sobre constantes.

Constantes
Ao contrário das variáveis, que podem ter seu valor modificado durante a execução do programa, uma constante têm seu valor fixo e não pode sofrer alteração durante a execução do program.

A linguagem de programação do Arduino possui algumas constantes próprias. Entre várias estão HIGH, LOW, INPUT e OUTPUT que já utilizamos em nossa primeira aula. Porém, além destas constantes, podemos criar outras quando acharmos necessário.

Vena no exemplo abaixo como declarar uma constante

     O termo Const, que indica a constante é fixo. O termo int indica o tido de dado (no exemplo está do tipo inteiro, mas podem ser utilizados outros tipos dependendo da necessidade. O campo nome, indica o nome que você dará para sua constante. O sinal de atribuição seguido do valor em seu lado direito indico o valor que esta constante irá armazenar.


Estrutura de controle if else


     Em C / C++, como em muitas linguagens de programação, a estrutura if else é utilizada para tomada de decisões durante a execução da programação.IF indica SE, e ELSE indica SENÃO. Em nosso exemplo prático você verá como funciona.

     Imagine que você tenha que dizer ao Arduino. Se o botão estiver pressionado ligue o led, senão não ligue o led. É mais ou menos isso que vamos fazer em nosso exemplo  prático. A figura abaixo demosntra melhoa essa idéia.


Função digitalRead

     Para fechar o post ainda temos a função digitalRead. Esta função lê o valor de de um pino específico digital, alta (HIGH) ou baixa (LOW). A sintaxe desta função é bem simples: digitalRead (número do pino). Vale lembrar que o número do pino pode ser substituído por uma variável ou constante que represente seu valor.

Exemplo:

digitalRead (12)  //lê o pino 12

digitalRead (val
/* Se a variável val estiver valendo 12 por exemplo, irá ler o pino 12, se estivermos atribuído outro valor a variável val, como 5, irá ler o pino 5. */









Robótica Livre Aula 2 - Ativando Leds com botões 2/4

Continuando com nossa aula....

Botões


      Uma chave  de impulso ou botão pode ser caracterizada como um  elemento destinado a permitir ou não a passagem da corrente elétrica entre um ou mais pontos de um circuito, porém este dispositivo só permanece acionado mediante aplicação de um força externa, quando esta força é interrompida, o dispositivo volta à situação anterior.

     Na ficura acima você pode observar como funciona um botão.  Quando colocamos um botão em um circuito, ele fica como parte deste circuito, ou seja fica no caminho da corrente. A idéia é bem simples, quando pressionado, faz a ligação e a corrente segue seu curso. Se não estiver pressionado a ligação fica aberta, fazendo com que a corrente não passe.




Faça o seguinte teste






     Alimentando o led com o pino 5V do Arduino (vamos acostumar a utilizar sempre um resistor), e colocando um botão no caminho do GND, você pode ligar e desligar o led pelo botão. Quando o botão não estiver pressionado não há ligação entre os dois fios verdes, quando o botão é pressionado a ligação ocorre (completando o circuito) fazendo com que o led ligue.









Robótica Livre Aula 2 - Ativando Leds com botões 1/4

     Vamos ao conteúdo abordado em nossa aula de sexta-feira na oficina de robótica livre.

Conteúdo
Pino de alimentação do Arduino
Corrente, Tensão e Resistência
Resistores
Chave Táctil (Botão)
Constantes
Estrutura If..Else
Função digitalRead
Acionando Leds com Botões


Pinos de alimentão do Arduino

     Na placa Arduino existem alguns pinos de alimentação para alimentar a placa ou utilizá-la como fonte de alimentação. A imagem abaixo é do Arduino Uno, mas serve também para o Duemilanove que estamos utilizando na oficina.

Vin: entrada de alimentação quando uma fonte externa for utilizada. Caso alguns dos conectores principais de alimentação do arduino esteja sendo utilizado, ou seja, o Arduino esteja recebendo alimentação por outra entrada, o pino Vin funcionará como saída de alimentação.

5V: Pino que fornece 5V para alimentar outros dispositivos.

3,3V: pino que fornece 3,3V para alimentar outros dispositivos.

GND: (Ground): pino terra.

Faça um teste com estes pinos. 
Conecte o Arduino no computador.
Coloque um Led com a perna mais comprida no pino de 5V e a mais curta(terra) no pino GND.
Coloque outro Led com a perna mais comprida no Vin e a mais curta no outro GND.
Os dois Leds irão ligar. :)






Corrente Tensão e Resistência
     De uma forma bem simples, tensão elétrica é uma espécie de força que faz com que os elétrons se movimentem dentro de um aparelho ou circuito. Veja o exemplo abaixo.


     Quando conectamos um Led nos pólos de uma pilha por exemplo esta pilha exerce uma força (Tensão), fazendo com que os elétrons movimenten-se pelos fios, formando uma corrente elétrica. Então para que occora uma corrente elétrica passando por aparelhos ou circuitos, é necessário que se tenha um tensão agindo sobre eles. A tensão elétrica é medida em Volts e a corrente elétrica em Ampère.

     Já a resistência elétrica é a dificuldade que a corrente elétrica tem de passar no circuito. Na figura acima, o próprio Led exerce uma resistência sobre a corrente elétrica quando ela passa por ele, fazendo com  que o led acenda. A resistência elétrica é medida em Ohm, representada pelo símbolo Ω.

     Resistor: Um resistor é um componente que possui entre suas  finalidades, limitar a corrente elétrica em um circuito, fazendo com que haja uma queda de tensão ou seja, uma diminuição da força da corrente.


     Na figura acima temos a imagem de dois resistores e um esquema. No esquema foi colocado um resistor no circuito fazendo com que ao passar naquele ponto tenha-se uma diminuição na corrente. Um resistor é muito útil quando utilizamos led com o  Arduino, pois as portas do Arduino trabalham com 5V e os led em torno de 2 a 3V.

Faça o seguinte teste em sua protoboard.
     Ligue dois leds iguais, utilizando a porta 5V. porém em um dos leds coloque um resistor. (no exemplo utilizei um resistor de 470 Ohms). Você verá que o led em que a corrente passa pelo resistor, fica mais fraco.









quinta-feira, 19 de abril de 2012

Resultado da primeira tarefa - Robótica Lego

     Pessoal!!! segue a pontuação de cada equipe em nossa primeira tarefa.
     Equipe CraftLego inicia na ponta, seguida por Lego Maximus. Equipes RobôLoco e UltraLego empatados no meio da tabela. Equipe Facelego com 5 pontos ( Não desanimem, pois o desafio está apenas começando). Equipe NXTZones deve levar mais a sério aulas, menos brincadeira e mais trabalho para que possam fazer uma boa pontuação na próxima tarefa.


Vídeo com alguns momentos de nossa primeira tarefa.

segunda-feira, 16 de abril de 2012

Ativando leds com Arduino - Exemplo

Coloquei aqui 3 exemplos que fiz. Utilizei as sequências trabalhadas nas primeira aula na escola, só que com todas elas na mesma programação. A sequência é a mesma nos três vídeos, só mudam os leds.

Sequência de leds com Arduino (1)

Sequência de leds com Arduino (2)
 
Sequência de leds com Arduino (3)


domingo, 15 de abril de 2012

Robótica Livre Aula 1 - Ativando Leds com o Arduino parte 5

Finalmente vamos praticar.

Abra o ambiente de programação!!

     A primeira coisa a fazer é inicializar os pinos que iremos utilizar, ou seja, dizer para o arduino quais pinos serão utilizados e se serão de entrada ou de saída.



     Você lembra que nossa programação é dividida em duas partes principais? No void setup inicializamos as portas com a função pinMode utilizando o número da pino e o tipo, neste caso saída(OUTPUT).

A ligacão dos leds com as portas ficaram na seguinte sequência de cores.

2 3 4 5 6 7 8 9 10




Agora vamos ao primeiro exemplo.


     O bloco void loop é o responsavel por executar os passos da nossa programação. Os passos são sempre executados linha por linha. Nesta primeira programação (imagem acima) com a função digitalWrite ligamos a porta 2, fazendo com que o led conectado a esta porta acenda. Depois utilizamos a função delay(1000) para aquardar 1 segundo. Podemos utilizar também outros valores para modificar o tempo de espera. Na próxima linha utilizamos a função digitalWrite novamente para desligar a porta 2, fazendo com que o led apague novamente.

     É importante lembras que no void loop, quando a execução chega ao final, ela retorna para a primeira linha novamente. Por isso o led ficará ligando e desligando infinitamente.

Altere os valores da função delay e veja o resultado. Faça os testes com 500, 200 e 70.

     Você deve ter percebido que no código existem comentários na cor cinza. Estes comentários não são lidos pelo compilador na hora da execução, servem apenas para nossa organização e para facilitar o entendimento.

Importante!!!!
Se o comentário for de apenas uma linha basta colocar // antes de digitar. caso seja de mais de uma linha podemos colocar /* inserir o comentário e encerrar com */

Exemplo 2
Liganto os leds vermelhos em sequência.

Para ligar os leds vermelhos em seguência, utilizaremos os mesmos comandos. Bastando apenas triplicarmos seu conteúdo alterando o numero da porta.

Tente fazer os seguintes exercícios.


Ligar os três leds vermelhos em sequência. Quando os três estiverem acesos, piscar três vezes os três antes de apagar todos.


Piscar os três leds vermelhos, depois os 3 amarelos, depois os três verdes com intervalo de 0,5(500) segundos. Testar também nas velocidades 200 e 70.


Ligar os três leds vermelhos ao mesmo tempo, mantendo-os ligados, ligar os amarelos, mantendo-os ligados, ligar os verdes todos com intervalo de 0,2 segundos, quando todos estiverem ligados, apagá-los por 1 segundo e iniciar novamente.

Ligar os leds em sequência. Quando o ultimo acender todos se apagam e a sequencia inicia novamente.