Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Write your code here :-)
- from microbit import *
- import math
- import neopixel
- np = neopixel.NeoPixel(pin13, 12)
- def funcVSpeed(var): # Lager enklere funksjonsnavn for å lettere kunne lese koden.
- pin0.write_analog(var) # Parameteren heter "var" fordi "dir" og "speed" brukes senere
- def funcVDir(var):
- pin8.write_digital(var)
- def funcHSpeed(var):
- pin1.write_analog(var)
- def funcHDir(var):
- pin12.write_digital(var)
- def fill(r, g, b): # Fyller alle pixels med en farge.
- for i in range(0, len(np)):
- np[i] = (r, g, b)
- def vFill(r, g, b): # Fyller venstre pixels med en farge.
- for i in range(0, math.floor(len(np)/2)):
- np[i] = (r, g, b)
- def hFill(r, g, b): # Fyller høyre pixels med en farge.
- for i in range(math.floor(len(np)/2), len(np)):
- np[i] = (r, g, b)
- def drive(vDir, vSpeed, hDir, hSpeed):
- funcVSpeed(math.floor(vSpeed*1023)) # Vil at input speed skal være mellom 0 og 1
- funcVDir(vDir)
- funcHSpeed(math.floor(hSpeed*1023))
- funcHDir(hDir)
- fill(0, 0, 0) # Clearer diodene
- if vSpeed+vDir != 0 and vSpeed+vDir != 2 and hSpeed+hDir != 0 and hSpeed+hDir != 2 : # Ikke stillestående
- if vDir == 0: # Framover venstre
- vFill(0, 255, 0)
- if hDir == 0: # Framover høyre
- hFill(0, 255, 0)
- if vDir == 1: # Bakover venstre
- vFill(255, 0, 0)
- if hDir == 1: # Bakover høyre
- hFill(255, 0, 0)
- np.show()
- def weiter(inputSpeed): # Fremad
- drive(0, inputSpeed, 0, inputSpeed)
- def ruckwarts(inputSpeed): # Bakover
- drive(1, 1-inputSpeed, 1, 1-inputSpeed)
- def links(inputSpeed): # Venstre
- drive(1, 1-inputSpeed, 0, inputSpeed)
- def rechts(inputSpeed): # Høyre
- drive(0, inputSpeed, 1, 1-inputSpeed)
- def halt(): # Stopp
- drive(0, 0, 0, 0)
- # Definerer funskjoner med gitt varighet
- def weiterFor(inputSpeed, duration): # Fremad
- drive(0, inputSpeed, 0, inputSpeed)
- sleep(duration)
- drive(0, 0, 0, 0)
- def ruckwartsFor(inputSpeed, duration): # Bakover
- drive(1, 1-inputSpeed, 1, 1-inputSpeed)
- sleep(duration)
- drive(0, 0, 0, 0)
- def linksFor(inputSpeed, duration): # Venstre
- drive(1, 1-inputSpeed, 0, inputSpeed)
- sleep(duration)
- drive(0, 0, 0, 0)
- def rechtsFor(inputSpeed, duration): # Høyre
- drive(0, inputSpeed, 1, 1-inputSpeed)
- sleep(duration)
- drive(0, 0, 0, 0)
- # Her begynner kjøreinstruksjoner
- weiterFor(0.2, 1000)
- linksFor(0.2, 1000)
- weiterFor(0.2, 1000)
- rechtsFor(0.2, 2000)
- ruckwartsFor(0.2, 1000)
- linksFor(0.2, 1000)
- ruckwartsFor(0.2, 1000)
- rechtsFor(1, 2500)
Add Comment
Please, Sign In to add comment