Acho que por culpa de alguma imprecisão nas peças plásticas a estrutura não estava ficando perfeitamente alinhada, um dos pés não estava tocando no chão se fossem seguidas as medidas corretas para cada elemento. Para corrigir eu encurtei em alguns milímetros um dos lados de um dos triângulos laterais até que os 4 pés estivessem tocando o chão simultaneamente. Depois que montar os carros vou testar se isso não afeta o alinhamento de outras partes.
sexta-feira, 25 de abril de 2014
Estrutura RepRap / parte 2 - alinhamento
terça-feira, 22 de abril de 2014
estrutura RepRap
Para a estrutura, substituí as barras roscadas de 8mm por barras de 5/16 polegadas de diâmetro, pela facilidade de encontrar e não ser uma diferença significativa. O custo foi de aproximadamente R$ 5,50 por cada barra de 1m. Para o movimento no eixo Z utilizarei uma barra de 3/16 polegadas (aproximadamente 5mm).
quinta-feira, 10 de abril de 2014
Diário de montagem: impressora 3D
Estou começando a montagem da minha primeira impressora 3D baseado no projeto RepRap.
O objetivo das postagens será de aumentar a documentação em português, auxiliando pessoas que também queiram montar a sua. Além disso, o registro pode ajudar a encontrar mais facilmente as peças necessárias e substituições que sejam vantajosas por questão de performance ou preço.
segunda-feira, 8 de julho de 2013
Arduino WebServer - como ler valores dos pinos analógicos no navegador
Este experimento é muito simples, apenas fiz o que está no exemplo incluído junto com a IDE do Arduino (se tiver dificuldades para encontrar veja o caminho no vídeo) para testar a nova placa/shield que acabei de comprar...
Foi tudo muito simples, apenas conectei o Ethernet Shield sobre o Arduino UNO R3 e fiz o upload do código através da entrada USB. * Fiz apenas algumas adições de codigo html para a página ficasse mais agradável - e em português
Em seguida conectei o cabo de rede que está ligado ao roteador e abri o Serial Monitor na IDE Arduino para acompanhar o resultado de conexão. Na janela ele apresentou o ip e uma mensagem de que a conexão tinha sido feita com sucesso.
O passo seguinte foi digitar este mesmo ip no navegador do notebook (ligado à rede por wireless) e ver a página gerada ser carregada. Conforme programado, ela era atualizada a cada 1 segundo com os valores dos pinos analógicos.
Os valores mostrados pelos pinos no caso deste exemplo não significam nada pois estavam desconectados de qualquer circuito "interessante"... apenas quando é pressionado um botão é que o pino é ligado direto ao terra (ground) e este valor fica igual à ZERO. Quando nada é pressionado o valor varia aleatoriamente.
Material utilizado:
Foi tudo muito simples, apenas conectei o Ethernet Shield sobre o Arduino UNO R3 e fiz o upload do código através da entrada USB. * Fiz apenas algumas adições de codigo html para a página ficasse mais agradável - e em português
Em seguida conectei o cabo de rede que está ligado ao roteador e abri o Serial Monitor na IDE Arduino para acompanhar o resultado de conexão. Na janela ele apresentou o ip e uma mensagem de que a conexão tinha sido feita com sucesso.
O passo seguinte foi digitar este mesmo ip no navegador do notebook (ligado à rede por wireless) e ver a página gerada ser carregada. Conforme programado, ela era atualizada a cada 1 segundo com os valores dos pinos analógicos.
Os valores mostrados pelos pinos no caso deste exemplo não significam nada pois estavam desconectados de qualquer circuito "interessante"... apenas quando é pressionado um botão é que o pino é ligado direto ao terra (ground) e este valor fica igual à ZERO. Quando nada é pressionado o valor varia aleatoriamente.
- Arduino UNO R3
- Protoboard (placa de prototipagem eletrônica - Solderless Breadboard)
- cabos coloridos para ligações
- Ethernet Shield W5100
- Botões tipo push button (comprei em uma loja de eletrônicos local)
Por não ter feito alterações significativas no código, não irei incluir ele nesta postagem.
domingo, 7 de julho de 2013
TLC5940 + Arduino: Controlando16 LEDs separadamente (independentes)
Utilizando um TLC5940 você pode controlar 16 leds utilizando apenas 5 saídas digitais do Arduino. Ainda é possivel ligar mais TLCs em série, multiplicando o número de saídas para cada IC adicionado.
O exemplo executado no vídeo e descrito com o código fonte abaixo é o "BasicUse" incluído com a library (disponível em https://code.google.com/p/tlc5940arduino/).
Material utilizado:
Faça o download da library do TLC5490 (em: https://code.google.com/p/tlc5940arduino/) e instale utilizando a IDE do Arduino.
Reinicie o programa e verá que já estarão disponíveis outros exemplos clicando em File / Examples / Tlc5490.
A ligação do TLC ao arduino deve ser feita de acordo com as instruções incluídas, mas para facilitar eu fiz esta imagem (utilizando o programa Frizing: http://fritzing.org/download/)
clique na imagem abaixo para ter uma visão das ligações:
O código fonte do exemplo BasicUse tem bastante comentários (em inglês), mas eu criei mais alguns em português para facilitar o entendimento das ações executadas em cada passo. As linhas acabaram ficando um pouco longas para serem mostradas na pequena janela de texto abaixo, mas se você colar na janela do IDE do Arduino e maximizar, poderá ler confortavelmente todos os comentários.
O comando principal desta biblioteca é o "Tlc.set(channel (0-15), value (0-4095))" onde channel é o número do pino para qual você está enviando o comando (de 0 a 15 se for apenas um TLC), e value é o valor enviado à aquele pino. No cado dos LEDs, um valor de 0 seria totalmente apagado e 4095 é aceso com o brilho máximo.
Note que valores intermediários entre 0 e 4095 fazem a dimerização (fade) do led, portanto não é necessário (nem permitido) a utilização de analogWrite() para fazer PWM destes pinos.
Creio que o código está bem comentado, qualquer dúvida utilize os comentários do blog!
código fonte: copie e cole no IDE do Arduino!
O exemplo executado no vídeo e descrito com o código fonte abaixo é o "BasicUse" incluído com a library (disponível em https://code.google.com/p/tlc5940arduino/).
Material utilizado:
- Arduino UNO R3
- Protoboard (placa de prototipagem eletrônica - Solderless Breadboard)
- 16 LEDs
- 1 Resistor de 2k Ohms
- cabos coloridos para ligações
Faça o download da library do TLC5490 (em: https://code.google.com/p/tlc5940arduino/) e instale utilizando a IDE do Arduino.
Reinicie o programa e verá que já estarão disponíveis outros exemplos clicando em File / Examples / Tlc5490.
A ligação do TLC ao arduino deve ser feita de acordo com as instruções incluídas, mas para facilitar eu fiz esta imagem (utilizando o programa Frizing: http://fritzing.org/download/)
clique na imagem abaixo para ter uma visão das ligações:
O código fonte do exemplo BasicUse tem bastante comentários (em inglês), mas eu criei mais alguns em português para facilitar o entendimento das ações executadas em cada passo. As linhas acabaram ficando um pouco longas para serem mostradas na pequena janela de texto abaixo, mas se você colar na janela do IDE do Arduino e maximizar, poderá ler confortavelmente todos os comentários.
O comando principal desta biblioteca é o "Tlc.set(channel (0-15), value (0-4095))" onde channel é o número do pino para qual você está enviando o comando (de 0 a 15 se for apenas um TLC), e value é o valor enviado à aquele pino. No cado dos LEDs, um valor de 0 seria totalmente apagado e 4095 é aceso com o brilho máximo.
Note que valores intermediários entre 0 e 4095 fazem a dimerização (fade) do led, portanto não é necessário (nem permitido) a utilização de analogWrite() para fazer PWM destes pinos.
Creio que o código está bem comentado, qualquer dúvida utilize os comentários do blog!
código fonte: copie e cole no IDE do Arduino!
segunda-feira, 13 de maio de 2013
Primeiro teste seguindo em parte o tutorial do Firefly. As ações experimentadas foram:
- Modificar o raio dos círculos (geometria gerada no Grasshopper e visualizada no Rhino) utilizando um potenciômetro ligado ao Arduino.
- Através de parâmetros no Grasshopper/Firefly, fazer com que um LED gradualmente acenda e apague.
- Fazer com que outro led acenda quando a letra "L" do teclado é pressionada.
- Controlar a inclinação do modelo físico (torre) utilizando 2 servos controlados através de parâmetros na tela do Grasshopper.
quinta-feira, 9 de maio de 2013
sábado, 13 de abril de 2013
quarta-feira, 30 de janeiro de 2013
Controlando um Motor de Passo - MotorKnob
Exemplo incluído na biblioteca padrão do Arduino e de domínio público.
- Motor utilizado: 28BYJ48 5VDC
- Motor driver utilizado: L298N
- Arduino UNO, protoboard e potenciômetro de 1M Ohm.
| Imagem 1 |
| Imagem 2 |
Ajustei o código fonte para o número de passos do motor utilizado: 64 passos.
O código pode ser encontrado em - File / Examples / Stepper / MotorKnob.
código fonte:
Ligação/Wiring:
As duas extremidades do potenciômetro são conectadas ao +5v e Ground (terra) da placa Arduino. O pino central conecta-se ao A0 (entrada análoga). Com isso o programa será capaz de perceber a posição do potenciômetro pela tensão apresentada na entrada A0 (que irá variar de 5V a 0V).Conectar também o terra e +5V ao Driver. Os pinos in1, in2, in3 e in4 devem ser ligados aos pinos digitais 8, 9, 10 e 11 do arduino nesta mesma ordem.
O Driver L298N serve tanto para controlar 2 motores comuns de corrente contínua com possibilidade de utilizar uma tensão maior do que os +5V fornecidos pelo Arduino, ou controlar 1 único motor de passo. A ligação do motor de passo (28BYJ48) foi baseada no seguinte diagrama abaixo:
![]() |
| Imagem 3 |
Assim, a conexão deve ser (como pode ser visto na Imagem 1):
- Vermelho: saída +5V do driver
- Laranja e Rosa: saída MOTORB
- Amarelo e Azul: saída MOTORA
Com toda a fiação pronta, é só fazer o upload do código e girar o potenciômetro para observar o motor de passo acompanhar o movimento. A velocidade de reação que utilizei é um pouco baixa mas pode ser aumentada com facilidade.
quinta-feira, 3 de janeiro de 2013
Primeiro teste com LDR - Resistor dependente de luz
Após fazer compras de mais alguns componentes eletrônicos, resolvi experimentar com um LDR (Light Dependent Resistor).
O que é LDR: É um resistor que varia a sua resistência de acordo com a quantidade de luz que recebe. Esta resistência pode variar de 1M ohms na escuridão, até 100 ohms quando sob a luz.forte.
Como funciona o circuito: O circuito e código fonte foram baseados no texto disponível no site [ http://www.hobbytronics.co.uk/arduino-tutorial8-nightlight ] em que é utilizado o fenômeno de divisão de tensão ( ver mais neste texto sobre divisor de tensão ).
Ao diminuir a luz no ambiente a resistência no LDR aumenta, diminuindo a tensão no pino A0 (analógico) do Arduino. O valor de tensão é transformado em um valor numérico que vai de 0 a 1024. No algorítmo ainda está incluído instruções para que quando o valor numérico recebido por esse pino baixe de um determinado valor (no caso 400), o led ligado ao pino 13 deve ser aceso.
Esse circuíto é bem simples, acho que apenas de ver o vídeo qualquer um é capaz de reproduzir. Ainda mais se acessar os links indicados neste post como referência. Os resistores utilizados foram de 4k7 ohms para o divisor de tensão e 1k ohms para o LED.
Abaixo estão o vídeo do modelo em ação e em seguida o código fonte utilizado.
código fonte:
Assinar:
Postagens (Atom)






