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

quarta-feira, 15 de abril de 2015

Quadricoptero - Parte 2

     Fala pessoal, hoje irei fala mais do projeto ensinando como fazer testes, balancear, calibrar e posicionamento das hélices e sentindo de rotação.
     Não tenho vídeos próprios mas irei postar vídeos que explicam sobre o assunto. 


-Balancear Hélices
     Porque balancear as hélices? Sem o balanceamento pode influenciar na estabilidade do projeto, o drone pode começar a puxar para o lado ou para algum sentido. No balanceador, a hélice tem que ficar completamente na horizontal, caso tenha algum desnível precisa balancear.
     Como balancear? Bem simples, no meu caso e que pesquisei na internet, cortei várias tiras de fita isolante bem pequenos e fui colocando na hélice que estava mais alta até nivelar.



Existem vários modelos de balanceador com vários preços

-Calibrar os ESC
     É necessário calibrar os ESC para reconhecer o valor máximo e o valor mínimo de leitura do controle, toda vez que mudar o receptor é necessário calibra-lo novamente. Não só com controle, até fazendo teste usando potenciômetro ou utilizando um servo test precisa calibrar, como mostra no vídeo abaixo.



-Tipos de Hélices e Sentidos de Rotação
     Numa explicação bem clara, o motor com a hélice tem que pegar o ar que fica em cima e jogar para baixo para que possa começar a levantar vôo, mas precisamos saber que cada motor precisa rodar num sentido (de acordo com a hélice) para ficar estabilizado no ar, caso contrario irá subir "rodopiando".
     A imagem abaixo ilustra o sentido dos motores para um quadcopterto, mas cada drone com quantidade de motores diferentes tem uma montagem nesse aspecto. 


No meu caso, estou usando o QUAD X
     No Quadcoptero é necessario usar 2 pares de pas, cada par possui hélices com sentidos oposto uma das outras (CW e CCW, sigla ingles que e sentido horário e sentido anti-horáio), com isso junto ao motor que irá puxar o ar de cima e jogar para baixo


-Baterias
     Não tem muito o que explicar nas baterias e sim para prestar atenção que também existe uma ligação entre os ESC e o modelo de bateria. Precisa prestar atenção a especificação do ESC com qual bateria é compatível pela quantidade de celulas que a mesma possui.

     Bom pessoal, qualquer duvida só deixar comentário que responderei o mais rapido possivel. Com drone não sou nenhum expert mas estou tentando aprender o maximo para passar para vocês. Espero que tenham gostado e até a proxima

segunda-feira, 23 de março de 2015

Quadricoptero - Parte 1

     Fala pessoal, voltando com um projeto mega interessante e que também está fazendo sucesso ultimamente que são os Drones. Comecei esse projeto a quase 1 ano (infelizmente demoraram muito para chegar e infelizmente por conta dos Correios do Brasil), comprei praticamente todo material da china e os que faltam também irem comprar lá (se o dólar ajudar).



     Mas antes de falar do projeto, vamos explicar um pouco sobre o assunto:
     O que seria um Drone? Um Veículo Aéreo Não Tripulado (VANT) ou Veículo Aéreo Remotamente Pilotado (VARPe mais conhecido como drone, é todo e qualquer tipo de aeronave que não necessita de pilotos embarcados para ser guiada. Esses aviões são controlados a distância por meios eletrônicos e computacionais, sob a supervisão e governo humanos, ou sem a sua intervenção, por meio de Controladores Lógicos Programáveis (CLP).

     Tipos de Drones? Existem modelos com 3, 4, 6, 8 e 10 motores (vai de acordo com o projeto de cada um que queira fazer ou comprar já pronto) e também para que seria usado, mas irá depender dos motores: De torque elevado, ideal para modelos de médio/grande porte e 3D; De torque moderado e baixa velocidade, frequentemente usado em modelos Treinadores; Motores com características acrobáticas. São motores com um bom torque e uma boa velocidade; Motores recomendados para Asa Baixa, Sport, Warbirds e todos os aeromodelos de média velocidade; São motores de baixo torque mas com velocidade moderada a alta. Muito bom para Racers, Zagi; Motores com muita velocidade e torque relativamente baixo. Ideais para Jatos (Pusher e EDF), Pylon, Zagi de velocidade.

     O que precisa para montar um drone? Uma explicação a grosso modo precisaria de: Frame (estrutura do drone), Motores Brushless, Hélices, ESC (Controle de Velocidade Eletrônica, em português), Controle Tx e Rx, Bateria de Aeromodelismo, Placa Controladora (no meu caso Arduino) e Carregador de Bateria.
Mas tudo tem uma especificação que cada item fica ligada a outra, como tipos de motores, tamanho e balanceamento das hélices e tipo de ESC, logo irei explicar.

O frame comprei na Hobbyking, estrutura toda feita em Fibra de Carbono para deixar o projeto mais leve e resistente.
Os ESC comprei no Aliexpress, seguindo as especificações dos motores
RM366-2-621e
Compra no Aliexpress, as hélices também são fibra de carbono (25cm de ponta a ponta)
DSC_0107
Placa Controladora também comprei no Aliexpress, ele possui a CI Atmega (mesmo do Arduino)
Os motores Comprei no DealExtreme

     Muitos já vieram me perguntar porque estou montando e com o que gastei com o material não comprei um novo. Bom primeiro é pelo desafio de montar e ve-lo funcionando, segundo irei montar de acordo com as minhas caracteristicas (pois quero montar um drone com boa estabilidade, posso não ter visto ainda mas todos que vi, qualquer brisa já perde o controle). Só nesse material já gastei uns R$500,00 a 600,00 com material, frete e taxas do governo.

     Logo irei postar mais explicando cada item detalhadamente, ensinando como fazer testes, balancear, calibrar e posicionamento das hélices e sentindo de rotação.




     OBS.: Ainda estou reparando o site com as fotos e videos que sairam do ar
     Espero que tenham gostado, logo terá mais. Até a Próxima!!!

segunda-feira, 14 de janeiro de 2013

Divulgação de Cursos no Rio

     Como a primeira postagem do Ano uma otima pedida é divulgar cursos para quem quer começar com programação ou já conhecem e querem aprender mais!



     No Curso de Arduino, a instrutora Desireé (que participa do Grupo ArduInRio) irá ensinar a eletrônica básica que envolve no Arduino (componentes mais utilizados nos projetos) e um otima Introdução na programação.

sábado, 13 de outubro de 2012

Arduino no Atmel Studio

     Para programar o Arduino não é necessário programar somente no IDE e sim em outros programas. Hoje vou ensinar a configurar o Atmel Studio 6 para programar no Arduino em Wiring (programação própria do IDE)... Para fazer o download do software que é gratuito é só entrar no site do Fabricante Atmel (é necessário fazer um registro para pode fazer o download), para quem não sabe os Atmegas são fabricados pela própria Atmel.


     Aprendi a usar o novo software pelos vídeo 1 e o vídeo 2 do Fernando Nunes. Percebi alguns pontos negativos para programar, para cada Arduino com porta diferente (COM 1, COM 2, etc.) é necessário configurar novamente; Para cada modelo de Arduino (UNO, MEGA, NANO, etc.) é necessário configurar novamente¹; Para cada versão de IDE (as vezes versões novas da erros com IDEs antigos, etc) é necessário configurar novamente²; Para cada programação que for fazer, sempre vai ter que configurar, não igual aos outros e sim direcionando aonde estão as bibliotecas do IDE³.
     Caso faça isso para uso pessoal e que não trabalhe com muitos Arduinos, vale a pena usar o software.

     Para começar iremos instalar uma extensão do Atmel Studio da janela Serial, para que possamos visualizar os valores dos sensores ou fazer controle pelo teclado, como se fosse o Monitor Serial do IDE.
Assim que abrir o programa vai em Tools -> Extension Manager -> Available Dowload (que fica no lado esquerdo da janela) -> Terminal Window.
Para fazer o download será necessário entrar com o seu login e a senha, o mesmo que registrou para fazer o download. Após feito o download e instalado, pronto já podemos ir para próxima etapa.

     Agora nessa etapa vamos configurar o AVR dude (configuração para programar o chip do Arduino). A partir de agora fica um pouco trabalhoso para configurar, isso só irá servir para programar um tipo, modelo de arduino.
     1.0 - Vai em Tools -> External Tools (serve para configurar uma nova ferramenta).
     1.1 - Após abrir uma janela vamos configurar cada item: Title: eu coloquei Upload Arduino UNO COM3 (isso porque era a versão do meu Arduino e a porta que está usando, mas vocês podem colocar outro nome).
     1.2 - Em Command: você vai direcionar o arquivo executável do avrdude, vamos achar nele na posta do Arduino: arduino -> hardware -> tools -> AVR -> bin -> avrdude.exe
     1.3 - Agora vai dar trabalho, em Arguments: 
     Para preencher esse campo vamos abrir o IDE do Arduino e ir em File -> Preference e vamos marca para começar só o upload e deixar desmarcado o compilation
     Após isso pegue uma programação de exemplo como blink e manda fazer o upload, isso sem nenhum arduino está conectado ao computador (lembrando que tem que ser com a porta que o seu arduino usa no computador e o modelo) com o erro você vai copiar a parte da imagem que está marcada e colar em Arguments:
     Após colocar esse endereço nos Arguments... Logo depois do :w: tem que escrever: "$(ProjectDir)Debug\$(ItemFileName).hex":i. Agora sim acabamos com esse item.
     1.4 - Só marcar agora o item Use Output Window e acabamos com essa primeira parte.
OBS.: Isso só serve para configurar para fazer a compilação de um TIPO e MODELO de Arduino.
Agora vamos configurar a Biblioteca do Arduino:
      2.0 - Primeiramente vamos criar uma pasta chamada de ArduinoCore (dentro vão ser salva a biblioteca dos pinos e de programação do IDE dentro da pasta do Atmel Studio (essa pasta é onde vão ser salvas as programações feitas por ele) que foi criada nos meus documentos logo que você instalou o software.
    2.0.1 - Em arduino -> hardware -> arduino -> cores -> arduino. Copia todos os arquivos com arquivos .h e cola no ArduinoCore, os arquivos C e C++ não copia.
    2.0.2 - Agora vamos salvar o arquivo .h que fala dos pinos do Arduino que fica em arduino -> hardware -> arduino -> variants -> Standard (isso se o seu for o UNO), caso você não saiba você vai na pasta arduino -> hardware -> arduino no arquivo boards.txt (vai aparecer um pouco bagunçado mas nesse arquivo você vai saber qual pasta que esta dentro de variants usar. Sabendo o arquivo você pega o arquivo pins_arduino e cole em ArduinoCore.
     2.0.3 - Agora é o ultimo arquivo para salvar dentro dessa pasta. Agora no IDE em File -> Preference e vamos marca para começar só o compilation e deixar desmarcado o upload e com a programação de exemplo blink mandar fazer a compilação mas sem o arduino conectado ao computador, de novo vai dar erro.
     Essa mensagem é muito grande para agilizar, logo na primeira linha que tem a terminação do core.a seleciona o endereço marcado na imagem e cola no endereço do meu computador.
     Copie o arquivo core.a e cole no ArduinoCore, mas renomeie para libcore.a. Com isso terminamos a nossa pasta com os arquivos de ArduinoCore.

     Agora toda vez que for fazer a programação, terá que configurar a pasta para exibir a biblioteca de programação do wiring (não é a biblioteca como servo, display, etc.) mas para ir adiantando copie a pasta que está dentro do arduino Librares e cole dentro da pasta Atmel Studio junto com o ArduinoCore.

     Quando for criar a programação vamos em: Criar Novo Projeto e selecionaremos o terceiro item que é GCC C++ Executable Project e logo a segui o escolher o chip que usamos, no caso o UNO é o ATmega328p.
    Apos carregado a janela de programação vamos selecionar as bibliotecas em Project -> Nome da programação properties (ALT + F7) -> Toolchain.
     2.1 - Nos itens AVR/GNU C Copiler e AVR/GNU C++ Copiler será feita a mesmas coisas.
     2.1.1 - Em Directores vamos selecionar a pasta ArduinoCore
     Assim que escolher a pasta, ANTES de clicar em ok precisa desmarcar a opção Relative Path isso em todas as vezes que for selecionar a pasta do ArduinoCore.
     2.1.2 - Em Optimization em Optimization Level selecionar a ultima opção e marca o primeiro item... os três primeiros itens vão ficar marcados que nem a imagem a seguir.
     2.2 - Agora em AVR/GNU Linker em Optimization é só marcar a primeira opção (irão ter três, só a primeira que irá ficar marcado).
     2.2.1 - Em Libraries, no primeiro quadro ao adicionar a o item, escrevemos libcore.a e logo em seguida ok. No seguindo quadro vamos adicionar a pasta ArduinoCore e também a pasta das bibliotecas do Arduino como tinha dito para adiantar anteriormente, mas fazendo o mesmo esquema, quando for selecionar a pasta precisa desmarcar a opção Relative Pach.
     Pronto terminamos de configurar tudo, agora e aperta o botão de salvar e voltar para a pagina de programação... Lá você apaga tudo que está escrito e sempre que for fazer a programação você vai escrever:
#define F_CPU 16000000
#define ARDUINO 101
#include "Aduino.h"

     E logo a seguir fazer a programação desejada, no vídeo mostro fazendo a programação do blink e do controle pelo teclado para mostrar também como funciona o Terminal Window.
     Após ter feito a programação para verificar se está funcionando você vai em Build -> Build Solution esse item que fará a verificação da programação, caso não tenha nenhum erro você vai em Tools -> Upload Arduino UNO (ou como você tenha nomeado anteriormente). Você verá que a programação será enviada com sucesso para a sua placa.

     Sempre que você programar, precisa escrever os comando como foi dito antes e logo em seguida escrever a programação normalmente como se fosse no IDE.

Vídeo:
Vídeo sendo editado, logo será exibido, desculpa pela falta do vídeo pessoal

    Espero que tenham entendido, também sou novo com o programa Atmel Studio... Qualquer duvida só falar.

sexta-feira, 12 de outubro de 2012

Diferença entre Arduinos

     Fala Pessoal... já tem um bom tempo que não posto nada mas estou voltando com tudo. Para voltar ao assunto, falar das diferenças das placas (dados técnicos deles e para qual projeto seriam ideal) geralmente mais usados.

Arduino UNO
(Existem várias versões de Arduino UNO como UNO SMD, UNO R2 e o último UNO R3)
MicrocontroladorATmega328
Tensão de operação5V
Tensão de entrada (recomendada) 7-12V
Tensão de entrada (limites)6-20V
Pinos de I/O Digitais14 (6 deles com saída PWM)
Pinos Analógicos6
Corrente CC  por I/O Pino40 mA
Corrente do Pino 3.3V50 mA
Memória Flash32 KB (ATmega328) 0.5 KB usado pelo bootloader
SRAM2 KB (ATmega328)
EEPROM1 KB (ATmega328)
Velocidade do Clock16 MHz

     Ele é ideal para quem está começando com essa placa, muita gente que começa as vezes querem já fazendo projetos grandes ou pequenos para ver sua capacidade. Concerteza, caso o projeto não for muito elaborado e que precise usar todas as portas, acho um pouco difícil, esse é ótimos para os iniciantes e para quem já usa normalmente.
"Uno" significa um em italiano e é nomeado para marcar o lançamento do Arduino 1.0

Arduino MEGA
(Existem outras versões também como MEGA UNO, MEGA R3)



MicrocontroladorATmega2560
Tensão de operação5V
Tensão de entrada (recomendada) 7-12V
Tensão de entrada (limites)6-20V
Pinos de I/O Digitais54 (14 deles com saída PWM)
Pinos Analógicos16
Corrente CC  por I/O Pino40 mA
Corrente do Pino 3.3V50 mA
Memória Flash256 KB (ATmega2560) 8 KB usado pelo bootloader
SRAM8 KB (ATmega2560)
EEPROM4 KB (ATmega2560)
Velocidade do Clock16 MHz


     Bom como podem ver esse Arduino possui bem mais portas, ótimo para projetos grandes que utilizariam muitas portas e também usar até os shields sem que atrapalhe no mesmo. Exemplo de projeto com isso é automatizar uma casa com ele, casa porta controlar um Relé para acionar as tomas, lâmpadas, etc.

Arduino ADK

MicrocontroladorATmega2560
Tensão de operação5V
Tensão de entrada (recomendada) 7-12V
Tensão de entrada (limites)6-20V
Pinos de I/O Digitais54 (14 deles com saída PWM)
Pinos Analógicos16
Corrente CC  por I/O Pino40 mA
Corrente do Pino 3.3V50 mA
Memória Flash256 KB (ATmega2560) 8 KB usado pelo bootloader
SRAM8 KB (ATmega2560)
EEPROM4 KB (ATmega2560)
Velocidade do Clock16 MHz

     Como podemos ver, a unica diferença do ADK para o Arduino MEGA em si é que o ADK possui uma porta USB que serve para ligar em aparelhos que possua Android. Essa placa serve para projeto que tenha interação com o Android.

Arduino Leonardo
(Essa placa é a mais recente, foi criada a pouco tempo)
MicrocontroladorATmega32U4
Tensão de operação5V
Tensão de entrada (recomendada) 7-12V
Tensão de entrada (limites)6-20V
Pinos de I/O Digitais20 (7 deles com saída PWM)
Pinos Analógicos12
Corrente CC  por I/O Pino40 mA
Corrente do Pino 3.3V50 mA
Memória Flash32 KB (ATmega32U4) 4 KB usado pelo bootloader
SRAM2,5 KB (ATmega32U4)
EEPROM1 KB (ATmega2560)
Velocidade do Clock16 MHz
     Essa placa é recente, creio que serve para quem já está acostumado com o Arduino pois na programação criaram mais funções com ele, como usar a placa como teclado ou mouse. Outra coisa que difere das outras placas é que o processamento dele é mais rápido 32U4 sendo que os outros são 8U2.

     Existem outros tipos como Fio, Nano, Pro Nano, LilyPad... Mas esses tipos de Arduinos são muito pequenos, perfeitos para projetos pequenos e que gostariam que fossem discretos... Mas podem saber mais no site do arduino.cc

Agora voltei e tem muito mais por vir... Até a próxima galera...

sexta-feira, 15 de junho de 2012

Sensor de Proximidade com Infravermelho

     Existem várias maneiras de fazer um projeto para detectar um obstáculo, como já tinha postado antes, um deles foi o sensor de toque. Nesse caso vou mostrar como se faz com sensor infravermelho que, funciona a mesma coisa que um sistema de sensor de luz.

     Bom, no circuito logo a seguir irão ver que possui 2 LEDs IR emissor e 1 LED IR receptor. Os dois emissores mandam a luz infravermelho, caso não tenha obstáculo a frente a luz não irá voltar com intensidade, caso tenha um obstáculo a frente a luz que foi emitida irá ser refletida e o receptor fará a leitura. Quando o obstáculo fica mais próximo, maior será o valor da leitura no Arduino.

Esquema:
Houve um erro na imagem a ordem fica: 5v, GND e Sinal
     Na programação vou usar um exemplo quando houver algum obstáculo, acenderá um LED. Bom que com esse projeto é bem semelhante ao sensores como Sharps que são bem carinhos.

Programação:
int sensor = 0;
int valor = 0;
int led = 13;
void setup()
{
  pinMode(led, OUTPUT);    //Especifiquei que LED é saída de dados
  Serial.begin(9600);      //Taxa de dados 9600 bps (bytes por segundo)
}
void loop()
{
  valor=analogRead(sensor);//Preparando o sensor, dizendo que a leitura pertence ao valor
  Serial.println(valor);   //Linha que expressa para mostrar o valor do sensor no Monitor Serial
  if(valor > 200)          //Condição que se o valor for maior que 200
  {
    digitalWrite(led, HIGH);//LED fica acesso
  }
  else                      //Caso contrario,
  {
    digitalWrite(led, LOW); //LED fica apagado
  }
}

Vídeo:
O vídeo está sendo editado, mas logo será postado

     Bom, espero que tenham gostado, qualquer duvida já sabem só comentar. Até mais...

segunda-feira, 11 de junho de 2012

g-Duino

     O g-Duino (G é de Gravidade e o duino vem do Arduino) é um projeto desenvolvido pela turma da Robótica da Ferreira Viana e foi feito para ser um instrumento de física que consiste em achar a gravidade local do instrumento. Como todos já sabem 9,81m/s² é a gravidade do nível do mar e muitas escolas arredondam para 10m/s², quanto maior a altura menor vai ser a gravidade, logo esse arredondamento seria do nível abaixo do mar.

     Não irei posta a programação e nem o esquema elétrico pois esse projeto é próprio e a minha equipe vamos utilizar esse instrumento para próximos eventos. A placa já foi toda customizada e guardada dentro de uma caixa patola, sendo que só o display que fica para fora.


Vídeo:
O vídeo está sendo editado, logo será postado

quinta-feira, 7 de junho de 2012

ArduBlock

     Bom essa extensão do IDE é bom para quem está começando a programar com o Arduino, pois a sua programação e desenvolvida em blocos mas podendo gerar o código no final. Primeiramente download da extensão do ArduBlock.

     Primeiramente você tem que saber aonde que o IDE criou uma pasta para salvar as programações para isso, você abre o programa -> Arquivo -> Preferencias e pronto, irá abrir uma janela logo de cara mostra onde fica essa pasta no qual deve ser colocado o ArduBlock:


     Apos saber aonde fica salvo as programações, necessário ir ate essa pasta e criar outras pastas nele mas com a ordem e o jeito de escrever certo:
- 1º criar uma pasta chamada tools dentro do Arduino;
- 2º criar uma pasta chamada ArduBlockTool dentro do tools;
- 3º criar uma pasta chamada tool dentro do ArduBlockTool;
- 4º salvar o arquivo dentro dessa ultima pasta...

     Depois de ter feito isso, abre o IDE vai em ferramentas do programa e terá um novo icone do Ardublock, clique nele e comece a programar por blocos para o Arduino


     Espero que tenham gostado dessa novidade, facilita muito para quem está passando do kit LEGO para o Arduino ou para quem está realmente começando com programação. Até mais...

terça-feira, 31 de janeiro de 2012

Curso de Arduino a Distancia

     Bom pessoal sei que estou sumido mas ainda continuo com os projetos para postar o quanto antes aqui. O site em que vou indicar explica como iniciar com o Arduino, porem o curso não da certificado mas é uma boa iniciativa e além do mais é gratuito o curso.

     Para entrar no curso é necessário se cadastrar, http://www.eaduino.com.br/ e esperar que seja informado da turma que vai entrar. OBS.: As turmas atuais já estão lotadas e a duração do curso desse curso é de 1 mês.


segunda-feira, 9 de janeiro de 2012

Modulo Bluetooth

     Bom pessoal agora estou começando a fazer projetos de automação. Usando já os presentes que recebi o modulo Bluetooth e o Bluetooth USB e é necessário de um software livre para esses dispositivos que no meu caso estou usando o BlueSoleil, esse link é uma versão antiga e funcionou perfeitamente, existe versões mais atualizadas mas dava erro ou era pago.

     Antes de mais nada vamos saber o que é Bluetooth? Bluetooth é um dispositivo que conecta e  troca informações com outros aparelhos, celular, notebook, impressoras, vídeo games, etc.

     Bluetooth é um protocolo padrão de comunicação primariamente projetado para baixo consumo de energia com baixo alcance, (dependendo da potência: 1 metro, 10 metros, 100 metros) baseado em microchips transmissores de baixo custo em cada dispositivo.
     O Bluetooth possibilita a comunicação desses dispositivos uns com os outros quando estão dentro do raio de alcance. Os dispositivos usam um sistema de comunicação via rádio, por isso não necessitam estar na linha de visão um do outro, e podem estar até em outros ambientes, contanto que a transmissão recebida seja suficientemente potente.

     O modulo e o USB que recebi foi idêntico a esses: Módulo e USB e foi necessário fazer uma plaquinha para poder soldar e adaptar o Bluetooth no Arduino, preferir fazer a placa como externa e não como Shield. O layout da placa foi feita na mão e por isso que não da para colocar aqui no blog.
     Serão usado apenas 4 terminais desse módulo, o Tx que é o terminal 1, o Rx que é o terminal 2, o Vcc que é o terminal 12 e o GND que é o terminal 13. Necessário prestar atenção se o Bluetooth precisa de uma tensão de 5v ou de 3,3v, no meu caso 3,3v.
     Para ligar  esse dispositivo no Arduino, precisa prestar atenção também em Ligar o Tx do módulo ao Rx do Arduino, o Rx do módulo ao Tx do Arduino e a tensão de entrada do módulo e GND.

     Na programação, qualquer dispositivo que trabalhe com Rx e Tx não precisa de biblioteca, assim a programação fica mais fácil de entender e fazer também.
     Para testar a minha programação usei a programação do controle pelo teclado com os relés. Para criar uma programação precisa usar o Serial.available() que serve obter a leitura de bits para a leitura da porta serial e o Serial.read() que lê a entrada de dados do serial.

Como Saber a porta do Modulo Bluetooth:

Vídeo:
Logo postarei o vídeo com o projeto descrito.

terça-feira, 20 de dezembro de 2011

Cubo LED 3x3x3


     Bom conseguir fazer o meu ultimo projeto do ano, consegui fazer o cubo LED. Bom esse projeto tem de vários tamanhos , formas e tipos de LED, no meu caso estou usando nas dimensões 3x3x3 com LED de alto Brilho Azul (os que foram comprado no DealExtreme).

     Nesse projeto usei uma programação demo, que já estava disponibilizada no site do Arduino.cc mas usei essa programação só para conferir se o projeto estava funcionando ou não, logo logo irei postar a minha programação.

Material Usado:
- 27 LEDs;
- 9   Resistores de 220ohm;
- 3   Transistores BC547 (NPN);
- Barra de Terminal Macho;
- Placa Virgem 60x70mm;
- Fio Cabinho;


     Antes de começar, para poder me ajudar na montagem do projeto peguei uma placa pequena e fina  de madeira e fiz os furos para encaixar os LEDs, espacei entre eles 2cm e soldei os anodos (todos os anodos "viram 1 só").



     Necessário fazer isso 3 vezes, lembrando e prestando atenção qual é o anodo do LED, para quem não sabe, o anodo é o terminal maior* e o catodo é o terminal menor*. Cada nível você só liga entre eles o anodo (+). Quando começar a juntar os 3 níveis, ai sim você irá juntar o catodos.



     Recomendo que logo após que terminar de montar o Cubo pegar o multímetro e  colocar na escala de semicondutor (simbolo do diodo) e testar LED por LED. Tem multímetro que faz que o LED acenda quando polarizados corretamente e existe outros multímetros que só mostra um valor no display.
     Após que verificar se está tudo correto, é só colocar na placa de circuito, eu fiz um layout para uma placa 70x60mm, mas como eu tinha retalho usei 80x80mm, bom que sobra uma margem boa para os trilhos.


     Na foto anterior, os componentes deixei virado para baixo, do lado oposto do cobre da placa e os LEDs do outro lado, para poder aproveitar o cobre e escrever como vocês podem ver. O link da programação que usei já disponibilizei no link logo no inicio da postagem, que direciona para o 4shared e baixar uma programação demo (precisa descompactar na pasta Libraries que fica dentro da pasta do programa do Arduino).

Vídeo:
O vídeo ficou um pouco acelerado (causas que não sei explicar)


     Espero que tenham gostado desse projeto, foi o ultimo desse ano agora é só curtir um pouquinho essas ferias que vão ser rápidas, mas em Janeiro já devo ta colocando o novo projeto. Feliz Natal a todos e um Ótimo Ano Novos para vocês. Até mais qualquer duvida já sabem deixem como comentários que responderei o quanto antes.

*Parte da postagem corrigida, grato

sexta-feira, 14 de outubro de 2011

ReléShield + Programação

     Bom, esse é o meu segundo Shield... Com esse shield posso controlar material de corrente alternada (Lâmpadas e outros). Me baseei no meu circuito nesses links a seguir: Relé 1Relé 2 e Relé 3.

     Relé é um interruptor que é controlado eletricamente, a movimentação desse interruptor é causada quando passar uma corrente nas espiras da bobina do relé criando um campo magnético que movimenta a chave interna para NF ou NA (normalmente Fechado ou Aberto).

     No meu shield usei resistor de 1kohm, relé de 5v, transistor TIP120 e diodo 1N4007. O meu ReléShield ficou bem parecido com o link Relé 2 como mostra a figura abaixo, sendo que usei o transistor citado a cima:

     Fiz o teste e funcionou, mas a minha lâmpada é para 110 v. A programação é mega simples, caso queira deixar programado pode-se usar a programação idem ao acender um LED (blink), mas podendo colocar outras coisas, exemplo ligar e desligar o relé por um botão, ai vai da criatividade e/ou da curiosidade de cada um. Também da para usar o relé como ponte H, nesse caso só irá usar apenas 2 relés para cada motor, futuramente postarei a montagem desse esquema de ponte H.

     Pretendo futuramente aprender outros tipos de programação para poder controlar a instalação elétrica de uma casa por algum aparelho (celular com android, tablet, etc.).



Programação:
int rele = 12; //Declarei que led é a variável 13
void setup()
{
  pinMode(lrele, OUTPUT); //Agora utilizei essa variável e disse que ela é a porta 12 do arduino
}

void loop()

{

  digitalWrite(rele, HIGH); // Rele irá ficar ligado

  delay(10000);                    //Por 10000 milissegundos (10 segundos)

  digitalWrite(rele, LOW); //Rele irá ficar desligado
  delay(3000);                   //Por 3000 milissegundos
}
     A programação logo acima é só para testar se o circuito funcionou mesmo ou não, para brincar mais com esse projeto, estou usando o controle pelo teclado do computador. Eu ligo e desligo cada relé pelo teclado, caso não tenha acompanhado, a postagem do Controle no Teclado.


     Fiz uma extensão para poder controlar até quatro tomadas. Usei uma tomada que entram 4 plugs e fiz alterações na parte interna, usei rabicho de tomada e fio cabinho preto. O esquema a seguir, fiz no paint para ver se consigo explicar melhor a montagem:
     Onde tem a linha verde escuro, quer dizer que por dentro é interligado com um metal, as tomadas eram em paralelo, o X em vermelho indica que eu cortei, dividi uma das vias em 4 partes, para que eu possa controlar as tomadas independentes. O fio com a cor cinza clara, eu  preferi deixar separado para só ficar colocando no comum do relé e os outros 4 fios (Verde Claro, Azul, Vermelho e Rosa) seria onde eu ligaria ou desligaria o circuito com o componente, mas podendo inverte isso sem problema.



Programação 2:
int rele1 = 12;
int rele2 = 11;
int rele3 = 10;
int rele4 = 9;
int tecla = 0;
void setup()
{
  pinMode(rele1, OUTPUT);
  pinMode(rele2, OUTPUT);
  pinMode(rele3, OUTPUT);
  pinMode(rele4, OUTPUT);
  Serial.begin(9600);
}
void loop()
{
  if(Serial.available()>0)
  {
    tecla=Serial.read();
    Serial.print("Tecla ");
    Serial.println(tecla, BYTE);
    if(tecla==97)                     //a Liga relé1
    {
      digitalWrite(rele1, HIGH);
    }
    if(tecla==122)                    //z Desliga relé1
    {
      digitalWrite(rele1, LOW);
    }
     if(tecla==115)                    //s Liga relé2
    {
      digitalWrite(rele2, HIGH);
    }
    if(tecla==120)                    //x Desliga relé2
    {
      digitalWrite(rele2, LOW);
    }
    if(tecla==100)                     //d Liga relé3
    {
      digitalWrite(rele3, HIGH);
    }
    if(tecla==99)                      //c Desliga relé3
    {
      digitalWrite(rele3, LOW);
    }
    if(tecla==102)                     //f Liga relé4
    {
      digitalWrite(rele4, HIGH);
    }
    if(tecla==118)                     //v Desliga relé4
    {
      digitalWrite(rele4, LOW);
    }
  }
}
     Nos comentários, as palavras que estão soltas quer dizer a tecla que irei aperta para ligar ou desligar cada relé.


Vídeo:

 
Blogger Templates