MediaTek LinkIt™ Smart 7688 Developer's Guide
© 2015, 2016 MediaTek Inc.
Page 62
This document contains information that is proprietary to MediaTek Inc.
Unauthorized reproduction or disclosure of this information in whole or in part is strictly prohibited.
while
(
True
):
time.sleep(
1
)
# simply wait for interrupt
•
PWM
Use
PWM
module to generate a
pulse width modulated
signal pattern. This is useful to
control actuator peripherals such as servo motors. To use PWM, initialize it on a certain pin
such as GPIO. Note that only
18, 19, 20, 21
supports PWM on LinkIt Smart 7688. To
control the PWM pattern, several parameters are required, including:
o
Period
This defines the carrier frequency of the modulation. It’s controlled
by
period
,
period_ms
and
period_us
APIs.
o
Duty Cycle or Pulse Width
These two parameters are related to each other and usually you only need to set one
of them. Duty cycle is controlled by
write
API with a value range between
0.0
to
1.0
,
where
0.0
is 0% of duty cycle and
1.0
is 100% of duty cycle. Pulse width also defines
the pattern in a different unit: the "uptime" of the signal in time units. This is defined
by
pulsewidth
,
pulsewidth_ms
, and
pulsewidth_us
APIs.
The following example generates a 500Hz PWM signal with 25% duty cycle on
pin P26
.
import
mraa
pin = mraa.Pwm(
18
)
# initialize on GPIO18 (pin P26)
pin.period_ms(
2
)
# set PWM frequency to 500Hz (2ms period)
pin.enable(
True
)
# enable PWM output
pin.write(
0.25
)
# set duty cycle to 25%
•
I2C
I2C (Inter-Integrated Circuit) is a widely used protocol among peripherals. It consists of 2
signal pins - usually named
SDA
and
SCL
. LinkIt Smart 7688 comes with 1 set of I2C
on
GPIO4(P21)
and
GPIO5(P20)
as
SCL
and
SDA
respectively.
The way I2Cs are initialized is slightly different from GPIO modules - instead of using
pins
,
I2Cs are initialized according to its device index. Since there is only 1 set of I2C master
device on LinkIt Smart 7688, you can simply pass
0
- and it is always on
pin GPIO4
and
GPIO5
.
import mraa
i2c = mraa.I2c(0)
I2C is capable of connecting multiple slave devices to a single I2C master. Each slave
device is identified by a 7-bit
address
. The following example scans for a Seeed Studio 3-
Axis Digital Accelerometer attached to LinkIt Smart 7688 by reading the device ID from its
registers.