sábado, 26 de novembro de 2011

Impressora 3D com Arduino



A impressora 3D, assim como o Arduino é um objeto que vem revolucionar toda a dinâmica da contrução de objetos e do processo de industrialização. O que antes era feito apenas nas indústrias agora pode ser feito dentro de casa. A grande vantagem da impressora 3D é poder criar diversos tipos de objetos plásticos que podem inclusive serem modificados e compartilhados além de simplesmente serem projetados.

A impressora 3D promete revolucionar o mundo da robótica pois, com ela, é possível criar diversos tipos de engrenagens e dispositivos com formatos específicos. A maioria dos objetos em 3D podem ser desenhados em softwares com o SolidWorks. As bibliotecas de objetos deverão evoluir indo desde simples objetos como puxadores, maçanetas, cabides, porta velas, jogos tipo lego até grandes objetos que poderão ser feitos de modo a interconectar diversas peças pequenas. Atualmente, duas grandes empresas estão vendendo kits para montagem da impressora 3D com Arduino. A Repraps e a Marketbot com a sua Thing-o-matic. Na internet existem outros modelos que são vendidos mas não em formato de kit para serem montados em casa.

http://wiki.makerbot.com/thingomatic

http://reprap.org/wiki/Main_Page

Opiniões de outros especialistas:
http://www.latinoware.org/pt-br/node/162

sexta-feira, 25 de novembro de 2011

Bootloader no Arduino

O bootloader nada mais é que o programa de inicialização do Arduino. O microcontrolador ATMega328 possui  uma memória interna que é utilizada para o carregamento do programa. Porém, o CI quando é novo vem sem programa nenhum, pois é o desenvolver/projetista que vai definir o que o microcontrolador deve fazer.

A questão é, como jogar o programa de inicialização (bootloader) dentro do CI? Existem várias formas de se fazer isso. No Arduino Uno/Duemilanove/Mega o responsável por essa tarefa é a própria IDE que, em conjunto com o CI FTDI, executa essa tarefa.

No formato Standalone, como não se tem o CI na placa, é preciso fazer a transmissão do programa utilizando uma das portas/interface de saída do computador. As 3 formas possíveis são: via USB, porta serial ou porta paralela. Para cada porta existe um método diferente que pode ser utilizado. Cada uma dessas formas utiliza um cabo específico e alguns componentes eletrônicos para a transferência do sinal.

Utilizando o Ubuntu (ou uma distribuição Linux) fica fácil o controle sobre as portas/interfaces.

Abaixo mais informações sobre o bootloader e como fazer a gravação do CI.

http://marceloboah.blogspot.com/2011/02/ftdi-novas-tecnologias.html

http://artesanato.devolts.org/?page_id=267


http://www.arduino.cc/en/Hacking/ParallelProgrammer

http://artesanato.devolts.org/?page_id=267

http://www.labdegaragem.com.br/wiki/index.php?title=Gravando_o_Bootloader

http://www.dl1dow.de/inhalt/arduino/bootloader/e_arduino_bootloader.htm

http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1253127933



Arduino Standalone

O Arduino Standalone é o formato mais simplificado de montagem do Arduino. Consiste apenas no seu microcontrolador  ATMega328 ou ATMega8 com alimentação, cristal para a oscilação e no máximo um reset.

Esquema no protoboard:





Informações mais completas em outros blogs do pessoal da comunidade do Arduino.




O detalhe desse formato é que para a inicialização do programa é preciso de um bootloader que será abordado no próximo tópico.

Arduino Severino


O Arduino Severino é um modelo simplificado do Arduino que foi desenvolvido pelo Adilson Akashi de São Paulo. Após a primeira versão,o Arduino Severino sofreu pequenos ajustes até chegar na terceira versão. Segue abaixo o modelo mais recente com pequenas modificações do pessoal de Brasília:



Toda a documentação está disponível no site oficial do Arduino.

http://www.arduino.cc/en/Main/ArduinoBoardSerialSingleSided3

E também em blogs da comunidade.

http://arduinotutorial.blogspot.com/2008/03/arduino-s3v3rino-site-oficial.html

http://blogdoje.com.br/2008/03/20/arduino-single-sided-serial-board-versao-3-severino/

http://arduinotutorial.blogspot.com/

Segue a lista de componentes atual:

C1 22pF (22 pico Farad) - capacitor cerâmico tipo disco
C2 22pF (22 pico Farad) - capacitor cerâmico tipo disco
C3 100nF (100 nano Farad) - capacitor cerâmico tipo disco
C4 100nF (100 nano Farad) - capacitor cerâmico tipo disco
C5 100μF (100 micro Farad) - capacitor eletrolítico 16volts (radial)
C6 100nF (100 nano Farad) - capacitor cerâmico tipo disco
C7 100nF (100 nano Farad) - capacitor cerâmico tipo disco
C8 100μF (100 micro Farad) capacitor eletrolítico 16volts (radial)
C9 10μF (10 micro Farad) capacitor eletrolítico 25volts (radial)
D1 1N4004 - diodo
D2 1N4148 - diodo
D3 1N4148 - diodo
DC1 2.1mm. - DC power jack
IC1 ATMEGA8 + Soquete 28pinos
IC2 7805C - Regulador Tensão
ICSP 2x3 - Conector barra de pinos macho (180graus),  com espaço de
2,54mm
J1 1x4 + 1x4 - Conector barra de pinos fêmea (180graus),  com espaço
de 2,54mm
J2 1x2 + 1x4 - Conector barra de pinos fêmea (180graus),  com espaço
de 2,54mm
J3 1x4 + 1x4 - Conector barra de pinos fêmea (180graus),  com espaço
de 2,54mm
JP0 1x3 - Conector barra de pinos macho (180graus),  com espaço de
2,54mm
JP4 1x2 - Conector barra de pinos macho (180graus),  com espaço de
2,54mm
L1 100μH - indutor axial
LED0 3mm - LED vermelho (Rx)
LED1 3mm - LED verde (Tx)
LED13 3mm - LED amarelo (Pin13)
LED14 3mm LED vermelho (Power Led)
POWER 1x2 + 1x4 - Conector barra de pinos fêmea (180graus),  com
espaço de 2,54mm
Q1 16 MHz - cristal de quartzo
R1 1kohm (1.0 kilo ohm) Resistor 1/4 Watt, ±5%
R2 1kohm (1.0 kilo ohm) Resistor 1/4 Watt, ±5%
R3 1kohm (1.0 kilo ohm) Resistor 1/4 Watt, ±5%
R4 1kohm (1.0 kilo ohm) Resistor 1/4 Watt, ±5%
R5 10kohms (10.0 kilo ohms) Resistor 1/4 Watt, ±5%
R6 1kohm (1.0 kilo ohm) Resistor 1/4 Watt, ±5%
R7 10kohms (10.0 kilo ohms) Resistor 1/4 Watt, ±5%
R8 10kohms (10.0 kilo ohms) Resistor 1/4 Watt, ±5%
R9 4k7ohms (4.7 kilo ohms) Resistor 1/4 Watt, ±5%
R10 10kohms (10.0 kilo ohms) Resistor 1/4 Watt, ±5%
R11 10kohms (10.0 kilo ohms) Resistor 1/4 Watt, ±5%
S1 6x6 mm - Mini push button de 4 terminais preto
T1 BC547 - Transistor NPN (TO92)
T2 BC557 - Transistor PNP (TO92)
X1 9 PIN - Conector DB9 fêmea 90graus

segunda-feira, 21 de novembro de 2011

Paperduino

O Paperduino é um site que ensina a fazer PCI's (placas de circuito impresso) através de desenhos impressos em papel comum. A iniciativa é extremamente didática principalmente para quem nunca fez uma placa. Além de mais de 30 desenhos propostos ainda existe o aprendizado em cima do funcionamento de cada tipo diferente de circuito com sua função específica.

http://txapuzas.blogspot.com/









sexta-feira, 18 de novembro de 2011

Hexbug

Existe um consenso, com relação ao tipo de movimentação utilizada nos robôs, que imitam patas de animais, em se acreditar que esse deve ser um formato mais utilizado em contraponto com sistemas que utilizam rodas. O Hexbug é um desses robôs, bonito, colorido, com controle remoto e que imitam animais. E o preço dele é extremamente baixo.

www.hexbug.com

http://www.amazon.com/Innovation-First-Labs-Inc-451-1241/dp/B001Q4FGXK/ref=cm_wl_ce





quinta-feira, 17 de novembro de 2011

Tuitando do Arduino

Acabei de fazer o teste com a biblioteca usada para disparar twiters. A dica é seguir a instrução do site Arduino.cc:

http://www.arduino.cc/playground/Code/TwitterLibrary

Este aplicativo funciona de forma simples. O Arduino se conecta a um site que efetua a conexão com o Twitter e faz o disparo. Ou seja, a conexão não é direta. Porém, para que não seja necessário passar login e senha pelo programa, é preciso um Token (chave codificada) que vai fazer a substituição. Antes, é necessário cadastrar o login e a senha no site que faz o serviço para obter o Token.

http://arduino-tweet.appspot.com/

Depois é só fazer o download das bibliotecas que serão usadas, na pasta library, e rodar o programa que ficará carregado junto com os exemplos. O IP deve ser configurado conforme a sua rede e o Token inserido no código.


#if defined(ARDUINO) && ARDUINO > 18   // Arduino 0019 or later
#include <SPI.h>
#endif
#include <Ethernet.h>
#include <EthernetDNS.h>
#include <Twitter.h>

// Ethernet Shield Settings
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };

// substitute an address on your own network here
byte ip[] = { 192, 168, 1, 102 };

// Your Token to Tweet (get it from http://arduino-tweet.appspot.com/)
Twitter twitter("TOKEN");

// Message to post
char msg[] = "Hello, World! I'm twitting by Arduino!";

void setup()
{
  delay(1000);
  Ethernet.begin(mac, ip);
  Serial.begin(9600);

  Serial.println("connecting ...");
  if (twitter.post(msg)) {
    // Specify &Serial to output received response to Serial.
    // If no output is required, you can just omit the argument, e.g.
    // int status = twitter.wait();
    int status = twitter.wait(&Serial);
    if (status == 200) {
      Serial.println("OK.");
    } else {
      Serial.print("failed : code ");
      Serial.println(status);
    }
  } else {
    Serial.println("connection failed.");
  }
}

void loop()
{
}

E o resultado final:


Fica mais interessante ainda colocar algum sensor, como um sensor de porta, alarme, ou algo do tipo, que possa ser enviado para alguém alertando alguma situação.

Vale lembrar que um garoto de 14 anos, no Chile, no inicio deste ano, conseguiu conectar um sensor de terremotos no Arduino e disparar twiter antes dos sistemas do governo dispararem seus alertas.


http://www.gizmodo.com.br/conteudo/um-adolescente-chileno-tuita-sobre-terremotos-com-muito-mais-velocidade-do-que-todo-o-governo/