Future Board MicroPython Programming - 02 Onboard Sensors

 Go back to Product Documents Navigation 

 Go back to Future Board Documents Navigation 

 

 

Import FutureBoard Library

Import the Library to make use of its functions.

from future import *

 

02: Onboard Sensors

1. Buttons

sensor.btnValue(btn)

Parameter btn represents A or B button, accepted values are a, b.

2. Light Sensor

sensor.getLight()

Returns a value 0~4095.

3. Temperature Sensor

sensor.getTemp()

Returns a degree in Celsius, FutureBoard can measure temperatures from -40 to 80 degrees.

Sample Program for 1~3

from future import *

from time import sleep

screen.fill((0, 0, 0))
while True:
      if sensor.btnValue('a'):
            screen.text(str("Light: ")+str(sensor.getLight()),5,10,1,(0, 119, 255))
            sleep(0.5)
      if sensor.btnValue('b'):
            screen.text(str("Temp: ")+str(sensor.getTemp()),5,30,1,(0, 119, 255))
            sleep(0.5)

4. Accelerometer

sensor.accX()
sensor.accY()
sensor.accZ()

Returns the accelerometer value of the 3 axis with G as the unit.

5. Tilt Angles

sensor.roll()
sensor.pitch()

Returns the roll and pitch angle of the FutureBoard.

Sample Program for 4~5

from future import *

from time import sleep

screen.sync = 0
while True:
      screen.fill((0, 0, 0))
      screen.text(str("X: ")+str(sensor.accX()),5,10,1,(0, 119, 255))
      screen.text(str("Y: ")+str(sensor.accY()),5,25,1,(0, 119, 255))
      screen.text(str("Z: ")+str(sensor.accZ()),5,40,1,(0, 119, 255))
      screen.text(str("Roll: ")+str(sensor.roll()),5,55,1,(0, 119, 255))
      screen.text(str("Pitch: ")+str(sensor.pitch()),5,70,1,(0, 119, 255))
      screen.refresh()
      sleep(0.2)

6. Gesture Detection

sensor.gesture(gesture)

8 kinds of gesture can be detected by the FutureBoard.

  1. ‘shake’
  2. ‘freefall’
  3. ‘tilt_up’
  4. ‘tilt_down’
  5. ‘tilt_left’
  6. ‘tilt_right’
  7. ‘face_up’
  8. ‘face_down’

7. Gesture Event Trigger

sensor.gesTrig[ges] = fn
sensor.startSchedule()

Sample Program for 6~7

from future import *

from time import sleep

def onGesture_shake():
buzzer.melody(JUMP_UP)

sensor.gesTrig['shake']=onGesture_shake
sensor.startSchedule()

screen.sync = 0
while True:
screen.fill((0, 0, 0))
screen.text(str("Face Up: ")+str(sensor.gesture('face_up')),5,10,1,(0, 119, 255))
screen.text(str("Face Down: ")+str(sensor.gesture('face_down')),5,25,1,(0, 119, 255))
screen.refresh()
sleep(0.2)

8. Compass Calibration

calibrateCompass()

Magnetometer and compass requires calibration before using.

9. Magnetic Strength

sensor.magX()
sensor.magY()
sensor.magZ()
sensor.magStrength()

Returns the magnetic strength detected by the sensor with uT as the unit.

10. Compass Bearing

sensor.heading()

Returns the compass bearing.

Sample Program for 8~10

from future import *
import math
calibrateCompass()
screen.sync = 0
ds = ''
while 1:
      d = int(math.fabs(360-sensor.heading()))
      screen.fill(44)
      if (d<20) | (d>340):
            ds = 'N'
      elif (d<70):
            ds = 'NE'
      elif (d<110):
            ds = 'E'
      elif (d<160):
            ds = 'SE'
      elif (d<200):
            ds = 'S'
      elif (d<250):
            ds = 'SW'
      elif (d<290):
            ds = 'W'
      else:
            ds = 'NW'
      screen.text(d, 5,5)
      screen.textCh(ds,5,30)
      screen.text(str('Strength: ')+str(sensor.magStrength()),5,80)
      screen.refresh()

 

If you have any question, please feel free to contact us at Discord, we will always be there to help.

 

KittenBot Team

 

 Go back to Product Documents Navigation 

 Go back to Future Board Documents Navigation 

Leave a comment

Please note, comments need to be approved before they are published.

SUBHEADING

Blog posts