Introduction: Four-Bar-Linkage Leaflet-Distributing Robot

About: Makeblock was founded in 2012 as the world's first open-source robot and programing platform. With more than 400 mechanical components, electronic modules, and software tools, we are determined to bring meanin…

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: Step 1: Build the Base

Part List:

2 x Beam 0824-176

2 x Beam 0824-128

2 x Beam 0824-320

4 x Rubber Foot

Step 2: Build the Linkage

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

Step 3: ​Install the Linkage Onto the Bracket

Part List:

2 x Plain Bearing 1 x Shaft

Step 4:

Install suction cup and air pump bracket

Part List:

1 x Disc D72 2 x Suction Cup

Step 5: ​Build Leaflet Bracket

Part List:

2 x Beam 0824-160

2 x Beam 0808-168

2 x Beam 0824-96

2 x Plate 45°

Step 6: ​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.

Step 7:

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>