Operácie

Kurz micro:bit

Z SensorWiki

Verzia z 10:20, 21. jún 2020, ktorú vytvoril Balogh (diskusia | príspevky)


Obsah

  1. Čo je to physical computing? Interaktivita v umení, priemysle, vzdelávaní.
  2. Zoznámte sa s BBC micro:bit - Tour de Board.
    1. Displej a tlačidlá
    2. Napájanie a konektory
    3. Senzory
    4. Komunikačné možnosti
  3. Začíname. Prvý program.
  4. Možnosti programovania: Microsoft Blocks, Javascript, Python, C++
  5. Vstupy a výstupy
    1. Displej, LED diódy
    2. Tlačidlá, jednoduché senzory
    3. Externé zariadenia
  6. Senzory
    1. Snímač tlaku
    2. Snímač zrýchlenia
    3. Kompas
    4. Snímač teploty
    5. Snímač osvetlenia
  7. Komunikácia
    1. Sériová linka a USB
    2. Rádio
    3. Bluetooth
  8. Vlastný projekt


Toto je zatial len priebezne robena zbierka prikladov


    
basic.showIcon(IconNames.Heart)
from microbit import *

display.show(Image.HEART)
 #include "MicroBit.h"

 MicroBit uBit;
 MicroBitImage Heart("0,1,0,1,0\n
                      1,0,1,0,1\n
                      0,1,0,1,0\n
                      1,0,1,0,1\n
                      0,1,0,1,0\n"); // 5x5 image 

int main()
{
    uBit.init();
    uBit.display.print(Heart);
    release_fiber();
}


Zbierka príkladov

  1. Žmurkajúci smajlík


Microbit-DisplayMisc.pngMicrobit-DisplayMiscRun.png


Zakladne vypisy:

    
basic.showString("Result:")
basic.showNumber(3)
basic.showIcon(IconNames.Yes)

})
# MindPlus
# microbit
from microbit import *


display.scroll(str("Result: "), wait=False, loop=False)
display.scroll(str((str(3))), wait=False, loop=False)
display.show(Image("00000:00009:00090:90900:09000"))
/*!
 * MindPlus
 * microbit
 *
 */
#include <Microbit_Matrix.h>
// Static constants
const uint8_t bbcBitmap[][5] = {
	{B00000,B00001,B00010,B10100,B01000}
};


// Main program start
void setup() {
	MMatrix.print("Result: ");
	MMatrix.print((String(3)));
	MMatrix.show(bbcBitmap[0]);
}
void loop() {

}




Visacka na diskoteku:

basic.showIcon(IconNames.Yes)
    
input.onButtonPressed(Button.A, function () {
    basic.showIcon(IconNames.Happy)
})
input.onButtonPressed(Button.B, function () {
    basic.showIcon(IconNames.Sad)
})
input.onButtonPressed(Button.AB, function () {
    basic.showIcon(IconNames.Heart)
})
# MindPlus
# microbit
from microbit import *


def on_button_a():
  while True:
    if button_a.is_pressed():
      yield callback_button_a()
    else:
      yield

def on_button_b():
  while True:
    if button_b.is_pressed() and not button_a.is_pressed():
      yield callback_button_b()
    else:
      yield

# Event callback function
def callback_button_a():
  global mind_n_myValue, mind_s_my_string_variable
  display.show(Image("00000:09090:00000:90009:09990"))
def callback_button_b():
  global mind_n_myValue, mind_s_my_string_variable
  display.show(Image("00000:09090:00000:09990:90009"))
def callback_button_a():
  global mind_n_myValue, mind_s_my_string_variable
  display.show(Image("09090:99999:99999:09990:00900"))


func_button_a = on_button_a()
func_button_b = on_button_b()
display.show(Image("00000:00009:00090:90900:09000"))
while True:
  next(func_button_a)
  next(func_button_b)
/*!
 * MindPlus
 * microbit
 *
 */
#include <Microbit_Matrix.h>
// Function declaration
void buttonACallback();
void buttonBCallback();
void buttonABCallback();
// Static constants
const uint8_t bbcBitmap[][5] = {
	{B00000,B00001,B00010,B10100,B01000},
	{B00000,B01010,B00000,B10001,B01110},
	{B00000,B01010,B00000,B01110,B10001},
	{B01010,B11111,B11111,B01110,B00100}
};


// Main program start
void setup() {
	onEvent(ID_BUTTON_A, PRESS, buttonACallback);
	onEvent(ID_BUTTON_B, PRESS, buttonBCallback);
	onEvent(ID_BUTTON_AB, PRESS, buttonABCallback);
	MMatrix.show(bbcBitmap[0]);
}
void loop() {

}

// Event callback function
void buttonACallback() {
	MMatrix.show(bbcBitmap[1]);
}
void buttonBCallback() {
	MMatrix.show(bbcBitmap[2]);
}
void buttonABCallback() {
	MMatrix.show(bbcBitmap[3]);
}


Pocitadlo ludi pri vchode:

    
input.onButtonPressed(Button.A, function () {
    pocetNavstevnikov += 1
})
input.onButtonPressed(Button.AB, function () {
    pocetNavstevnikov = 0
})
let pocetNavstevnikov = 0
pocetNavstevnikov = 0
basic.showIcon(IconNames.Yes)
basic.forever(function () {
    basic.showNumber(pocetNavstevnikov)
})
# MindPlus
# microbit
from microbit import *


mind_n_pocetNavstevnikov = 0

def on_button_a():
  while True:
    if button_a.is_pressed():
      yield callback_button_a()
    else:
      yield

# Event callback function
def callback_button_a():
  global mind_n_myValue, mind_n_pocetNavstevnikov, mind_s_my_string_variable
  mind_n_pocetNavstevnikov = mind_n_pocetNavstevnikov + 1;
def callback_button_a():
  global mind_n_myValue, mind_n_pocetNavstevnikov, mind_s_my_string_variable
  mind_n_pocetNavstevnikov = 0


func_button_a = on_button_a()
mind_n_pocetNavstevnikov = 0
while True:
  next(func_button_a)
  # 滚动显示字符串,不支持中文字符
  display.scroll(str((str(mind_n_pocetNavstevnikov))), wait=False, loop=False)
/*!
 * MindPlus
 * microbit
 *
 */
#include <Microbit_Matrix.h>

// Dynamic variables
volatile float mind_n_pocetNavstevnikov;
// Function declaration
void buttonACallback();
void buttonABCallback();


// Main program start
void setup() {
	onEvent(ID_BUTTON_A, PRESS, buttonACallback);
	onEvent(ID_BUTTON_AB, PRESS, buttonABCallback);
	mind_n_pocetNavstevnikov = 0;
}
void loop() {
	MMatrix.print((String(mind_n_pocetNavstevnikov)));
}


// Event callback function
void buttonACallback() {
	mind_n_pocetNavstevnikov += 1;
}
void buttonABCallback() {
	mind_n_pocetNavstevnikov = 0;
}



Microbit-SimpleTimer.pngMicrobit-SimpleTimerRun.png

Jednoduche kuchynske minutky

input.onButtonPressed(Button.A, function () {
    for (let index = 0; index < 9; index++) {
        myTime += -1
        basic.showNumber(myTime)
        basic.pause(1000)
    }
})
input.onButtonPressed(Button.AB, function () {
    myTime = 9
    basic.showNumber(myTime)
})
let myTime = 0
myTime = 9
basic.showIcon(IconNames.Yes)
# MindPlus
# microbit
from microbit import *


mind_n_myTime = 0

def on_button_a():
  while True:
    if button_a.is_pressed():
      yield callback_button_a()
    else:
      yield

# Event callback function
def callback_button_a():
  global mind_n_myValue, mind_n_myTime, mind_s_my_string_variable
  for index in range(9):
    mind_n_myTime = mind_n_myTime - 1
    # 滚动显示字符串,不支持中文字符
    display.scroll(str((str(mind_n_myTime))), wait=False, loop=False)
    sleep(1*1000)
def callback_button_a():
  global mind_n_myValue, mind_n_myTime, mind_s_my_string_variable
  mind_n_myTime = 9
  # 滚动显示字符串,不支持中文字符
  display.scroll(str((str(mind_n_myTime))), wait=False, loop=False)


func_button_a = on_button_a()
mind_n_myTime = 9
display.show(Image("00000:00009:00090:90900:09000"))
while True:
  next(func_button_a)
/*!
 * MindPlus
 * microbit
 *
 */
#include <Microbit_Matrix.h>

// Dynamic variables
volatile float mind_n_myTime;
// Function declaration
void buttonACallback();
void buttonABCallback();
// Static constants
const uint8_t bbcBitmap[][5] = {
	{B00000,B00001,B00010,B10100,B01000}
};


// Main program start
void setup() {
	onEvent(ID_BUTTON_A, PRESS, buttonACallback);
	onEvent(ID_BUTTON_AB, PRESS, buttonABCallback);
	mind_n_myTime = 9;
	MMatrix.show(bbcBitmap[0]);
}
void loop() {

}

// Event callback function
void buttonACallback() {
	for (int index = 0; index < 9; index++) {
		mind_n_myTime -= 1;
		MMatrix.print((String(mind_n_myTime)));
		delay(1000);
		yield();
	}
}
void buttonABCallback() {
	mind_n_myTime = 9;
	MMatrix.show(bbcBitmap[0]);
}


Microbit-PeopleCounter.pngMicrobit-PeopleCounterRun.png

Prazdny


# *******
/* */