from microbit import*
rustpos=[415,445,580,295,490,1020]
tijdperbeweging=1500
display.off()
button_1=pin6
def lees_potmeters():
	potmeters_posities=[0]*6;potmeters=[pin1,pin2,pin3,pin4,pin0,pin10]
	for i in range(6):sleep(100);potmeters_posities[i]=potmeters[i].read_analog()
	return potmeters_posities
def speel_posities_af(posities):
	lijstnummer=0
	while True:
		for pos in posities[1:]:
			print('Afspelen:',pos);prevpos=posities[lijstnummer];p1=prevpos[0]/5.68333;p2=prevpos[1]/5.68333-16;p3=145-prevpos[2]/5.68333;p4=prevpos[3]/5.68333;p5=prevpos[4]/5.68333;p6=prevpos[5]/20.46+10;lijstnummer+=1
			if lijstnummer>len(posities)-1:lijstnummer=1
			#if button_1.read_digital():
				#for i in range(0,1000,5):i=i/1000;pin16.write_analog(i**2*(3-2*i)*(rustpos[0]/5.68333-p1)+p1);pin15.write_analog(i**2*(3-2*i)*(rustpos[1]/5.68333-16-p2)+p2);pin14.write_analog(i**2*(3-2*i)*(145-rustpos[2]/5.68333-p3)+p3);pin13.write_analog(i**2*(3-2*i)*(rustpos[3]/5.68333-p4)+p4);pin12.write_analog(i**2*(3-2*i)*(rustpos[4]/5.68333-p5)+p5);pin8.write_analog(i**2*(3-2*i)*(rustpos[5]/20.46+10-p6)+p6);sleep(tijdperbeweging/200)
				#return
			for i in range(0,1000,5):i=i/1000;pin16.write_analog(i**2*(3-2*i)*(pos[0]/5.68333-p1)+p1);pin15.write_analog(i**2*(3-2*i)*(pos[1]/5.68333-16-p2)+p2);pin14.write_analog(i**2*(3-2*i)*(145-pos[2]/5.68333-p3)+p3);pin13.write_analog(i**2*(3-2*i)*(pos[3]/5.68333-p4)+p4);pin12.write_analog(i**2*(3-2*i)*(pos[4]/5.68333-p5)+p5);pin8.write_analog(i**2*(3-2*i)*(pos[5]/20.46+10-p6)+p6);sleep(tijdperbeweging/200);print(i)
def beweging():
	while True:
		pin16.write_analog(min(max(float(pin1.read_analog()/5.683333),10),170));pin15.write_analog(min(max(float(pin2.read_analog()/5.683333-16),10),170));pin14.write_analog(min(max(float(145-pin3.read_analog()/5.683333),30),140));pin13.write_analog(min(max(float(pin4.read_analog()/5.683333),20),110));pin12.write_analog(min(max(float(pin0.read_analog()/5.683333),25),130));pin8.write_analog(min(max(float(pin10.read_analog()/20.46+10),10),60));sleep(3)
		if button_1.read_digital():return
alle_posities=[]
alle_posities.append(rustpos)
while True:
    beweging()
	#if button_a.is_pressed():posities=lees_potmeters();alle_posities.append(posities.copy());print('Alle Posities:',alle_posities);sleep(100)
	#if button_b.is_pressed():speel_posities_af(alle_posities)
	#if button_1.read_digital():beweging()