Example for BBC Micro:bit

Dependencies:   Blynk microbit

Fork of microbit-samples by BBC

Committer:
vshymanskyy
Date:
Thu Dec 21 12:38:47 2017 +0000
Revision:
14:b008bb3bf603
Parent:
11:ab5d98681c3a
Update to 0.5.0

Who changed what in which revision?

UserRevisionLine numberNew contents of line
vshymanskyy 8:552c2e4675c5 1 /*************************************************************
vshymanskyy 8:552c2e4675c5 2 Blynk is a platform with iOS and Android apps to control
vshymanskyy 8:552c2e4675c5 3 Arduino, Raspberry Pi and the likes over the Internet.
vshymanskyy 8:552c2e4675c5 4 You can easily build graphic interfaces for all your
vshymanskyy 8:552c2e4675c5 5 projects by simply dragging and dropping widgets.
vshymanskyy 8:552c2e4675c5 6
vshymanskyy 8:552c2e4675c5 7 Downloads, docs, tutorials: http://www.blynk.cc
vshymanskyy 8:552c2e4675c5 8 Sketch generator: http://examples.blynk.cc
vshymanskyy 8:552c2e4675c5 9 Blynk community: http://community.blynk.cc
vshymanskyy 8:552c2e4675c5 10 Follow us: http://www.fb.com/blynkapp
vshymanskyy 8:552c2e4675c5 11 http://twitter.com/blynk_app
vshymanskyy 8:552c2e4675c5 12
vshymanskyy 8:552c2e4675c5 13 Blynk library is licensed under MIT license
vshymanskyy 8:552c2e4675c5 14 This example code is in public domain.
vshymanskyy 8:552c2e4675c5 15
vshymanskyy 8:552c2e4675c5 16 *************************************************************
vshymanskyy 8:552c2e4675c5 17 NOTE: Please set this config in your MicroBitConfig.h:
vshymanskyy 8:552c2e4675c5 18 #define MICROBIT_BLE_ENABLED 1
vshymanskyy 8:552c2e4675c5 19 #define MICROBIT_BLE_PAIRING_MODE 0
vshymanskyy 8:552c2e4675c5 20 #define MICROBIT_BLE_OPEN 1
vshymanskyy 8:552c2e4675c5 21
vshymanskyy 8:552c2e4675c5 22 Optionally, you can disable unused services:
vshymanskyy 8:552c2e4675c5 23 #define MICROBIT_BLE_DFU_SERVICE 0
vshymanskyy 8:552c2e4675c5 24 #define MICROBIT_BLE_EVENT_SERVICE 0
vshymanskyy 8:552c2e4675c5 25
vshymanskyy 8:552c2e4675c5 26 Warning: Bluetooth support is in beta!
vshymanskyy 8:552c2e4675c5 27
vshymanskyy 8:552c2e4675c5 28 *************************************************************/
vshymanskyy 8:552c2e4675c5 29 #include <MicroBit.h>
vshymanskyy 8:552c2e4675c5 30 MicroBit uBit;
vshymanskyy 8:552c2e4675c5 31
vshymanskyy 9:fbe11a5939af 32 //#define BLYNK_DEBUG
vshymanskyy 8:552c2e4675c5 33 #define BLYNK_PRINT uBit.serial
vshymanskyy 8:552c2e4675c5 34
vshymanskyy 8:552c2e4675c5 35 #include <BlynkSimpleMicroBit.h>
vshymanskyy 8:552c2e4675c5 36
vshymanskyy 8:552c2e4675c5 37 // You should get Auth Token in the Blynk App.
vshymanskyy 8:552c2e4675c5 38 // Go to the Project Settings (nut icon).
vshymanskyy 9:fbe11a5939af 39 char auth[] = "YourAuthToken";
vshymanskyy 8:552c2e4675c5 40
vshymanskyy 8:552c2e4675c5 41
vshymanskyy 8:552c2e4675c5 42 void onConnected(MicroBitEvent e)
vshymanskyy 8:552c2e4675c5 43 {
vshymanskyy 8:552c2e4675c5 44 uBit.display.printChar('+', 500);
vshymanskyy 8:552c2e4675c5 45 Blynk.startSession();
vshymanskyy 8:552c2e4675c5 46 }
vshymanskyy 8:552c2e4675c5 47
vshymanskyy 8:552c2e4675c5 48 void onDisconnected(MicroBitEvent e)
vshymanskyy 8:552c2e4675c5 49 {
vshymanskyy 8:552c2e4675c5 50 uBit.display.print("- - -", 100);
vshymanskyy 8:552c2e4675c5 51 Blynk.disconnect();
vshymanskyy 8:552c2e4675c5 52 }
vshymanskyy 8:552c2e4675c5 53
vshymanskyy 8:552c2e4675c5 54 int counter = 0;
vshymanskyy 8:552c2e4675c5 55
vshymanskyy 8:552c2e4675c5 56 void onPressed(MicroBitEvent e)
vshymanskyy 8:552c2e4675c5 57 {
vshymanskyy 8:552c2e4675c5 58 char buf[8];
vshymanskyy 8:552c2e4675c5 59 sprintf(buf, "%d", counter);
vshymanskyy 8:552c2e4675c5 60
vshymanskyy 8:552c2e4675c5 61 Blynk.virtualWrite(V1, buf);
vshymanskyy 8:552c2e4675c5 62 uBit.serial.printf("%s\n", buf);
vshymanskyy 8:552c2e4675c5 63 uBit.display.scroll(buf);
vshymanskyy 8:552c2e4675c5 64
vshymanskyy 8:552c2e4675c5 65 counter++;
vshymanskyy 8:552c2e4675c5 66 }
vshymanskyy 8:552c2e4675c5 67
vshymanskyy 8:552c2e4675c5 68 void setup() {
vshymanskyy 8:552c2e4675c5 69 // Initialise the micro:bit runtime.
vshymanskyy 8:552c2e4675c5 70 uBit.init();
vshymanskyy 8:552c2e4675c5 71 uBit.display.scrollAsync("BLYNK", 100);
vshymanskyy 8:552c2e4675c5 72
vshymanskyy 8:552c2e4675c5 73 // listen for Bluetooth connection state changes
vshymanskyy 8:552c2e4675c5 74 uBit.messageBus.listen(MICROBIT_ID_BLE, MICROBIT_BLE_EVT_CONNECTED, onConnected);
vshymanskyy 8:552c2e4675c5 75 uBit.messageBus.listen(MICROBIT_ID_BLE, MICROBIT_BLE_EVT_DISCONNECTED, onDisconnected);
vshymanskyy 8:552c2e4675c5 76
vshymanskyy 8:552c2e4675c5 77 //
vshymanskyy 8:552c2e4675c5 78 uBit.messageBus.listen(MICROBIT_ID_BUTTON_A, MICROBIT_BUTTON_EVT_CLICK, onPressed);
vshymanskyy 8:552c2e4675c5 79
vshymanskyy 8:552c2e4675c5 80 // Add Blynk service
vshymanskyy 8:552c2e4675c5 81 Blynk.begin(*uBit.ble, auth);
vshymanskyy 8:552c2e4675c5 82 }
vshymanskyy 8:552c2e4675c5 83
vshymanskyy 8:552c2e4675c5 84 void loop() {
vshymanskyy 8:552c2e4675c5 85 Blynk.run();
vshymanskyy 8:552c2e4675c5 86 }
vshymanskyy 8:552c2e4675c5 87
vshymanskyy 8:552c2e4675c5 88 int main(void) {
vshymanskyy 8:552c2e4675c5 89 setup();
vshymanskyy 8:552c2e4675c5 90 while(1) {
vshymanskyy 8:552c2e4675c5 91 loop();
vshymanskyy 8:552c2e4675c5 92 uBit.sleep(10);
vshymanskyy 8:552c2e4675c5 93 }
vshymanskyy 8:552c2e4675c5 94 }