360 NANO BOT
THE COMPLETE ALL IN ONE ROBOT
LINE FOLLOWER
FIVE LINE SENSORS FOR SCANNING WHITE OR BLACK LINE
OBSTACLE AVOIDER
TWO OBSTACLE SENSORS CAN DETECT OBSTACLES AND MEASURE DISTANCE
BLUETOOTH CONTROL
CONNECT A BLUETOOTH MODULE & CONTROL IT FROM AN ANDROID
JUST ANOTHER
ARDUINO NANO CONNECT THE USB CABLE & START PROGRAMMING IT FROM ARDUINO IDE
8×2 CHARACTER
LCD WITH BACKLIGHT CONTROL OPTION USING ONBOARD MICROCONTROLLER
EASY PLUGGABLE RECHARGEABLE BATTERY
INSPIRED BY 3PI ROBOT
We were impressed by the features and popularity of the “3pi robot” from Pololu but disappointed at the same time due to its limitations and high price tag. So, we made our own robot, something way more user friendly with a bunch of added features and options. And of course with an affordable price.
360 Nano Bot Pololu 3PI
Microcontroller Atmega 328 Atmega 328
Motor Controller TB6612FNG TB6612FNG
Motors 250 RPM high torque (more controllable) 700 RPM low torque
Programmer Built-in Not included, have to buy an AVR programmer
separately
USB to Serial Built-in Not included, have to buy separately
Arduino compatibly
Arduino Nano built-in, supported by Arduino IDE out of the box
Not supported out of the box, but Arduino software can be modified to add support
Obstacle sensor Built-in Not available
Bluetooth HC-05 connector, isolated No Bluetooth module connector
Battery 2S Li-ion rechargeable battery, Included in
product package AAA Alkaline batteries, Have to buy separately
Charger Included in product package Have to buy separately if needed
LCD 8X2 monochrome LCD with digitally
controllable backlight 8X2 monochrome LCD, no backlight
Battery voltage indicator
Indicated by power LED Measured by microcontroller. Requires writing additional code to show battery voltage on LCD
Size (Diameter) 10 cm 9.42 (3π) cm
Price See product page (including battery & charger) USD 99.95 (BDT 8085 approximately)
COMPARISON
A CLOSER LOOK
Line Sensors: Five TCRT-5000
infrared line sensors for scanning white or black line
Microcontroller: Atmega328
running on 16 MHz, flashed with Arduino Nano bootloader
Motor Driver: TB6612FNG,
running on 7.1 – 8.4 volts, controls the speed and direction of rotation
of two geared DC motors
USB to Serial Converter: FT232RL ic controls
programming and serial communication of the
microcontroller
Ball casters: Two ball casters
provide smooth movement. Having ball casters on both front and rear side prevents stumbling during both acceleration and brake
Wheels: Wide wheels with
grooved tires provide better grip. wheel diameter is 4 cm
Power LEDs: Two power LEDs
act as both power and battery level indicator. They dims when battery charge is low
USB: USB mini-B port, same as
Arduino Nano
ANOTHER CLOSER LOOK
User LEDs: Five user LEDs, controllable from the microcontroller. They share the same microcontroller pins used for LCD. Not accessible while the shield is connected.
Shield Connectors: Two sets of shield connector for attaching the shield and thus controlling LCD, obstacle sensors and optional Bluetooth module.
User pot: Connected to an ADC pin of the microcontroller via pot jumper.
User Buttons: Three user configurable buttons.
Alternate Power Input: In case you want to use a different battery instead of the one provided with the package. Be careful about the voltage polarity if using these pins.
Reset Button: To reset the atmega328 microcontroller.
Buzzer: Just an audio output.
Motors: High torque 250 rpm motors.
Battery connector: For plugging in the 2S Li-ion battery provided with the package.
Power switch: On-off switch. It’s also a power selector switch for choosing power either from battery or USB port. Slide towards USB port to select USB power and you’ll be able to test your program while the battery is charging. It also switches off the robot if USB cable is not connected. Slide towards battery connector to select battery power. You can run motors only on Battery power.
Power LED Toggle Switch: If you don’t like to keep the power LEDs always turned on or simply want to save some battery juice.
ACCESSING USER LEDs Connect 5 jumpers as shown by the RED LINES in the picture below to connect the 5 user LEDs to internal Arduino Nano pins 11, 12, 13, 0 & 1 from left to right.
You cannot attach the shield while the 5 user LED jumpers are connected.
Putting a jumper indicated by the YELLOW line in the picture below connects the user pot to the microcontroller. The shield can be attached without removing it.
JUMPER DIAGRAM
11
12
13
0
1
Obstacle Sensor Switch: Obstacle sensors draw a lot of current draining the battery quickly. Switch them off when not in use. Push towards → direction to turn on.
Obstacle Sensors: Two TCRT-5000 based obstacle sensors can detect obstacle in front, left and right side up to 10cm distance. User can also detect obstacle distance using these.
Bluetooth Connector: For directly plugging in a HC-05 bluetooth module.
LCD: 8×2 character LCD connected to a 74595 shift register. The display as well as the backlight can be controlled using only 3 pins of the microcontroller.
THE SHIELD ADDS LCD, OBSTACLE SENSORS AND BLUETOOTH CONNECTOR
Click this button for a detailed video
demonstrating the components and their
usage
CIRCUIT CONNECTIONS
360 Nano Bot has got an Arduino Nano built-in. Illustrating circuit connections using Arduino Nano for easy understanding.
MOTOR CONTROL
LEFT MOTOR
Arduino Pin 9 & 10 Control Direction
Arduino Pin 5 Controls Speed
RIGHT MOTOR
Arduino Pin 8 & 7 Control Direction
Arduino Pin 6 Controls Speed
Now let’s rotate the motors at both forward and reverse directions, at various speeds. Internal Arduino pins 9 (in1) & pin 10 (in2) controls forward & reverse direction of the left motor. Pin 5 (EnA) controls left motors speed. Pin 8 (in3) & pin 7 (in4) control right motor direction. Pin 6 (EnB) controls right motor speed.
Click HERE for example code.
READING LINE SENSORS
The five line sensors are connected to internal Arduino Nano analog pins A7, A0, A1, A2 & A3 as shown in the picture beside. These sensors provide analog voltage output. When the robot is placed on a surface, these sensors output high voltage over white surface and low voltage over black surface.
The difference of voltage output value on white & black surface is quite high (about 3 volts).
Click HERE for example code. Upload the code, open Serial monitor at 9600 baud rate and you’ll see readings from the sensors.
Three button are connected in a voltage divider circuit as shown in the picture beside. Thus pressing each button will generate definite voltage at the Signal pin connected to internal Arduino Nano ADC pin A6. The LCD as well as its transistor controlled backlight is connected to the output of a shift register IC. So, by using only 3 pins of the internal Arduino Nano (digital pins 11, 12 & 13) connected to the shift register, the LCD along with the backlight can be controlled.
Click HERE for example code. You’ll be able to see detection of each button by the microcontroller on the LCD. You must have “LiquidCrystal595” library added to your Arduino IDE for using the LCD. Download it from HERE. If you don’t know how to add a zip library, this video can help. Use Arduino IDE version 1.6.5 or later.
BUTTONS AND LCD
BUZZER AND USER POTENTIOMETER
A buzzer connected to internal Arduino Nano pin 4 can be used to generate an audible signal from
the robot. A user pot (potentiometer) is connected to Arduino analog pin A4. The pot jumper is used
to connect the pot to Arduino Analog pin A4. By removing the jumper, you can connect pin A4 to any of the 5 front LEDs using female-female jumper wire while the shield is attached and control the LED by using pin A4 as a digital pin (pin 18).
Code for accessing the pot and the buzzer can be found HERE. It lets you control the buzzer by rotating the pot.
OBSTACLE SENSORS
The obstacle sensors work by the same capacitor discharge principle as our other obstacle sensor. Obstacles present at up to 10cm distance on right, left and front (large obstacle) side can be detected. Distance of the obstacle within the range can also be measured.
Code for accessing the obstacle sensors can be found HERE. Presence of obstacle detected by both of the two sensors as well as obstacle distance can be viewed on LCD display.
Obstacle sensors draw a lot of current from the battery and reduce run time. Slide the obstacle sensor switch towards → direction (left) to turn on the obstacle sensors. Slide to the other direction (right) to turn them off when not in use and save battery juice.
BLUETOOTH CONNECTOR
A connector for the popular HC-05 bluetooth module provides easy bluetooth add-on capability to the robot. When attached, bluetooth TX gets connected to internal Arduino Nano pin 0 and Bluetooth RX to Arduino pin1.
As the bluetooth data pins and Arduino programming pins (pin0 & pin1) are the same, consider removing the bluetooth module while uploading program. Bluetooth can be used while USB is connected.
Download the android app for making android controlled robot from HERE. Code for using bluetooth can be found HERE. It shows the data sent over Bluetooth on robots LCD display. Also, you can move the robot forward from your phone/tab using the app. Code for rest of the motions is left for the user to write.
CHARGING THE BATTERY
The battery charger and a charging cable is included in the product package. You have to first connect the crocodile clips of the charging cable to the charger like the picture beside. The two batteries of the Li-ion battery pack have to be charged separately. Approximate charging time is five hours.
CHARGING THE BATTERY
Charging Battery 1
Charging Battery 2
Connect the 2 pins of the charging cable to the 1-2 pins of the battery like the picture beside. Connect the Charger to your 220V AC wall outlet and let battery 1 charge. When battery 1 is fully charged (charger LEDs stop blinking), connect the 2 pins of the charging cable to 2-3 pins of the battery. Wait until fully charged.
There’s NO ‘+’ & ‘-’ polarity of the
charger and the charging cable. So don’t worry about the polarity.
ALL IN ONE
When you get your hands on the robot for the first time, we want you to play with it without writing any code. So, the robot is shipped with an “all in one” (AIO) sketch flashed inside the Atmega328 microcontroller. It lets you use all the functionalities of the robot at once, right out of the box. By selecting options from a user menu displayed on the LCD, you can make your robot follow line, avoid obstacles or run on bluetooth command from your android device. You can download the AIO firmware and the flasher (Xloader) from here for future use. Unzip the file and follow the instructions described in the next page.
FLASHING THE AIO FIRMWARE
1. Connect 360 Nano Bot to your PC using the USB cable.
2. Open XLoader.exe from XLoader folder.
3. Select hex file → Browse to AllinOne.ino.hex that you have downloaded.
4. Select Device→ Duemilanove/Nano(Atmega328)
5. Select the correct COM port of your 360 Nano Bot
6. Select baud rate→ 57600 7. Hit Upload and wait for a few
seconds
Done! Now you have the AIO firmware loaded in your robot.
USING THE ROBOT WITH AIO FIRMWARE
POWER ON
NEXT or PREV
Line Sensor Calibration
OK / Back
NEXT or PREV
NEXT or PREV
OK / Back OK / Back OK / Back
OK / Back
After Bluetooth
Connection
If HC-05 is
already connected
to the app
USING THE ROBOT WITH AIO FIRMWARE
LINE FOLLOW:
Turn on Robots power. A WELCOME SCREEN “TECHSHOP” will appear on the LCD.
If you want to calibrate the line sensors, put your robot over the line and press OK/Back button. The robot will rotate over the line for a few seconds. Then MAIN MENU will appear next.
Calibration data don’t delete if you switch of robots power.
You can skip sensor calibration by pressing Next or Prev button while in WELCOME SCREEN. Robot will use data from last calibration in this case. You must calibrate line sensors for a line follower track at least once before putting the robot on it.
In the MAIN MENU there are 3 options: LINE FOLLOW, OBSTACLE AVOID AND ANDROID CONTROL. You can toggle between them using Next and Prev buttons.
Go to “LINE FOLLOW” and Press OK/Back button to select LFR mode. If placed over a line, the robot will start following it.
Press OK/Back button to go back from LFR mode. Only black line over white surface is supported by the AIO firmware.
Rotate the yellow user pot to tune line sensitivity and thus improve the quality of line following. The user pot jumper must be attached.
User Pot Jumper User Pot
OBSTACLE AVOID:
Turn on Robots power. A WELCOME SCREEN “TECHSHOP” will appear on the LCD.
Press Next or Prev button while in WELCOME SCREEN to go to MAIN MENU.
Slide the obstacle sensor switch towards “→” direction.
In the MAIN MENU there are 3 options: LINE FOLLOW, OBSTACLE AVOID AND ANDROID CONTROL. You can toggle between them using Next and Prev buttons.
Go to “OBSTACLE AVOID” and press OK/Back button. Obstacle avoiding program will start.
Robot avoids obstacles by moving towards open area. D1 & D2 (on LCD) shows obstacle distance (not in cm). LCD backlight turns on when obstacle is detected. Press OK/Back button to exit.
USING THE ROBOT WITH AIO FIRMWARE
ANDROID CONTROL:
Connect a HC-05 bluetooth module to the bluetooth connector.
Turn on Robots power. A WELCOME SCREEN “TECHSHOP” will appear on the LCD.
Press Next or Prev button while in WELCOME SCREEN to go to MAIN MENU.
By pressing Next or Prev button Go to “ANDROID CONTROL” and press OK/Back button.
The LCD will show “WAITING for BT” until you connect to HC-05 from an android app.
Download Bluetooth RC car from play store. Pair your phones bluetooth to HC-05 (default pass:1234). Open the Bluetooth RC car app and then settings icon>>connect to car>>HC-05.
Press the red “Connect button” and it will turn green. Robots LCD will show “BT CNTRL MODE ON” after it detects the android app sending data to it via bluetooth.
USING THE ROBOT WITH AIO FIRMWARE
Android App for Bluetooth Control Click the Icon or Scan
Connect Button
Buzzer LCD Backlight Settings
Speed Slider
Forward / Backward Left / Right
ADVANCED USAGE
The header pins can be used for many other purposes if you’re not using the shield. Or you can design your own
custom shield for serving your specific purpose. To
give you a head start, we’re providing the footprint of the shield connectors.
Download shield footprint (proteus file) from here.
SPI pins: you can use them for burning arduino bootloader. Or upload your .hex file. Along with pins 0-3 these pins can be used to interface a SD card, graphics LCD or any SPI based device.
I2C pins: for connecting compass, gyro & accelerometer, RTC, EEPROM etc.
Serial pins: for connecting bluetooth, ESP-8266, GPRS, Xbee etc. Interrupt pins: for connecting rotary encoder and other interrupt based components. Can also be used for connecting SR-04 sonar sensor.
Power pins: There’s GND, 5V, 3.3V and battery positive output pins.
SAFETY WARNINGS & HANDLING PRECAUTIONS
Use the robot on flat and smooth surface. Running on rough surfaces might damage the underside of your robot’s PCB.
Run the robot on clean surface. The ball casters will be jammed and filled with dirt if you run it on dusty / wet surface.
Avoid placing the robot in a place (e.g.: a drawer filled with metal parts) where the underside of the PCB makes contact with conductive materials. This may cause short circuit while battery is connected even when the robot is powered off.
It’s a good practice to remove the battery from the robots body before storage. Keep the battery in a plastic bag to avoid accidental short circuit of the battery connectors.
Do not run the robot when battery voltage is too low (power LEDs dim). This may cause permanent damage to the battery and it may not even recharge when charger is connected.
Avoid rotating robots wheels by hand as this might damage the gears of the motors.
Obstacle sensors drain battery quickly. Keep the obstacle sensors turned off (using obstacle sensor switch) if you are not using the robot for obstacle avoidance.
Don’t program the robot using an USBasp/AVR isp programmer as this will wipe the arduino Nano bootloader. Use the SPI pins only if you know what you are doing.
This is not a toy for children. There’s exposed solder leads, lithium batteries and a lot of small circuit components that should be kept out of the reach of children. We expect you to handle the robot with care.
PRODUCT PACKAGE
360 Nano Bot main PCB with assembled circuit components, motors, wheels, ball casters etc.
360 Nano Bot shield with LCD, obstacle sensors and bluetooth connector (no bluetooth module).
2 cell lithium ion battery pack with 3 pin female connector.
Battery charger.
Battery charging cable.
6 computer jumpers.
CONTACT
Technical support: [email protected]
Customer care: 01841-110-110
WARRENTY AND REPLACEMENT
Service warranty is free for lifetime. Only pay for the damaged component(s) of the robot and we’ll replace it/them without any service charge (if repairable). For more information, click here.
Top Related