Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Write your code here :-) ok
- from microbit import *
- import radio
- import time
- import math
- requiredX = 400 # Hvor mye må man tilte venstre/høyre før display skal vise venstre/høyre? (Verdier 0-1000)
- requiredY = 100 # Hvor mye må man tilte fram/bakover før display skal vise fram/bakover? (verdier 0-1000)
- mode = "none"
- imageLinefollower = Image("90000:" #Lager et bilde av en L
- "90000:"
- "90000:"
- "90000:"
- "99999")
- radio.on() #Skrur på radio
- radio.config(channel=23) #Setter radiokanal
- radio.config(power=7) #Signalstyrke (max 7)
- while True:
- time.sleep(0.04) #Forsinkelse for å forhindre batteritømming
- if button_a.is_pressed() and not button_b.is_pressed(): #Hvis kun A blir trykket:
- mode = "control"
- elif button_b.is_pressed() and not button_a.is_pressed(): #Hvis kun B blir trykket:
- mode = "linefollower"
- if mode == "none": #Hvis modus ikke er valgt:
- display.show(Image.CONFUSED) #Displayer et spørsmåltegn som betyr "modus ikke valgt"
- radio.send_bytes(mode) #Instruksjon om å sette modus til none
- elif mode == "linefollower": #Hvis modus er fjernkontroll:
- display.show(imageLinefollower) #Displayer en L som betyr "linefollower"
- radio.send_bytes(mode) #Instruksjon om å sette modus til linefollower
- elif mode == "control": #Hvis modus er fjernkontroll:
- x = accelerometer.get_x() #Venstre-høyre rotasjon (-1000 til 1000)
- y = accelerometer.get_y() #Framover-bakover rotasjon (-1000 til 1000)
- radio.send_bytes(mode + " " + str(x) + " " + str(y)) #Skift til kontroll, samt send informasjon om fjernkontrollerens rotasjon
- #Følgende kode bestemmer når ulike piler vises på displayet.
- if y > requiredY: #Hvis styrer bakover
- if x > requiredX: #Hvis styrer bakover mot høyre:
- display.show(Image.ARROW_SE)
- elif x < -requiredX: #Hvis styrer bakover mot venstre:
- display.show(Image.ARROW_SW)
- else: #Hvis styrer bakover med lite venstre/høyre:
- display.show(Image.ARROW_S)
- elif y < -requiredY: #Hvis styrer framover:
- if x > requiredX: #Hvis styrer framover mot høyre:
- display.show(Image.ARROW_NE)
- elif x < -requiredX: #Hvis styrer framover mot venstre:
- display.show(Image.ARROW_NW)
- else: #Hvis styrer framover med lite venstre/høyre:
- display.show(Image.ARROW_N)
- else: #Hvis lite framover/bakover:
- if x > requiredX: #Hvis styrer nesten kun mot høyre:
- display.show(Image.ARROW_E)
- elif x < -requiredX: #Hvis styrer nesten kun mot venstre:
- display.show(Image.ARROW_W)
- else: #Hvis lite framover/bakover og lite venstre/høyre:
- display.show(Image.HEART_SMALL)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement