Buy from US Buy from UK Buy from DE Buy from IT Buy from FR Buy from ES Buy from JP

In this lesson, we will learn how to use a Potentiometer to control a SG90 servo motor. When you rotate a Potentiometer, the SG90 servo motor will rotate accordingly.

  1. OSOYOO UNO Board (Fully compatible with Arduino UNO rev.3) x 1
  2. OSOYOO Magic I/O Shield for Arduino x 1
  3. OSOYOO Potentiometer x 1
  4. SG90 Servo motor x 1
  5. OSOYOO 3-Pin PnP cable x2
  6. USB Cable x 1
  7. PC x 1

Build Blocks:

Wire Connection:

Firstly, please plug Osoyoo Magic I/O shield into UNO board as following:

Then plug the Potentiometer module to A0 port , plug base  servo to D9 port, plug crane servo to D8, Plug button switch to D2 of the Magic I/O shield with   3-pin PNP cables as following:

Step 1) If you haven’t install mBlock software in your PC, please read Lesson 1, download and install the software.
Step 2) Run the mBlock PC software by double click the lovely Panda icon.   Drag and Drop osoyoo_uno_mext file(downloaded in Step 1) to mBlock software as following:

Now you will see a new device firmware in mBlock, see following picture:

Now mBlock software and OSOYOO_UNO device firmware have been successfully installed in our PC!

Now we will show you how to use blocks to turn above idea into reality.
Step 1: Click Control, then Drag and drop Forever block to programming area as following:

Step 2: Click Events,   add when Arduino Uno starts up block to the top:

Step 3: Click Variable,   make a variable and give it a name  inputvalue, add set inputvalue to 0 block inside forever block:

Step 4: Click Sensor, add Read Potentiometer Sensor Analog Pin 0 block inside set inputvalue to block:


Step 5: Click Action category, add set servo pin block below set inputvalue to block, make sure pin number is 9:

Step 6: Click Operator category, add ” / ” divide operator block inside angle as field, then change  denominator to 6:

Step 7: Click Variable category, add inputvalue block inside Numerator  field:

Step 8: Click Control category, add if else block below set inputvalue to block :

Step 9) Click Sensor, add Button Pressed Block  in If else block condition area, change pin number from  9 to 2:

Step 10)Click Action, Add two pcs set servo pin blocks inside if else block, change pin number from 9 to 8, change angle to 60 and 30 as following:

Now we have completed the block programming.  The final blocks look like following:

 Upload the program to Arduino

1)you need click the Connect button in the bottom of the mBlock software, you will see a USB window pop up,
2) select Show  all connectable device check box , then a device drop-down menu will show up,
3) select your Arduino port from device drop-down menu
4) click Connect button to  connect your PC to Arduino

5)After you PC is connected to Arduino UNO board,  please click Upload button in the bottom of your software, then the code will be uploaded to Arduino UNO board:

Test the program:

1)Put a ping pang ball inside the crane and turn on the   power.
2)Rotate the Potentiometer in A0 port, the base servo will rotate the crane accordingly. When you press button, the crane will throw out the ball.