Common Library Examples

Modules in common library examples are imported through the board library.

Example Program - Servo

Servo: Servo Motor

This Python code demonstrates how to control a servo motor. The Arduino main control board is connected to a Windows or Linux computer, and a servo motor is connected to the D4 pin of the main control board.

# -*- coding: UTF-8 -*-
# Experiment effect: Servo control
# Connection: Connect an Arduino main control board to a Windows or Linux computer, and connect a servo to D4
import time
from pinpong.board import Board,Pin,Servo # Import Servo library

Board("uno").begin()  # Initialization, select the board type (uno, microbit, RPi, handpy) and port number. If no port number is entered, automatic recognition will be performed
#Board("uno","COM36").begin()  # Initialization by specifying the port under Windows
#Board("uno","/dev/ttyACM0").begin() # Initialization by specifying the port under Linux
#Board("uno","/dev/cu.usbmodem14101").begin()   # Initialization by specifying the port under Mac

s1 = Servo(Pin(Pin.D4)) # Initialize the servo pin by passing Pin into Servo

while True:
    #s1.angle(0) # Control the servo to turn to the 0 degree position Method 1
    s1.write_angle(0)  # Control the servo to turn to the 0 degree position Method 2
    print("0")
    time.sleep(1)

    #s1.angle(90) # Control the servo to turn to the 90 degree position
    s1.write_angle(90)  # Control the servo to turn to the 90 degree position Method 2
    print("90")
    time.sleep(1)

    #s1.angle(180) # Control the servo to turn to the 180 degree position
    s1.write_angle(180)  # Control the servo to turn to the 180 degree position Method 2
    print("180")
    time.sleep(1)

    #s1.angle(90) # Control the servo to turn to the 90 degree position
    s1.write_angle(90)  # Control the servo to turn to the 90 degree position Method 2
    print("90")
    time.sleep(1)

Example Program - Tone

Tone: Buzzer

This Python code demonstrates how to control a buzzer to make a sound. The Arduino main control board is connected to a Windows or Linux computer, and a buzzer module is connected to the D8 pin of the main control board.

# -*- coding: UTF-8 -*-
# Experiment effect: Control the buzzer to make a sound
# Connection: Connect an Arduino main control board to a Windows or Linux computer, and connect a buzzer module to D8 of the main control board
import time
from pinpong.board import Board,Pin,Tone # Import Tone class to control the buzzer

Board("uno").begin()  # Initialization, select the board type (uno, leonardo, xugu) and port number. If no port number is entered, automatic recognition will be performed
#Board("uno","COM36").begin()  # Initialization by specifying the port under Windows
#Board("uno","/dev/ttyACM0").begin() # Initialization by specifying the port under Linux
#Board("uno","/dev/cu.usbmodem14101").begin()   # Initialization by specifying the port under Mac

tone = Tone(Pin(Pin.D8)) # Implement analog output by passing Pin into Tone
tone.freq(200) # Play according to the set frequency

'''
while True:
  tone.tone(200,500)  # Play according to the set frequency and time until completed
  time.sleep(1)
'''

while True:
  print("freq=",tone.freq()) # Read and print the frequency
  tone.on()  # Turn on the buzzer
  time.sleep(1)
  tone.off() # Turn off the buzzer
  time.sleep(1)
  tone.freq(tone.freq()+100) # Play according to the set frequency

Example Program - HCSR04

SR04_URM10: Ultrasonic Sensor

This Python code demonstrates how to read ultrasonic waves using an SR04 or URM10 ultrasonic sensor. The Arduino main control board is connected to a Windows or Linux computer, the Trig pin of the sensor is connected to D7, and the Echo pin is connected to D8 of the main control board.

# -*- coding: UTF-8 -*-
# Experiment effect: Read ultrasonic waves
# Connection: Connect an Arduino main control board to a Windows or Linux computer, use SR04 or URM10 ultrasonic sensor, connect Trig to D7, and Echo to D8
import time
from pinpong.board import Board,Pin,SR04_URM10 # Import SR04_URM10

Board("uno").begin()  # Initialization, select the board type (uno, leonardo, xugu) and port number. If no port number is entered, automatic recognition will be performed
#Board("uno","COM36").begin()  # Initialization by specifying the port under Windows
#Board("uno","/dev/ttyACM0").begin() # Initialization by specifying the port under Linux
#Board("uno","/dev/cu.usbmodem14101").begin()   # Initialization by specifying the port under Mac

TRIGER_PIN = Pin(Pin.D7)
ECHO_PIN = Pin(Pin.D8)

sonar = SR04_URM10(TRIGER_PIN,ECHO_PIN)

while True:
  dis = sonar.distance_cm() # Get the distance, unit in centimeters (cm)
  print("distance = %d cm"%dis)
  time.sleep(0.1)

Example Program - DHT

DHT: Temperature and Humidity Sensor

This Python code demonstrates how to read temperature and humidity data from DHT11 and DHT22 sensors. The Arduino main control board is connected to a Windows or Linux computer, the DHT11 sensor is connected to D6, and the DHT22 sensor is connected to D7 of the main control board.

# -*- coding: UTF-8 -*-
# Experiment effect: Read dht temperature and humidity sensor
# Connection: Connect an Arduino main control board to a Windows or Linux computer, connect dht11 to D6, and dht22 to D7
import time
from pinpong.board import Board,Pin,DHT11,DHT22 # Import dht library

Board("uno").begin()  # Initialization, select the board type (uno, leonardo, xugu) and port number. If no port number is entered, automatic recognition will be performed
#Board("uno","COM36").begin()  # Initialization by specifying the port under Windows
#Board("uno","/dev/ttyACM0").begin() # Initialization by specifying the port under Linux
#Board("uno","/dev/cu.usbmodem14101").begin()   # Initialization by specifying the port under Mac

dht11 = DHT11(Pin(Pin.D6))
dht22 = DHT22(Pin(Pin.D7))

while True:
  temp = dht11.temp_c() # Read Celsius temperature
  humi = dht11.humidity() # Read humidity
  print("dht11 temperature=",temp," humidity=",humi)

  temp = dht22.temp_c() # Read Celsius temperature
  humi = dht22.humidity() # Read humidity
  print("dht22 temperature=",temp," humidity=",humi)
  time.sleep(1)

Example Program - Neopixel

Neopixel: WS2812 Light Strip

This Python code demonstrates how to control a WS2812 single-line RGB LED light strip. The Arduino main control board is connected to a Windows or Linux computer, and the WS2812 light strip is connected to the D9 port of the main control board.

# -*- coding: UTF-8 -*-
# Experiment effect: Control WS2812 single-line RGB LED light
# Connection: Connect an Arduino main control board to a Windows or Linux computer, connect the WS2812 light to the D9 port

import time
from pinpong.board import Board,Pin,NeoPixel # Import the NeoPixel class

Board("uno").begin()  # Initialization, select the board type (uno, leonardo, xugu) and port number. If no port number is entered, automatic recognition will be performed
#Board("uno","COM36").begin()  # Initialization by specifying the port under Windows
#Board("uno","/dev/ttyACM0").begin() # Initialization by specifying the port under Linux
#Board("uno","/dev/cu.usbmodem14101").begin()   # Initialization by specifying the port under Mac

NEOPIXEL_PIN = Pin(Pin.D9)
PIXELS_NUM = 4 # Number of lights

np = NeoPixel(NEOPIXEL_PIN,PIXELS_NUM)

while True:
    np[0] = (0, 255 ,0) # Set the RGB brightness of the first light
    np[1] = (255, 0, 0) # Set the RGB brightness of the second light
    np[2] = (0, 0, 255) # Set the RGB brightness of the third light
    np[3] = (255, 0, 255) # Set the RGB brightness of the fourth light
    print("color 1")
    time.sleep(1)
    np[1] = (0, 255, 0)
    np[2] = (255, 0, 0)
    np[3] = (255, 255, 0)
    np[0] = (0, 0, 255)
    print("color 2")
    time.sleep(1)

Was this article helpful?

TOP