LusoRobótica - Robótica em Português
Robótica => Iniciantes => Tópico iniciado por: Lithium em 20 de Setembro de 2011, 19:19
-
Olá,
comprei estes dois componentes(http://www.sparkfun.com/products/10533 (http://www.sparkfun.com/products/10533) & http://www.sparkfun.com/products/8945 (http://www.sparkfun.com/products/8945)), porque pelos exemplos que vi achei que era fáceis de utilizar. Mas já experimentei vários exemplos de código mas não os consigo pôr a funcionar.
Para começar apenas gostaria de acender um led ao pressionar um botão.
EDIT: Esqueci-me de referenciar que estou a tentar fazer isto com arduinos uno.
Cumpz
-
já experimentas-te o codigo/ circuito que esta no receptor?
codigo de que falo é este
http://dlnmh9ip6v2uc.cloudfront.net/datasheets/Wireless/General/VirtualWire-1.5.zip
-
já experimentas-te o codigo/ circuito que esta no receptor?
codigo de que falo é este
http://dlnmh9ip6v2uc.cloudfront.net/datasheets/Wireless/General/VirtualWire-1.5.zip
Sim já experimentei esse e outros, mas não cheguei a lado nenhum.
-
verifica as ligações e vê mais detalhadamente com tens isso construido
-
vê se isto ajuda: http://letsmakerobots.com/node/12336 (http://letsmakerobots.com/node/12336)
-
Já funciona, obrigado os dois. ;)
Bem, agora o meu objectivo é outro eu quero enviar um caractere, que é introduzido no serial monitor.
// RF Link using VirtualWire to Transmit messages
// simplex (one-way) receiver with a 315MHz RF Link Transmitter module
// tx pin 3 on Duemilanova (arduino)
#include <VirtualWire.h> // you must download and install the VirtualWire.h to your hardware/libraries folder
#undef int
#undef abs
#undef double
#undef float
#undef round
const char* val= "d";
void setup()
{
// Initialise the IO and ISR
vw_set_ptt_inverted(true); // Required for RF Link module
vw_setup(2000); // Bits per sec
vw_set_tx_pin(3); // pin 3 is used as the transmit data out into the TX Link module, change this to suit your needs.
}
void loop()
{
const char *msg = val; // this is your message to send
vw_send((uint8_t *)msg, strlen(msg));
vw_wait_tx(); // Wait for message to finish
delay(200);
}
Neste caso o caractere que estou a enviar é o "d", mas eu quero é que esta variável seja alterada consoante o que é introduzido no serial monitor, como já tinha explicado acima. Os caracteres que pretendo enviar são:"a","w","d","s".
-
Sei que já passou muito tempo, mas ainda ando à procura de resposta :(
-
eu cheguei a fazer um codigo que envia caracteres lindamente, serve para fazer funções digitais, mas não serve para o meu caso que eu quero utilizar o PWM, para controlar servos de rotação continua. :(
Vê aqui:http://lusorobotica.com/index.php?topic=4133.15 (http://lusorobotica.com/index.php?topic=4133.15)
(P.S.só tens de alterar o analogRead para digitalRead)
-
Para controlares um servo precisas de um valor entre 0 e 255, podes enviar esse valor directamente como um char, ou então usas a função itoa() que converte o valor para numeros ASCII e depois no lado receptor usas a atoi que agarra na string dos 3 numeros ascii e converte de novo num numero decimal que podes colocar numa variavel para controlar os servos.
-
Hum!desconhecia,tenho de experimentar, quando tiver tempo livre, muito obrigado senso! ;)