Nunca fiz unpacking de nada, porque sempre achei algo idiota e exibicionista. Me tornei um!
As fotos abaixo são um unpacking da Dremel série 300 com eixo flexível. Como é um presente de Natal que dei para mim mesmo, acho que é válido. 🙂
Nunca fiz unpacking de nada, porque sempre achei algo idiota e exibicionista. Me tornei um!
As fotos abaixo são um unpacking da Dremel série 300 com eixo flexível. Como é um presente de Natal que dei para mim mesmo, acho que é válido. 🙂
Este é o meu primeiro Robô. Ele é feio com o Program-ME, o Arduino da Global Code.
O Custo da construção dele foi bastante baixo, já que a sua estrutura é bem simples. O material utilizado foi:
CD’s/DVD’s para as rodas
Um sensor Max Sonar EZ-1 da Max Botics
3 Servo motores modificados para Rotação
Uma bateria personalizada de 7,2V 1800 mAh/h
Uma roda que gira no próprio eixo utilizada em móveis.
Protoboard e cabos.
Fotos:
Video:
Utilizando um LCD Display 16 colunas por 2 linhas. Os dados serão recebidos pela porta serial.
Fazer upload do código abaixo para o Arduino:
/* * LCD RW na porta digital 13 * LCD RS na porta digital 12 * LCD Enable na porta digital 11 * LCD D4 na porta digital 5 * LCD D5 na porta digital 4 * LCD D6 na porta digital 3 * LCD D7 na porta digital 2 Library originally added 18 Apr 2008 by David A. Mellis library modified 5 Jul 2009 by Limor Fried (http://www.ladyada.net) Baseado no exemplo de Tom Igoe Danilo Altheman em 08/12/2009 http://www.arduino.cc/en/Tutorial/LiquidCrystal */ #include <string.h> #include <LiquidCrystal.h> int x = 0; int lastchar = 0; LiquidCrystal lcd(12, 11, 5, 4, 3, 2); char text[32]; void setup(){ lcd.begin(16, 2); Serial.begin(9600); } void loop() { if (Serial.available()) { delay(100); lcd.clear(); int x = 0; // Captura todos os bytes recebidos pela porta serial e armazena no array. while (Serial.available() > 0) { text[x] = Serial.read(); x++; } // Imprime byte a byte o texto até que ele seja menor que 16 caracteres. for (x = 0; x < strlen(text); x++) { if (x < 16) { lcd.write(text[x]); Serial.print(text[x]); lastchar = x; } // Sai do looping quando o texto atinge o tamanho maximo. else break; } // Posiciona o cursor na segunda linha, coluna zero. lcd.setCursor(0,1); // Imprime o restante do texto for (x = lastchar + 1; x < strlen(text); x++) { lcd.write(text[x]); Serial.print(text[x]); } } }
Enviando dados pelo Python:
#!/usr/bin/env python import serial # Aqui instanciamos o objeto. Sintaxe: serial.Serial(Porta_USB_do_Arduino, bitrate) arduino = serial.Serial("/dev/tty.usbserial-A9007Gvp",9600) while(1): text = raw_input("-> ") arduino.write(text)
Por Shell Script:
#!/bin/bash echo -n "Digite algo: " read algo echo -e "$algo" > /dev/tty.usbserial-A9007Gvp
Vou tentar ensinar com poucas palavras e algumas imagens, como transformar um Servo Motor de Posição para Rotação. O procedimento é muito simples e não requer prática nem tampouco habilidade.
Nota: Este é um servo utilizado em *.*modelismo. Fabricante Hobbico. O procedimento deve ser parecido para outros fabricantes.
1] Primeiro abra o motorzinho com cuidado para não voar engrenagens para todo o lado:
Veja as imagens de 1.png até 9.png
2] Repare na imagem 10.png que estou removendo os pingos de solda que prendem o motor à carcaça. Veja a imagem 11.png onde estou retirando a plaquinha.
3] O servo tem um potenciometro de 5k que deve ser retirado da placa e da carcaça do motor. É com base neste Potenciometro que a plaquinha sabe qual a posição do motor.
Veja as imagens que vão de 12.png até 15.png
4] No lugar do potenciometro a placa deverá receber 2 resistores que atingam a resistencia mais próxima do potenciometro. Utilizei 2 resistores de 2.2k. Veja a imagem 15.png.
5] Na sequência e com muito capricho devemos cortar uma trava que fica em uma das engrenagens. Não se preocupe só tem esta engrenagem com trava.
6] Acabou! Coloque as engrenagens no lugar e feche o motorzinho.
Quanto a parte da programação é muito simples. Utilizando a biblioteca Servo.h que já vem com a IDE do Arduino, use o método (Sim é O.O.) nomedoservo.write(0) e nomedoservo.write(180), vá para frente e vá para trás respectivamente. Para parar o motor o método é nomedoservo.detach()
Você precisa fazer login para comentar.