Advertisement
Guest User

Untitled

a guest
Nov 20th, 2019
139
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.90 KB | None | 0 0
  1. # Write your code here :-) ok
  2. from microbit import *
  3. import radio
  4. import time
  5. import math
  6.  
  7.  
  8. requiredX = 400 # Hvor mye må man tilte venstre/høyre før display skal vise venstre/høyre? (Verdier 0-1000)
  9. requiredY = 100 # Hvor mye må man tilte fram/bakover før display skal vise fram/bakover? (verdier 0-1000)
  10. mode = "none"
  11. imageLinefollower = Image("90000:" #Lager et bilde av en L
  12. "90000:"
  13. "90000:"
  14. "90000:"
  15. "99999")
  16.  
  17.  
  18. radio.on() #Skrur på radio
  19. radio.config(channel=23) #Setter radiokanal
  20. radio.config(power=7) #Signalstyrke (max 7)
  21. while True:
  22. time.sleep(0.04) #Forsinkelse for å forhindre batteritømming
  23. if button_a.is_pressed() and not button_b.is_pressed(): #Hvis kun A blir trykket:
  24. mode = "control"
  25. elif button_b.is_pressed() and not button_a.is_pressed(): #Hvis kun B blir trykket:
  26. mode = "linefollower"
  27. if mode == "none": #Hvis modus ikke er valgt:
  28. display.show(Image.CONFUSED) #Displayer et spørsmåltegn som betyr "modus ikke valgt"
  29. radio.send_bytes(mode) #Instruksjon om å sette modus til none
  30. elif mode == "linefollower": #Hvis modus er fjernkontroll:
  31. display.show(imageLinefollower) #Displayer en L som betyr "linefollower"
  32. radio.send_bytes(mode) #Instruksjon om å sette modus til linefollower
  33. elif mode == "control": #Hvis modus er fjernkontroll:
  34. x = accelerometer.get_x() #Venstre-høyre rotasjon (-1000 til 1000)
  35. y = accelerometer.get_y() #Framover-bakover rotasjon (-1000 til 1000)
  36. radio.send_bytes(mode + " " + str(x) + " " + str(y)) #Skift til kontroll, samt send informasjon om fjernkontrollerens rotasjon
  37. #Følgende kode bestemmer når ulike piler vises på displayet.
  38. if y > requiredY: #Hvis styrer bakover
  39. if x > requiredX: #Hvis styrer bakover mot høyre:
  40. display.show(Image.ARROW_SE)
  41. elif x < -requiredX: #Hvis styrer bakover mot venstre:
  42. display.show(Image.ARROW_SW)
  43. else: #Hvis styrer bakover med lite venstre/høyre:
  44. display.show(Image.ARROW_S)
  45. elif y < -requiredY: #Hvis styrer framover:
  46. if x > requiredX: #Hvis styrer framover mot høyre:
  47. display.show(Image.ARROW_NE)
  48. elif x < -requiredX: #Hvis styrer framover mot venstre:
  49. display.show(Image.ARROW_NW)
  50. else: #Hvis styrer framover med lite venstre/høyre:
  51. display.show(Image.ARROW_N)
  52. else: #Hvis lite framover/bakover:
  53. if x > requiredX: #Hvis styrer nesten kun mot høyre:
  54. display.show(Image.ARROW_E)
  55. elif x < -requiredX: #Hvis styrer nesten kun mot venstre:
  56. display.show(Image.ARROW_W)
  57. else: #Hvis lite framover/bakover og lite venstre/høyre:
  58. display.show(Image.HEART_SMALL)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement