Operácie

Kurz micro:bit: Rozdiel medzi revíziami

Z SensorWiki

(Obsah)
Riadok 45: Riadok 45:
 
Toto je zatial len priebezne robena zbierka prikladov
 
Toto je zatial len priebezne robena zbierka prikladov
  
gallery heights=200px mode="packed">  <!-- slideshow? -->
+
<gallery heights=200px mode="packed">  <!-- slideshow? -->
 
Image:microbit01.png|''Prvý program...''
 
Image:microbit01.png|''Prvý program...''
 
Image:microbit01Run.png|''...bude vyzerať v simulátore takto.''
 
Image:microbit01Run.png|''...bude vyzerať v simulátore takto.''
Riadok 131: Riadok 131:
 
<!-- **************************************************************************** -->
 
<!-- **************************************************************************** -->
  
gallery heights=200px mode="packed">  <!-- slideshow? -->
+
<gallery heights=200px mode="packed">  <!-- slideshow? -->
 
Image:microbit-WinkSmiley.png|''Prvý program...''
 
Image:microbit-WinkSmiley.png|''Prvý program...''
 
Image:microbit-WinkSmileyRun.png|''...bude vyzerať v simulátore takto.''
 
Image:microbit-WinkSmileyRun.png|''...bude vyzerať v simulátore takto.''
Riadok 202: Riadok 202:
 
<!-- **************************************************************************** -->
 
<!-- **************************************************************************** -->
  
gallery heights=200px mode="packed">  <!-- slideshow? -->
+
<gallery heights=200px mode="packed">  <!-- slideshow? -->
 
Image:microbit-DisplayMisc.png|''Prvý program...''
 
Image:microbit-DisplayMisc.png|''Prvý program...''
 
Image:microbit-DisplayMiscRun.png|''...bude vyzerať v simulátore takto.''
 
Image:microbit-DisplayMiscRun.png|''...bude vyzerať v simulátore takto.''
Riadok 254: Riadok 254:
  
 
}
 
}
 +
 +
</syntaxhighlight></tab>
 +
</tabs>
 +
 +
 +
 +
 +
 +
 +
<!-- **************************************************************************** -->
 +
 +
<gallery heights=200px mode="packed">  <!-- slideshow? -->
 +
Image:microbit-WinkSmiley.png|''Prvý program...''
 +
Image:microbit-WinkSmileyRun.png|''...bude vyzerať v simulátore takto.''
 +
</gallery>
 +
 +
Visacka na diskoteku:
 +
 +
<tabs>
 +
<tab name="Javascript"><source lang="javascript">
 +
 +
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)
 +
})
 +
 +
 
 +
</source></tab>
 +
<tab name="Python"><source lang="python" style="background: LightBlue;">
 +
# 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)
 +
</source></tab>
 +
<tab name="C++"><syntaxhighlight lang=c style="background: Cornsilk">
 +
/*!
 +
* 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]);
 +
}
 +
  
 
</syntaxhighlight></tab>
 
</syntaxhighlight></tab>

Verzia zo dňa a času 18:12, 24. máj 2020


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

Javascript

  
  
basic.showIcon(IconNames.Heart)

Python

from microbit import *

display.show(Image.HEART)

C++

 #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();
}



    
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();
}


Zmurkajuci smajlik:

    
basic.forever(function () {
    basic.showIcon(IconNames.Happy)
    basic.pause(100)
    basic.showLeds(`
        . . . . .
        . # . . .
        . . . . .
        # . . . #
        . # # # .
        `)
    basic.pause(100)
})
# MindPlus
# microbit
from microbit import *


while True:
  display.show(Image("00000:09090:00000:90009:09990"))
  sleep(100)
  display.show(Image("00000:00090:00000:90009:09990"))
  sleep(100)
 /*!
 * MindPlus
 * microbit
 *
 */
#include <Microbit_Matrix.h>
// Static constants
const uint8_t bbcBitmap[][5] = {
	{B00000,B01010,B00000,B10001,B01110},
	{B00000,B00010,B00000,B10001,B01110}
};


// Main program start
void setup() {

}
void loop() {
	MMatrix.show(bbcBitmap[0]);
	delay(100);
	MMatrix.show(bbcBitmap[1]);
	delay(100);
}



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]);
}