pxt-grove/README.md
2020-10-12 20:55:42 +08:00

155 lines
2.8 KiB
Markdown

# Grove
A Microsoft MakeCode package for for Seeed Studio Grove module.
## Basic usage
### Grove - Gesture
get gesture model.
```blocks
grove.onGesture(GroveGesture.Up, () => {
basic.showString("Up");
})
grove.onGesture(GroveGesture.Down, () => {
basic.showString("Down");
})
grove.initGesture()
basic.forever(function () {
if (grove.getGestureModel() == 1) {
basic.showLeds(`
. . # . .
. . . # .
# # # # #
. . . # .
. . # . .
`)
}
if (grove.getGestureModel() == 2) {
basic.showLeds(`
. . # . .
. # . . .
# # # # #
. # . . .
. . # . .
`)
}
if (grove.getGestureModel() == 3) {
basic.showLeds(`
. . # . .
. # # # .
# . # . #
. . # . .
. . # . .
`)
}
if (grove.getGestureModel() == 4) {
basic.showLeds(`
. . # . .
. . # . .
# . # . #
. # # # .
. . # . .
`)
}
basic.pause(100)
})
```
all the model
```
/**
* Grove Gestures
*/
enum GroveGesture {
//% block=None
None = 0,
//% block=Right
Right = 1,
//% block=Left
Left = 2,
//% block=Up
Up = 3,
//% block=Down
Down = 4,
//% block=Forward
Forward = 5,
//% block=Backward
Backward = 6,
//% block=Clockwise
Clockwise = 7,
//% block=Anticlockwise
Anticlockwise = 8,
//% block=Wave
Wave = 9
}
```
### Grove - Ultrasonic Ranger
Measure distance in centimeters, specify the signal pin.
```blocks
let distance = grove.measureInCentimeters(DigitalPin.P0);
```
Measure distance in inches, specify the signal pin.
```blocks
let distance = grove.measureInInches(DigitalPin.P0);
```
### Grove - 4 digital display
Create a 4 Digital Display driver, specify the clk and data pin, and set the brightness level, then start display value.
```blocks
let display = grove.createDisplay(DigitalPin.P0, DigitalPin.P1);
display.set(7);
display.show(1234);
```
Use ``||bit||`` to display one bit number.
Use ``||point||`` to open or close point dispay.
Use ``||clear||`` to clean display.
### Grove - UART WiFi V2
Connect to a WiFi and send data to ThinkSpeak or IFTTT, specify the UART tx and rx pin.
```blocks
grove.setupWifi(
SerialPin.P15,
SerialPin.P1,
BaudRate.BaudRate115200,
"test-ssid",
"test-passwd"
)
basic.forever(() => {
if (grove.wifiOK()) {
basic.showIcon(IconNames.Yes)
} else {
basic.showIcon(IconNames.No)
}
grove.sendToThinkSpeak("write_api_key", 1, 2, 3, 4, 5, 6, 7, 8)
grove.sendToIFTTT("ifttt_event", "ifttt_key", "hello", 'micro', 'bit')
basic.pause(60000)
})
```
## License
MIT
## Supported targets
* for PXT/calliopemini