OpenELAB 4DOF Mechanical Arm Robot Car Learning Starter Kit
Product Link
Description
Mechanical arm, alike people’s arms, could execute a series of postures. At present, many mechanical arms can’t be operated flexibly because of the change of environment and distance.
On tackling this problem, KEYES group has launched a 3 in 1 learning kit-4DOF mechanical robotic arm car. With this kit, you could acquire how to control mechanical arm and smart car. I believe that you can’t help opening it to get started.
Features
3 in 1 Design: Smart car, mechanical arm, mechanical robot arm car Multi-purpose Function: obstacle avoidance, follow, remote control and automatic convey.
Easy to Build: Soldering circuit is not required.
High Tenacity: high performance baseplate and metal mechanical arm
High Extension: expand other sensors and modules through motor driver shield.
Multiple Controls: PS2 joypad control, fully automatic and App control(iOS and Android system)
Basic Programming:C language code learning.
Specification
Working voltage: 5v
Input voltage: 7-12V
Maximum output current: 3A
Maximum power dissipation: 25W (T=75℃)
Motor speed: 5V 63 rpm / min
Motor drive form: TB6612 drive
Ultrasonic sensing angle: <15 degrees
Ultrasonic detection distance: 2cm-400cm
Bluetooth remote control distance: 20-50 meters (measured)
Bluetooth APP control: support Android and iOS system
Component List
Getting Started with Arduino
OpenELAB V4.0 Development Board
We need to know OpenELAB V4.0 development board, as a core of this smart car.

OpenELAB V4.0 development board is an Arduino uno -compatible board, which is based on ATmega328P MCU, and with a cp2102 Chip as a UART-to-USB converter.

It has 14 digital input/output pins (of which 6 can be used as PWM outputs), 6 analog inputs, a 16 MHz quartz crystal, a USB connection, a power jack, 2 ICSP headers and a reset button.

It contains everything needed to support the microcontroller; simply connect it to a computer with a USB cable or power it via an external DC power jack (DC 7-12V) or via female headers Vin/ GND(DC 7-12V) to get started.
Operating Voltage
5V
Input Voltage (recommended)
DC7-12V
Digital I/O Pins
14 (D0-D13) (of which 6 provide PWM output)
PWM Digital I/O Pins
6 (D3, D5, D6, D9, D10, D11)
Analog Input Pins
6 (A0-A5)
DC Current per I/O Pin
20 mA
DC Current for 3.3V Pin
50 mA
Flash Memory
32 KB (ATmega328P-PU) of which 0.5 KB used by bootloader
SRAM
2 KB (ATmega328P-PU)
EEPROM
1 KB (ATmega328P-PU)
Clock Speed
16 MHz
LED_BUILTIN
D13
Installing Arduino IDE

Click the link to start learning how to download software, install drivers, upload code, and install library files.
https://getting-started-with-arduino.readthedocs.io
Projects
Project 1 LED Light
(1)Description

For the starter and enthusiast, this is a fundamental program---LED Blink. LED, the abbreviation of light emitting diodes, consist of Ga, As, P, N chemical compound and so on. The LED can flash diverse colors by altering the delay time in the test code. When in control, power on GND and VCC, the LED will be on if S end is high level; nevertheless, it will go off.
(2)What You Need

(3)Specification

Control interface: digital port
Working voltage: DC 3.3-5V
Pin spacing: 2.54mm
LED display color: red
(4)Pins of Motor Driver Shield

(5)Connection Diagram:

The pin -, + and S are connected to G(GND), V(5V) and S(D6) of shield.
(6)Test Code:
/*
OpenELAB OpenELAB 4DOF Robot Arm Car
lesson 1.1
Blink
http://www.OpenELAB.com
*/
int ledPin=6;// Define the LED pin at D6
void setup()
{
pinMode(ledPin, OUTPUT);// initialize ledpin as an output.
}
void loop() // the loop function runs over and over again forever
{
digitalWrite(ledPin, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(ledPin, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
}
(7)Test Result:
Upload the program, LED flickers with the interval of 1s.
(8)Code Explanation:
pinMode(ledPin,OUTPUT) - This function denotes that the pin is INPUT or OUTPUT.
digitalWrite(ledPin,HIGH) - When pin is OUTPUT, we can set it to HIGH(output 5V) or LOW(output 0V)
(9)Extension Practice:
We succeed to blink LED. Next, let’s observe what LED will change if we modify pins and delay time.
/*
OpenELAB 4DOF Mechanical Robot Arm Car
lesson 1.2
Blink
http://www.OpenELABcom
*/
int ledPin=6;// Define the LED pin at D6
void setup()
{
pinMode(ledPin, OUTPUT);// initialize ledpin as an output.
}
void loop() // the loop function runs over and over again forever
{
digitalWrite(ledPin, HIGH); // turn the LED on (HIGH is the voltage level)
delay(100); // wait for 0.1 second
digitalWrite(ledPin, LOW); // turn the LED off by making the voltage LOW
delay(100); // wait for 0.1 second
}
The LED flickers faster through the test result, therefore, delaying time could affect flash frequency.
7.Question
Last updated
Was this helpful?