Przeszukaj forum
Pokazywanie wyników dla tagów 'micro:bit'.
Znaleziono 3 wyniki
-
Witam, Szukam czegos do nauki elektroniki/programowania dla dziewczyni zaraz osmio letniej. Natknalem sie na scratch ktory pewnie wdrozymy ale corka chciala tez pobudowac roboty tak natknalem sie na forbota. Szczerze fajnie by bylo jakbyscie pisali od jakiego wieku, co polecacie.. z wstepnego przejrzenia kurs podstaw elektroniki jest za bardzo teoretyczny na ten wiek. Arduino i raspherry pi tez chyba za wczesnie. Zaatanawiam sie nad micro.bit ale tez nie wiem czy to nie za wczesnie dla 7-8 latki... Myslalem o nauce lutowania i budowania tym sposobem czegos i przy okazji uczenia sie troche. Co myslicie o takim pomysle? Czy sa jakies zestawy dla dzieci tego typu? na youtubie mignal mi kanal gdzie ktos z corka 7 letnia lutuje.. Osobiscie nie znam sie na tym wiec bede uczyl sie z corka (programowac umiem, kiedys cos tam polutowalem ale daleko do stwierdzenia ze cos umiem czy moge przekazac jakas wiedze) Z gory dziekuje za sugestie i pozdrawiam
- 7 odpowiedzi
-
- Elektronika
- Arduino
- (i 2 więcej)
-
Dzień dobry. Czy mogę zasilić micro:bita za pomocą powerbanku? Posiadam ADATA P20000QCD 20000mAh. Nie próbowałem, martwie się o uszkodzenie micro:bita. Dziękuję za odpowiedź.
-
Być może słyszeliście o płytce micro:bit, którą BBC chce rozdawać dzieciom w Wielkiej Brytanii? Otóż istnieje oddolna inicjatywa, żeby na tą płytkę zrobić Pythona, tak, żeby dzieci mogły poprogramować też troche na otwartej platformie, a nie tylko same Microsofty, mbedy i kompilacja "w chmurze". Jest to robione przez ochotników w wolnym czasie, ale myślę, że już stanowi całkiem niezłą alternatywę. Aby przyśpieszyć i polepszyć ten proces, powstał program Micro World Tour, który pozwala nam pobawić się przedpremierową wersją tej płytki przez tydzień -- potem musimy ją wysłać do następnej osoby. Wziąłem udział w tym programie i zbudowałem tego prostego robota. Ponieważ miałem tylko tydzień i dużo planów, postanowiłem zacząć od najprostszej rzeczy, czyli robota jeżdżącego, omijającego przeszkody, zbudowanego z tego, co miałem pod ręką (nie było czasu na zamawianie części): Tak więc mamy tu dwa 9-gramowe serwa przerobione na ciągłą rotację, małą płytkę prototypową, pojemnik na baterię (potem musiałem go zastąpić pudełkiem z LiPo), kulkę podporową, dwa kółka i trochę kabelków. Potem jeszcze dodałem czujnik odległości SHARP od Pololu (niestety wymagany jest taki na 3V). Do połączenia z płytką użyłem zwykłych śrub wkręconych w kawałek plastiku. Całość zebrana do kupy taśmą dwustronną. Jak już wspomniałem, programowane toto jest w Pythonie. Mieliśmy trochę problemów z implementacją PWM na tej płytce i musiałem dodać obejscia przy inicjalizacji timera (to będzie naprawione w wersji finalnej). Kod wygląda mniej więcej tak: import microbit class Servo: def __init__(self, pin, trim=0): self.pin = pin self.trim = trim self.position = 90 self.set_period() def set_period(self): self.pin.set_analog_period(20) self.write(self.position) microbit.sleep(80) self.pin.set_analog_period(20) self.write(self.position) microbit.sleep(80) self.pin.write_analog(0) def write(self, degrees): self.pin.write_analog(int(25 + 100 * degrees / 180 + self.trim)) self.position = degrees class Robot: def __init__(self): self.left_servo = Servo(microbit.pin0, 2) self.right_servo = Servo(microbit.pin1, 1) def go(self, distance): microbit.display.show(microbit.Image.ARROW_S) self.left_servo.write(0) self.right_servo.write(180) microbit.sleep(int(distance * 2000 / 17)) self.stop() def turn(self, angle): if angle > 0: microbit.display.show(microbit.Image.ARROW_E) self.left_servo.write(0) self.right_servo.write(0) microbit.sleep(int(angle * 64 / 9)) else: microbit.display.show(microbit.Image.ARROW_W) self.left_servo.write(180) self.right_servo.write(180) microbit.sleep(int(-angle * 64 / 9)) self.stop() def stop(self): microbit.display.show(microbit.Image.DIAMOND) self.left_servo.write(90) self.right_servo.write(90) def get_distance(self): return microbit.pin2.read_analog() robot = Robot() while True: robot.go(5) if robot.get_distance() > 700: robot.turn(20) left_distance = robot.get_distance() robot.turn(-40) right_distance = robot.get_distance() robot.turn(20) if left_distance < right_distance: robot.turn(60) else: robot.turn(-60) Jak widać, wielkiej filozofii nie ma. Natomiast genialnie się to testuje, bo mamy dostęp do konsoli Pythona po złączu szeregowym, więc wszystkie komendy możemy sobie "na żywo" wypróbować. Na koniec robot w akcji:
