Forum >Replies by fj604
Replies (12)
  • You Reply: Hello,

    I am hopeless with soldering as well and those motor leads do look fragile, that's why I chose not to bother and just twisted the wires to motor leads. It does not look nice but it does not break anything either.

    I thought you might want to consider these:

    http://oomlout.dfrobot.uk/jumper-wires-wcrocodile-clips-x10-p-239.html

    , or search on eBay for crocodile clips.

    If you do need replacement motors, these are available separately and also quite cheap:
    https://www.dfrobot.com/index.php?route=product/product&path=47&product_id=100

    Just to clarify, I am not affiliated with DFrobot.
  • You Reply: Hi,

    I don't think this is a WiFi camera. This is a regular wireless pinhole security camera, these can be found for around $30-40 with a TV out receiver or $50-60 with a USB receiver on eBay etc, such as:

    http://cgi.ebay.dfrobot.uk/280583284119

    This camera is useless by itself - it needs a receiver.

    I believe WiFi cameras with their current level of technology are too bulky and power-hungry to be placed on robots.

    I have a similar project nearly completed, I think I'll buy one of these 2.4 GHz cameras. Any further advice would be welcome.
  • You Reply: peterstrobl, check your inbox for personal messages in the forum please.
  • You Reply: peterstrobl, I honestly don't think that debugging with LEDs would be easy - serial port is much better for debugging, especially for logging variables etc. Are you seriously considering using 16 Arduino outputs for LEDs for debugging purposes? If you let me know what kind of project you are trying to make, perhaps I could come up with an idea?
  • You Reply: Also, do you get the same analogRead value of 1023 when nothing is connected to that pin? Is it the same for other analog pins?
  • You Reply: Correct me if I'm wrong, but your code uses the PulseIn function which will require a constant polling of the IR receiver, while the IRemote library uses interrupts and keeps the chip free to do other tasks in the mean time.

    I wrote some routines for the Attiny2313 chip for this kit using interrupts and they worked really well, though they would conflict with PWM and other timer-based libraries for Arduino. I think the IRemote library code can be adapted / tuned to read the NEC protocol more reliably.

    peterstrobl, should we try to join our efforts?
  • You Reply: Correct me if I'm wrong, but your code uses the PulseIn function which will require a constant polling of the IR receiver, while the IRemote library uses interrupts and keeps the chip free to do other tasks in the mean time.

    I wrote some routines for the Attiny2313 chip for this kit using interrupts and they worked really well, though they would conflict with PWM and other timer-based libraries for Arduino. I think the IRemote library code can be adapted / tuned to read the NEC protocol more reliably.

    peterstrobl, should we try to join our efforts?
  • You Reply: Hello and thank you for your reply.

    About mounting of the charger port:

    1. The 3PA platform has only one hole on the top plate large enough for the power switch OR the charger port - so if I have a power switch in it, how do I mount the charger port? Or perhaps you have a picture of a 3PA platform with both the power switch and the charger port mounted?

    2. What is the voltage and current requirement to charge five NiMH bateries - which power adapter should I use to charge?

    3. What is the recommended wiring scheme for this? Do you have any pictures or drawings?

    Thanks again.
  • You Reply: I made a new library for the LCD & Keypad Shield - it is available from DFRobot.com as DFR0009:

    [url=https://www.dfrobot.com/index.php?route=product/product&keyword=lcd&category_id=0&product_id=51]https://www.dfrobot.com/index.php?route=product/product&keyword=lcd&category_id=0&product_id=51[/url]

    The one recommended to use with these is LCD4Bit_mod, but the standard LiquidCrystal library works just as well with modified pin numbers - use this:

    [code]LiquidCrystal(8, 9, 4, 5, 6, 7) [/code]

    This library inherits LiquidCrystal and adds another method: button - to read button pushed on a keypad.

    I have also included an example - a simple number guessing game that you can play with the Up, Down and Select buttons.

    Download the library at the URL below or from the attachment:
    [url=http://uploading.com/files/d56136e9/LCDKeypad.zip/]LCDKeypad.zip - 2.7 KB[/url]

    Any comments will be appreciated.
  • You Reply: I made a new library for the LCD & Keypad Shield - it is available from DFRobot.com as DFR0009:

    [url=https://www.dfrobot.com/index.php?route=product/product&keyword=lcd&category_id=0&product_id=51]https://www.dfrobot.com/index.php?route=product/product&keyword=lcd&category_id=0&product_id=51[/url]

    The one recommended to use with these is LCD4Bit_mod, but the standard LiquidCrystal library works just as well with modified pin numbers - use this:

    [code]LiquidCrystal(8, 9, 4, 5, 6, 7) [/code]

    This library inherits LiquidCrystal and adds another method: button - to read button pushed on a keypad.

    I have also included an example - a simple number guessing game that you can play with the Up, Down and Select buttons.

    Download the library at the URL below or from the attachment:
    [url=http://uploading.com/files/d56136e9/LCDKeypad.zip/]LCDKeypad.zip - 2.7 KB[/url]

    Any comments will be appreciated.
  • You Reply: I do not see any problem with the IRemote library when used with this kit, though I found much more sensitive to a Sony remote than to the included one that appears to use the NEC protocol.

    This sketch detects buttons 0-9 and writes them to Serial, and also beeps the optional buzzer attached to pin 10.

    See the code[] array for 32-bit button HEX codes from 0 to 9, you can find out the rest with the IRemote library.
    Code: Select all
    #include <IRremote.h>
    
    int RECV_PIN = 2;
    
    IRrecv irrecv(RECV_PIN);
    
    long code[]=
    {
      0xFD30CF,
      0xFD08F7,
      0xFD8877,
      0xFD48B7,
      0xFD28D7,
      0xFDA857,
      0xFD6897,
      0xFD18E7,
      0xFD9867,
      0xFD58A7,
      0x0
    };
    
    char buttoncode[]=
    { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9' };
    
    decode_results results;
    
    char button(long keycode)
    {
      int i=0;
      do
      {
        if (code[i]==keycode)
          return buttoncode[i];
      }
      while (code[i++]);
      return 0;
    }
    
    
    void setup()
    {
      Serial.begin(9600);
      irrecv.enableIRIn(); // Start the receiver
      pinMode(10,OUTPUT);
      digitalWrite(10,HIGH);
    }
    
    void loop()
    {
      char bpressed;
      if (irrecv.decode(&results))
      {
        if (bpressed=button(results.value))
          {
            Serial.write(bpressed);
            digitalWrite(10,LOW);
            delay(100);
            digitalWrite(10,HIGH);
          } 
        irrecv.resume();
      }
    }
    
    
  • You Reply: I do not see any problem with the IRemote library when used with this kit, though I found much more sensitive to a Sony remote than to the included one that appears to use the NEC protocol.

    This sketch detects buttons 0-9 and writes them to Serial, and also beeps the optional buzzer attached to pin 10.

    See the code[] array for 32-bit button HEX codes from 0 to 9, you can find out the rest with the IRemote library.
    Code: Select all
    #include <IRremote.h>
    
    int RECV_PIN = 2;
    
    IRrecv irrecv(RECV_PIN);
    
    long code[]=
    {
      0xFD30CF,
      0xFD08F7,
      0xFD8877,
      0xFD48B7,
      0xFD28D7,
      0xFDA857,
      0xFD6897,
      0xFD18E7,
      0xFD9867,
      0xFD58A7,
      0x0
    };
    
    char buttoncode[]=
    { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9' };
    
    decode_results results;
    
    char button(long keycode)
    {
      int i=0;
      do
      {
        if (code[i]==keycode)
          return buttoncode[i];
      }
      while (code[i++]);
      return 0;
    }
    
    
    void setup()
    {
      Serial.begin(9600);
      irrecv.enableIRIn(); // Start the receiver
      pinMode(10,OUTPUT);
      digitalWrite(10,HIGH);
    }
    
    void loop()
    {
      char bpressed;
      if (irrecv.decode(&results))
      {
        if (bpressed=button(results.value))
          {
            Serial.write(bpressed);
            digitalWrite(10,LOW);
            delay(100);
            digitalWrite(10,HIGH);
          } 
        irrecv.resume();
      }
    }