Home » Blog » Viking DYOR

Viking DYOR

In this blog post, an Arduino-controlled Viking robot is presented. The post will include a brief look into how the appearance of the Viking was designed, as well as some of the programs that can be installed on the Arduino chip.

Design of the Viking using Inkscape

The design of the base and the Viking was done using the 2d vector graphics program Inkscape. The design was subsequently loaded into a laser cutter, which can distinguish the red and green lines as complete cuts and carvings respectively.

The position of the components is carved into the base, to ease assembly. Furthermore, two holes are cut into the base for the feet of the Viking.

Components

  • Arduino Nano v3.0 + Shield Arduino Nano I/O
  • Cable Mini-USB
  • Powerbank
  • Ultrasound HC-SR04
  • Infrared MH-sensor
  • Buzzer
  • 2x Servos SG90
  • 2x Servos FS90R
  • Bluetooth
  • Castor wheel
  • 2x Wheels FS90R
  • LED matrix
  • Jumper cables

Assembly

The robot is assembled as seen in the pictures.

On the bottom of the base, the castor wheel and the two servo-powered wheels (FS90R) are fastened. Additionally, the infrared sensor for line following is mounted here in-between the two servo-powered wheels.

On the base, the battery is placed on the left (seen from behind) and the Arduino chip is placed in the bottom right corner. Right above the Arduino chip is the Bluetooth chip and in the upper right corner is the buzzer.

On the body of the Viking, the LED matrix is placed in the stomach of the Viking, the sonar is placed in the eyes and the two servos to control the arms are placed on the sides.

Function

The robot has mainly three programs:

Bluetooth-control

When this program is installed, the robot’s movements can be controlled through Bluetooth using a specially designed app. The app is designed using MIT AppInventor2.

In the upper right corner is the Bluetooth button to connect to the device. It will open a list containing all known Bluetooth devices. When the robots Bluetooth chip is selected it will connect the phone to the robot. The red bar on the right is the speeder. If the blue rectangle is dragged up the red bar, the robot will start moving. The speed is determined by how far up the blue rectangle is dragged.

The direction of the movement is controlled by tilting the phone itself as a steering wheel. The more the phone is tilted, the sharper the robot will turn. The robot can also be put into reverse by pressing the red square on the left of the steering wheel. If this is done the square will change colour to blue and the robot is in reverse. The reverse can be turned off by pressing the square again.

In this video, the Bluetooth control is demonstrated:

Obstacle avoidance

When this program is installed, the robot will slowly move forward until it detects an obstacle. If this is the case it will turn to the left until the obstacle is out of sight and continue moving forward.

In this video, the obstacle avoidance mode is demonstrated:

Viking-berserk

When this program is installed, the robot will turn around itself, looking for a victim. If it detects anything, it will move fast towards the victim, attacking it with the axe.

In this video, the berserker mode is demonstrated:

Author

Aske Klok