Joystick + Arduino + RF
Outubro 31, 2008 at 9:26 pm | In Arduino, RF | 4 CommentsDeixo-vos um vídeo que fiz a mostrar o que consegui fazer com 1 joystick, 1 Arduino, Módulos RF, alguns componentes electrónicos e alguma programação.
Este é o meu primeiro projecto com módulos RF. Os LEDs já apagam!
Depois adapto este circuito a um carro telecomandado que ainda irei comprar.
Materiais Usados
- Hardware
- 1 Joystick (Logitech Attack 3, mas qualquer outro serve)
- 1 Arduino
- 2 Módulos RF
- 1 Encoder (MC145026)
- 1 Decoder (MC145027)
- 2 Breadboards
- Muito Fio
- Alguns componentes electrónicos
- Software
- Python (recebe os dados do joystick e envia-os por Serial)
Mais tarde posto o código na íntegra.
Links Relacionados
- Python
- Pygame – extensão do python que usei para ler os dados do joystick
- Pyserial – extensão do python que usei para enviar dados para a porta COM
- Arduino Serial Read – página que explica como ler dados da porta COM (Serial)
Transmissor RF Terminado
Outubro 30, 2008 at 11:43 pm | In Arduino, RF | 4 CommentsTerminei hoje o transmissor de RF. Demorou, mas foi! Mais tarde posto os esquemas. Por agora, ficam algumas fotos…
A imagem em cima mostra (à esquerda) o transmissor e (à direita) o receptor.
- Testei o encoder e o decoder de forma directa
- Introduzi os módulos RF
- Introduzi o Arduino
Na seguinte imagem, podem já ver o emissor RF a receber dados do Arduino.
Consegui fazer uma sequência simples de “Blink” de 4 LEDs.
O próximo passo é controlar os LEDs com um Joystick, por Serial (frente, trás, direita, esquerda).
Links para tutoriais do Arduino
Outubro 29, 2008 at 4:39 pm | In Arduino | Leave a CommentNeste post vou deixar links para tutoriais sobre o Arduino. Sei que não é fácil encontrar um ponto de partida para iniciar no Arduino, especialmente para quem tem dificuldades com o Inglês.
- YourITronics
- Physical Computing at ITP
- Freeduino – A maior base de dados sobre o Arduino
- TodBot: Spooky Arduino (básico), Bionic Arduino (avançado)
[E-Book] Arduino Programming Notebook – Brian Evans
Outubro 26, 2008 at 3:40 pm | In Arduino, E-Books | Leave a Comment
Este livro é um auxiliar direccionado para a programação na plataforma Arduino.
Dá muito jeito para tirar dúvidas relativamente às sintaxes das funções, mas também para entender melhor o próprio funcionamento do Arduino.
Por ser gratuito, recomendo o download.
[Download] [Ver Online]
Links Relacionados
No site oficial do Arduino, encontra-se também uma lista das funções que podem ser utilizadas na programação do Arduino.
Kit Protoshield Terminado
Outubro 25, 2008 at 1:36 am | In Arduino | 1 CommentHoje comecei e acabei de montar o kit da Protoshield. Para quem não sabe, a Protoshield é um “addon” para o arduino, por encaixar por cima do mesmo. Basicamente, facilita a criação de protótipos por ser normalmente usada para fazer testes.
Inclui:
- 2 LEDs para testes (com as devidas resistências)
- 1 Switch para Reset
- 1 Switch para testes
- Jumpers fêmea, tal e qual como no Arduino.
- Jumpers fêmea para ligar o modem Bluetooth BlueSmirf da Sparkfun.
O kit é normalmente usado em conjunto com uma mini-breadboard, que se adapta perfeitamente. Também há quem use as perfurações para soldar outros componentes para fazer uma shield definitiva.
Links relacionados:
Arduino e Wii Nunchuck
Outubro 19, 2008 at 4:39 pm | In Arduino, Nunchuck | Leave a CommentEncontrei um tutorial muito interessante que explica como usar o Arduino para controlar dois servos a partir de um controlador Wii Nunchuck.
A imagem em baixo mostra um exemplo de ligação do Nunchuck e de um servo ao Arduino.

Aqui está o código disponível na página. Podem ler mais nos links disponibilizados no final do post.
As únicas variáveis que devem ser alteradas para ajustar o código ao que pretendem fazer são as seguintes:
refreshTime (set to 20) – tempo de actualização mínimo para os pulsos do servo
minPulse (set to 1000) – valor mínimo dos pulsos do servo 1
minPulse2 (set to 500) – valor mínimo dos pulsos do servo 2
dtime (set to 10) – tempo de espera (em milisegundos) entre cada loop
pwbuffsize (set to 10) – quantidade de valores a serem lidos e feita a média (o mesmo valor para ambos os servos).
A minha ideia é adaptar este sistema a um sistema Wireless, isto é, enviar os sinais a partir do PC, pela porta paralela, para o Arduino as ler, interpretá-las e fazer actuar os dois servos.
Links Relacionados
Read wii nunchuck data into arduino
Boarduino, Wii Nunchucks, and Servos
Módulos RF
Outubro 17, 2008 at 10:23 pm | In Arduino, RF | 4 CommentsEncontrei esta página que mostra como podemos ligar dois arduinos por RF. Vou tentar adaptar o código de forma a não precisar de 2 arduinos. A ideia é enviar os dados do PC para o Arduino pela porta paralela.
Vou fazer os testes da seguinte forma:
PC – Porta Paralela – RF TX – Antena … Antena – RF RX – Arduino – USB – PC
Com esta ligação vou poder enviar os dados pela porta paralela, recebê-los pelo arduino e lê-los por Serial.
#include
/*
Read from a RF Link receiver module
and get the data into a computer.
*/
#define rxPin 2
#define txPin 3
#define ledPin 13
// set up a new serial connection for communicating with RF receiver
// (this also frees up Arduino's built in serial port for PC communication)
SoftwareSerial rfSerial = SoftwareSerial(rxPin, txPin);
char prevChar = 0;
void setup() {
// set up the input and output pins
pinMode(rxPin, INPUT); // set up pins for serial comm. with RF receiver
pinMode(ledPin, OUTPUT);
// initialize serial comm
rfSerial.begin(2400); // begin serial connection with RF Link unit
Serial.begin(2400); // begin serial communication over USB to the computer
// blink LED on and then off just to let us know the setup routine is complete
digitalWrite(ledPin,HIGH); // turn on LED
delay(1000);
digitalWrite(ledPin,LOW); // turn off LED
}
void loop(){
char someChar = '0';
someChar = rfSerial.read(); // read whatever the RF Link has to offer
// print out the character:
if (someChar!=prevChar) { // only print out new data (don't print 0 a billion times in a row)
Serial.print(someChar, BYTE); // send data to computer
prevChar=someChar; // store what we just read
}
}
A partir dos dados lidos pelo arduino, programo-o de modo produzir outputs (LEDs, para já) de acordo com os dados recebidos pelo RF.
Arduino a caminho…
Outubro 17, 2008 at 8:44 am | In Arduino | Leave a CommentAmanhã faço anos e como prenda, vou ter um Arduino Diecimila. Estou ansioso que chege, espero realizar muitos e bons projectos com ele. O objectivo principal é ir iniciando a programação para poder estar mais à vontade quando chegar essa fase do projecto de Área de Projecto.
Vou começar por fazer pequenos testes, mas pretendo introduzir o controlo remoto por RF (pela porta paralela). Gostava também de poder controlar remotamente um carro com a Wii Nunchuck.
O passo seguinte é comprar o NunChuck e o módulo RF.
Veremos o que sai daqui…
Ligar 2 Servos ao Arduino
Outubro 15, 2008 at 6:01 pm | In Arduino | Leave a CommentEncontrei esta página do “Arduino Playground”. Decidi postar no blog, porque em princípio vamos usá-la no nosso projecto para controlar a direcção do esguicho no topo do veículo.
A Biblioteca foi criada para controlar dois servos nos pinos 9 e 10. Foi baseada na biblioteca “Servo Timer 1″, mas em vez de controlar o ângulo em graus (degrees), controla-o em microsegundos. Os microsegundos dão-nos 10 vezes mais resolução do que os graus.
Aqui fica um exemplo prático de utilização:
//Example code for using ServoTimeTimer1 library
// hardware control of up to two servos, on Arduino pins 9 & 10
#include <ServoTimeTimer1.h>
#define servoPin1 9
#define servoPin2 10
#define potPin1 0
#define potPin2 1
ServoTimeTimer1 servo1;
ServoTimeTimer1 servo2;
int potVal1 = 0;
int potVal2 = 0;
void setup()
{
servo1.attach(servoPin1);
servo2.attach(servoPin2);
}
void loop()
{
potVal1 = analogRead(potPin1);
potVal2 = analogRead(potPin2);
//Here we convert a 0-1023 range to a 500-2546 range
//2546 is clipped to the maximum value of 2500 internally
servo1.write((potVal1*2)+500);
servo2.write((potVal2*2)+500);
}
Liguem os potenciómetros, um no pino analógico 0 e o outro no analógico 1.
Liguem um servo no digital 9 e o outro no digital 10.
Compilem, rodem os potenciómeteros para mover os servos.
[E-Book] “Getting Started with Arduino” – Massimo Banzi
Outubro 15, 2008 at 4:11 pm | In Arduino, E-Books | 3 CommentsEste livro é uma introdução à utilização do Arduino. Explica o funcionamento para quem não tem absolutamente nenhumas bases na matéria, concluindo com alguns exemplos práticos.
Aconselho…
Link: http://www.tinker.it/en/uploads/v3_arduino_small.pdf
Este é a edição expandida e actualizada deste material livro de iniciação ao Arduino, indicado por Paulo Gonçalves. Tem formato online, de acesso gratuito.
Blog em WordPress.com. | Theme: Pool by Borja Fernandez.
Entries and comments feeds.

