MicroPythonov paket za slanje tekstualnih poruka za micro:bit

Will, trinaestogodišnji učenik koji je u MicroPythonu osmislio paket za slanje poruka za micro:bit, kontaktirao je prije određenog vremena Zakladu Micro:bit. U svojoj poruci je rekao: "Volim se koristiti Pythonom u radu sa svojim micro:bitom te sam osmislio program za slanje poruka u MicroPythonu". Naravno, bili smo oduševljeni. Osoba koja je dobila Willovu poruku napisala je ostatku tima: "Dječak od 13 godina programirao je zgodan, mali komunikator koristeći Python i dva micro:bita ‒ možda bismo to mogli uzeti u obzir za članak na web stranici?" Naravno, nije bilo potrebno više argumenata pa je tako ovdje Willov Micro:bit program za slanje poruka.

Općenito:

Pritisni istodobno izvode 0 i 1 za odabiranje znakova, pritisni tipku A za dodavanje znakova u poruku i pritisni tipku B za slanje napisane poruke. Scenarij zahtijeva samo 2 miro:bita, a oba mogu primati i slati signale preko MicroPythonova radijskog modula. Međutim, može se uključiti i više od 2 micro:bita. Trebaš samo prebaciti isti program na više micro:bitova koji će moći i primati i slati signale. Pravi Pythonov kôd

Za stvaranje .hex datoteke preuzmi jedan od Pythonovih kôdova iz gornjih datoteka, povuci datoteku na microbit.org u Pythonov uređivač i preuzmi ('Download') .hex datoteku.

MicroPythonov kôd unos s komentarima


from microbit import *
import radio
import random
import microbit
#setup radio
radio.config(length=251, channel=53, power=4)

sending = 1

def Phone():

    #initialise radio
    radio.on()
    while True:

        msg = str(radio.receive())

        global sending

        if sending >= 2:
            sending = 0


        #select page
        while sending == 1:

            message = 0
            messages = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '(', ')', '"', ':)', ':(']
            global tosend
            tosend = messages[message]
            sentance = []

            while True:

                msg = str(radio.receive())

                #prevents errors
                if message >= int(len(messages)):
                    message = int(len(messages))

                #scrolls message when received
                if msg != 'None':
                    display.scroll(msg)
                    display.show(tosend)

                #scrolls through characters
                if microbit.pin0.is_touched():
                    message = message - 1
                    tosend = messages[message]
                    display.show(tosend, delay=200)
                    sleep(200)

                if microbit.pin1.is_touched() and tosend != 9:
                    message = message + 1
                    tosend = messages[message]
                    display.show(tosend, delay=200)
                    sleep(200)

                #adds character to list
                if microbit.button_a.is_pressed():
                    sentance.append(tosend)
                    tosend = messages[message]
                    display.scroll(tosend, delay=50)

                #sends list as string
                if sending == 1 and microbit.button_b.is_pressed():
                    radio.send(''.join(sentance))
                   display.scroll(''.join(sentance))
                    sentance = []
                    break
            break
Phone()

Želimo ti dobru micro:bit zabavu!