Four-Bar-Linkage Leaflet-Distributing Robot

by Makeblock Robotics in Circuits > Arduino

2306 Views, 7 Favorites, 0 Comments

Four-Bar-Linkage Leaflet-Distributing Robot

Four-Bar-Linkage Leaflet-Distributing Robot
2d3bcca2d818ff1c1f2471a113454586_b.jpg

Recently, with some new plain bearings at hand, we tried to build a linkage structure just for performance testing. While in the process of testing, the idea of building a leaflet-distributing robot just came out gradually. We did, after several attempts, succeed in building a robot which can distribute leaflets automatically.

All parts are from:www.makeblock.com

Construction Process:

Step 1: Build the Base

2.jpg

Part List:

2 x Beam 0824-176

2 x Beam 0824-128

2 x Beam 0824-320

4 x Rubber Foot

Build the Linkage

3.jpg

The linkage, driven by the motion of gearing, can rotate freely to get leaflets (imagine the working mode of the dump truck). Widely applied in building robots, the plain linkage can achieve various motion functions by adjusting its length and being fixed on different location.

Part List:

2 x Beam 0808-136

1 x Beam 0808-184

2 x Beam 0824-48

1 x Disc 1 x Gear-48T

2 x Shaft Several Axle Sleeves and Spacers

​Install the Linkage Onto the Bracket

4.jpg

Part List:

2 x Plain Bearing 1 x Shaft

5.jpg

Install suction cup and air pump bracket

Part List:

1 x Disc D72 2 x Suction Cup

​Build Leaflet Bracket

6.jpg

Part List:

2 x Beam 0824-160

2 x Beam 0808-168

2 x Beam 0824-96

2 x Plate 45°

​Install Motor, Air Pump and Circuit

Part List:

1 x DC Motor-25mm

1 x Vacuum Pump Motor

1 x Ultrasonic Sensor

1 x Me Orion

1 x RJ25 Adapter Several Plastic Pipes and Wires

In step 6, the ultrasonic sensor is used for detecting whether the leaflet has been taken by people or not. As in the picture, we welded a wire on a shaft and a sheet metal on a beam 0808. When the linkage reaches its extreme position, the shaft and sheet metal will be connected to achieve a limit function.

Simple control code: use the ultrasonic sensor to sense leaflets and control the four-bar linkage to start a reciprocating motion to distribute leaflets.

<p>#include </p><p>#define PAPER_DIS   8</p><p>MeDCMotor pump(M1);
MeDCMotor arm(M2);
MeUltrasonicSensor dis(PORT_3);
MeLimitSwitch limit(PORT_4, SLOT1);</p><p>unsigned long startTime = 0;
unsigned long currentTime = 0;</p><p>void setup()
{
    Serial.begin(9600);
    arm.run(180);
    startTime = millis();
    do
    {
        currentTime = millis();
    } while(!((limit.touched()) || (currentTime - startTime > 3000)));
    arm.stop();
}</p><p>void loop()
{
    while (!paperDetected())
    {
        arm.run(-250);
        while (!paperDetected())
        {
            delay(100);
        }
        pump.run(255);
        delay(1200);
        arm.stop();
        delay(500);
        //  Raise
        arm.run(180);
        delay(1500);
    }
    startTime = millis();
    do
    {
        currentTime = millis();
    } while(!((limit.touched()) || (currentTime - startTime > 3000)));
    arm.stop();
    pump.run(200);
}</p><p>int paperDetected()
{
    float distance = 0;
    do
    {
        distance = dis.distanceCm();
    } while (distance < 2);
    
    if (distance < PAPER_DIS)
    {
        return 1;
    }
    else
    {
        return 0;
    }
}</p>