Getting started with Arduino and the DFRobotshop Rover

Shopping_Cart_-_RobotShop.pdf (103137Bytes)

Hi,

I'm new (to this forum and robotics).

I love programming and am interested in an Arduino for some time, but never found something where programming microcontrollers would make sense and fun.

After looking into Lego Mindstorms, I stumbled over the DFRobotshop and the Start here.

The rover looks cooler and can be controlled (The Purge-style) where the Start Here is more autonomous. So I though that the rover would be better for me, but I saw that the Arduino has a surfacemount chip and thus I can't program other microcontrolles (without a shield).

The Start Here has exchangeble chips, but cannot be controlled over USB (I suppose).

So I came up with the following shopping cart (see PDF in attachment). Would that make sense? Strangely it's also much cheaper as the rover kit.

 

Thanks in advance for your help.

Thomas

Hi Jtommi,I don’t understand

Hi Jtommi,

I don’t understand what you mean by “I saw that the Arduino has a surfacemount chip and thus I can’t program other microcontrolles (without a shield)”.

Be carefull with your order. You will not be able to use the motor driver withouth soldering or using a breadboard. You should better take a motor controler module.

Going with the Rover kit is certainly the easiest way if you are a beginner. Or just start with an Arduino starting Kit, play with it, understand how it works and then, you will know better where you want to go and what you need :slight_smile:

On the pictures of the

On the pictures of the Rover, I can see that the ATMega is soldered to the arduino, which is not the case with the Arduino board itself.

I want to be able to program (not necessarely for the robot) an ATMega which can be used in it’s own circuit, and thus I have to take it out of the Arduino.

I can solder and know how to use a breadboard, so if it’s the only issue, I should be fine with the motor drivver.

Arduino Programming

We often use the term Arduino to refer to a physical board or CPU chip. That is not exactly correct. Do an online lookup for a more complete definition.

There are 2 levels of programming available for Atmel devices in an Arduino environment, In-Circuit and Bootloader. The default “Arduino” typically uses a bootloader that has been programmed onto the chip by the board vendor. This allows the end user to program via a standard USB cable.

Getting started with Arduino

I teach an Intro to Robotics course designed for beginners. We use the Dagu Mini Driver. RobotShop carries two vervions. I would recomend RB-DAG-106 because it has the newer more powerful 328 CPU chip. BTW - none of the students outgrew the older ATMEGA8 during the class. These boards support 2 DC motors and have nice 3-pin headers for I/O. Much more convenient than traditional Adruino plus motor driver board. Save the SN74410 for a another more advanced project.

It may also befefit you to consider a design where the motor or wheels have encoders for speed control. The Tamiya twin motor drive mechanisms will not drive in a straight line without feedback.

There are lots of resources available on LMR and no question is too simple.

 

 

Why do you want to flash the

Why do you want to flash the microcontroller ? Do you need to remove the Arduino bootloader ? (you might have good reasons, but since you say you are new to this, it sounds surprising :wink: ).

Maybe you know that already and it will sound obvious : you can program your Arduino over USB as many times as you want. You don’t need to program directly the chip. If you flash the Atmega (and by doing so, erase the Arduino bootloader), you will not be able to use Arduino language anymore untill you flash it again with a new Arduino bootloader.

Arduino is an open-source hardware platform. If you take the microcontroller, flash it, and use it on another circuit it is not an Arduino anymore :wink: Except saving $1 for sharing the same chip in 2 different circuits, I don’t see the point.

If you have size constraints, the Arduino Nano or Micro is the solution.

I might have mixed up

I might have mixed up something.

 

Besides programming the rover, I also want to be able to program a chip to put it in it’ own circuit (which has nothing to do with the rover (e.g. a circuit with the chip, a resistor and a LED, and the chip makes the LED blink SOS).

I thought ::

- With the Arduino board in the PCB of the rover, I would need a shield for Arduino to do that.

- With the Arduino Uno I could just put another chip in place, program it to blink SOS on a certain output, take it out and solder it with a LED (and power obviously) to it’s own PCB.

 

After researching a bit, what I want (the second point) is an AVR ISP (in-system programming).

So I found this, which is not how I thought it would work: https://www.arduino.cc/en/Tutorial/ArduinoISP.

So the Ardiuno CHIP HAS to stay in the board (for the ISP sketch) and I hook up the AVR with some wires to the correct pins of the Arduino BOARD. Which would than let the Arduino CHIP keep the bootloader level and the external one the in-system level which ggallant mentioned.

 

In which case, it has no importance wether the Arduino CHIP is surfacemounted or not (unless I fry it).

Did I get that correctly thi time ?

 

If yes, which pins of the Arduino in the Rover PCB wouldn’t I be able to use (since they’re soldered to the motordriver, LEDs, etc) ?

Ok, I understand better :slight_smile:

Ok, I understand better :slight_smile: To be honest, I have never used this way of programming the chip.

I don’t know either which pins are used on the “all-in-one” Rover board. But you are right, in terms of reusability, this board is not the best choice.

If I understood well your needs, I see to easy options :

  • You make (or buy) your own shield with what you need (motor driver etc.) and you can use your Arduino board in the rover, or anywhere you want just by reprogramming the Arduino and switch shield.
  • Or, you can have several Arduinos :wink: What I usually do : I have a few Arduino Uno that I use for prototyping, because it is quick and easy. Then I use Arduino Nano in my final circuit. It does the same thing, except it is very tiny (a bit bigger than a non-surfacemounted Atmega), it costs nothing and can be programmed over USB. You can easily find Nanos for 3€/each.

Of course, you can do as you had planned and have your own implementation, but I think it is a lot of efforts to save so little money.

It is up to you :slight_smile:

DFRobotShop Rover Chassis Kit

Just FYI, RB-Rbo-150 already includes the Tamiya Twin Motor Gear Box (might save you a bit of money). RB-Spa-634 might save you some money, but is not a complete circuit. This shield is essentially an “all in one” which you can use with a 3.7V LiPo: https://www.robotshop.com/en/dfrobotshop-rover-mobile-robot-shield.html

In any case, looking forward to seeing what you create!

The intention was never to

The intention was never to save money, but that always nice.

 

I think I will go with the standard rover, maybe bluetooth with it. Sounds like a nice christmas gift.

And later if needed another Arduino or Arduino clone.

Maybe (if I progress well enough) I’ll redo the rover with a Raspberry Pi, Wifi and camera, controlled from PC and/or Android (or Windows Phone). But that’s far away.

Finaaly I bought separate

Finaaly I bought separate parts from Aliexpress (for about $35).

It’s goig pretty beside small issues, see post.