Extension Txting MicroPython pour Micro:bit

La Fondation Micro:bit a été contactée il y a peu de temps par Will, un étudiant de 13 ans, qui avait créé une extension txting pour le Micro:bit en MicroPython. Dans son message, il disait : "J'aime utiliser Python avec mon Micro:bit et j'ai créé un programme de messagerie texte en MicroPython". Nous avons bien sûr été ravis. La personne qui a reçu le message de Will a écrit au reste de l'équipe : "Un gamin de 13 ans a écrit un joli petit communicateur en Python entre deux Micro:bits - quelque chose à considérer pour le site web, pour un article peut-être ?" Il n'y avait, bien sûr, aucun argument contre, donc, finalement, voici le Programme Txting de Will.

Général:

Appuyez simultanément sur les broches 0 et 1 pour faire défiler les caractères, appuyez sur le bouton A pour ajouter des caractères au message et appuyez sur le bouton B pour envoyer le message terminé. Le script ne nécessite que 2 micro:bits et les deux peuvent envoyer et recevoir via le module radio MicroPython. Cependant, plus de 2 micro:bits peuvent être utilisés, il suffit de téléverser le même programme sur plusieurs micro:bits et tous peuvent à la fois envoyer et recevoir. Le code Python actuel

Pour créer le fichier .hex, téléchargez l'un des fichiers de code Python ci-dessus, faites glisser le fichier dans le microbit.org Éditeur Python et téléchargez le fichier.hex.

Liste de code MicroPython avec commentaires


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]
            sentence = []

            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():
                    sentence.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(sentence))
                   display.scroll(''.join(sentence))
                    sentence = []
                    break
            break
Phone()

Amusez-vous bien avec Micro:bit !

Selecting this opens external content from our support system, which adheres to their privacy policy.