├── Microbit入門教程_繁體中文.pdf ├── Microbit入门教程_简体中文.pdf ├── README.md ├── software_materials ├── BeginnersGuide-4thEd-Eng_v2.pdf ├── git1_mulu.png ├── git2_hardware.png ├── git3.png ├── git4.png ├── git5.png ├── microbit-micropython-readthedocs-io-en-v2-docs.pdf └── my_wechat.jpg └── source_code ├── basic_clock.py ├── blinky.py ├── button1.py ├── button2.py ├── compass_use.py ├── for_range.py ├── full_clock.py ├── function_sum_of_1_to_n.py ├── hello_world.py ├── if_statement.py ├── light_button.py ├── scroll_string_format.py ├── set_time1.py ├── set_time2.py ├── simple_second.py ├── string_format.py ├── sum_of_1_to_100.py ├── temperature_button.py ├── variable_scope.py └── while_statement.py /Microbit入門教程_繁體中文.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wxlscm/Microbit_getting_started_tutorial/22c81c412471b6caee5738274eaca4677dedfa14/Microbit入門教程_繁體中文.pdf -------------------------------------------------------------------------------- /Microbit入门教程_简体中文.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wxlscm/Microbit_getting_started_tutorial/22c81c412471b6caee5738274eaca4677dedfa14/Microbit入门教程_简体中文.pdf -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Microbit_getting_started_tutorial 2 | 專為後代編寫的青少年編程教程——Microbit入門教程 3 | 4 | 這是我專門給我後代編寫的Microbit入門教程,歷時5個月寫作完成。本教程的初衷是為了讓我的子女能儘早接觸計算機編程,培養對編程的興趣,希望他們以後能從事計算機專業。 5 | 本教程全文近36000字,都是本人一字一句打進電腦的,有以下幾個特點: 6 | 7 | 1、從頭開始學習計算機,無需其他書籍,並使用主流的Python語言實現,讓中小學生能掌握Python這個通用的編程語言。 8 | 9 | 2、整個教程的針對性很強,就是如何使用軟件工具編程實現電子錶,由易到難,由淺入深。使用該教程,只需要購買Micro:bit開發板即可,不需要其他材料,非常省錢! 10 | 11 | 3、本教程簡潔精煉,程序解說清晰,層次分明,確保中小學生能夠看懂本書所有部分,明白如何編程,訓練自己的邏輯思維。 12 | 13 | 本教程適合家長們在家教子女學習編程使用,同時也適合悟性較高的中小學生自學使用。以下是目錄。 14 | ![image](https://github.com/wxlscm/Microbit_getting_started_tutorial/blob/main/software_materials/git1_mulu.png) 15 | 16 | 整個教程解說非常詳細清晰,截幾個圖給大家看看: 17 | 18 | ![image](https://github.com/wxlscm/Microbit_getting_started_tutorial/blob/main/software_materials/git2_hardware.png) 19 | ![image](https://github.com/wxlscm/Microbit_getting_started_tutorial/blob/main/software_materials/git3.png) 20 | ![image](https://github.com/wxlscm/Microbit_getting_started_tutorial/blob/main/software_materials/git4.png) 21 | 22 | 總之寫給自己子女的書當然會非常認真,儘量可靠不出錯。我還配備了我自己畫的很多流程圖呢,下面是本書的核心——電子錶的流程圖。 23 | 24 | ![image](https://github.com/wxlscm/Microbit_getting_started_tutorial/blob/main/software_materials/git5.png) 25 | 26 | 大家自己直接下載即可。覺得好的話可以自行列印出來教子女學習計算機編程,增進親子關係!希望該教程能幫助廣大的中小學生進入計算機的世界! 27 | 下面是我的微信二維碼,大家樂意的話可以加我,多謝! 28 | 29 | ![image](https://github.com/wxlscm/Microbit_getting_started_tutorial/blob/main/software_materials/my_wechat.jpg) 30 | 31 | -------------------------------------------------------------------------------- /software_materials/BeginnersGuide-4thEd-Eng_v2.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wxlscm/Microbit_getting_started_tutorial/22c81c412471b6caee5738274eaca4677dedfa14/software_materials/BeginnersGuide-4thEd-Eng_v2.pdf -------------------------------------------------------------------------------- /software_materials/git1_mulu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wxlscm/Microbit_getting_started_tutorial/22c81c412471b6caee5738274eaca4677dedfa14/software_materials/git1_mulu.png -------------------------------------------------------------------------------- /software_materials/git2_hardware.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wxlscm/Microbit_getting_started_tutorial/22c81c412471b6caee5738274eaca4677dedfa14/software_materials/git2_hardware.png -------------------------------------------------------------------------------- /software_materials/git3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wxlscm/Microbit_getting_started_tutorial/22c81c412471b6caee5738274eaca4677dedfa14/software_materials/git3.png -------------------------------------------------------------------------------- /software_materials/git4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wxlscm/Microbit_getting_started_tutorial/22c81c412471b6caee5738274eaca4677dedfa14/software_materials/git4.png -------------------------------------------------------------------------------- /software_materials/git5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wxlscm/Microbit_getting_started_tutorial/22c81c412471b6caee5738274eaca4677dedfa14/software_materials/git5.png -------------------------------------------------------------------------------- /software_materials/microbit-micropython-readthedocs-io-en-v2-docs.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wxlscm/Microbit_getting_started_tutorial/22c81c412471b6caee5738274eaca4677dedfa14/software_materials/microbit-micropython-readthedocs-io-en-v2-docs.pdf -------------------------------------------------------------------------------- /software_materials/my_wechat.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wxlscm/Microbit_getting_started_tutorial/22c81c412471b6caee5738274eaca4677dedfa14/software_materials/my_wechat.jpg -------------------------------------------------------------------------------- /source_code/basic_clock.py: -------------------------------------------------------------------------------- 1 | from microbit import * 2 | hour = 0 3 | minute = 0 4 | second = 0 5 | clock_start = 0 6 | clock_current = 0 7 | clock_now_second = 0 8 | def caculate_HMS(now_second_p): 9 | global second, minute, hour 10 | second += now_second_p 11 | while second > 59: 12 | second -= 60 13 | minute += 1 14 | while minute > 59: 15 | minute -= 60 16 | hour += 1 17 | while hour > 23: 18 | hour -= 24 19 | 20 | clock_start = running_time() 21 | while True: 22 | if button_b.was_pressed(): 23 | clock_current = running_time() 24 | clock_now_second = (clock_current - clock_start) // 1000 25 | caculate_HMS(clock_now_second) 26 | clock_start = clock_current 27 | display.scroll("{}:{}:{}".format(hour, minute, second)) 28 | -------------------------------------------------------------------------------- /source_code/blinky.py: -------------------------------------------------------------------------------- 1 | from microbit import * 2 | while True: 3 | display.set_pixel(0,0,6) 4 | sleep(1000) 5 | display.set_pixel(0,0,0) 6 | sleep(1000) 7 | -------------------------------------------------------------------------------- /source_code/button1.py: -------------------------------------------------------------------------------- 1 | from microbit import * 2 | while True: 3 | if button_a.is_pressed(): 4 | display.show(Image.HAPPY) 5 | elif button_b.is_pressed(): 6 | break 7 | else: 8 | display.show(Image.SAD) 9 | display.clear() 10 | -------------------------------------------------------------------------------- /source_code/button2.py: -------------------------------------------------------------------------------- 1 | from microbit import * 2 | number=0 3 | display.show(str(number)) 4 | while True: 5 | if button_a.was_pressed(): 6 | number+=1 7 | display.show(str(number)) 8 | 9 | -------------------------------------------------------------------------------- /source_code/compass_use.py: -------------------------------------------------------------------------------- 1 | from microbit import * 2 | compass.calibrate() 3 | while True: 4 | bearing = compass.heading() 5 | if bearing < 30 or bearing > 330: 6 | display.show('N') 7 | else: 8 | display.show(' ') 9 | -------------------------------------------------------------------------------- /source_code/for_range.py: -------------------------------------------------------------------------------- 1 | for i in range(5): 2 | print(i) 3 | -------------------------------------------------------------------------------- /source_code/full_clock.py: -------------------------------------------------------------------------------- 1 | from microbit import * 2 | hour = 0 3 | minute = 0 4 | second = 0 5 | clock_start = 0 6 | clock_current = 0 7 | clock_now_second = 0 8 | def caculate_HMS(now_second_p): 9 | global second, minute, hour 10 | second += now_second_p 11 | while second > 59: 12 | second -= 60 13 | minute += 1 14 | while minute > 59: 15 | minute -= 60 16 | hour += 1 17 | while hour > 23: 18 | hour -= 24 19 | 20 | def print_HMS(hms): 21 | display.clear() 22 | tens = hms // 10 23 | ones = hms % 10 24 | if tens <= 5: 25 | for i in range(tens): 26 | display.set_pixel(i, 0, 6) 27 | else: 28 | for i in range(5): 29 | display.set_pixel(i, 0, 6) 30 | for i in range(tens - 5): 31 | display.set_pixel(i, 1, 6) 32 | if ones <= 5: 33 | for i in range(ones): 34 | display.set_pixel(i, 2, 6) 35 | else: 36 | for i in range(5): 37 | display.set_pixel(i, 2, 6) 38 | for i in range(ones - 5): 39 | display.set_pixel(i, 3, 6) 40 | 41 | display.scroll("Set Hour") 42 | display.clear() 43 | while True: 44 | if button_a.was_pressed(): 45 | hour += 1 46 | if hour > 23: 47 | hour = 0 48 | print_HMS(hour) 49 | elif button_b.was_pressed(): 50 | display.scroll("Set Hour={}!".format(hour)) 51 | break 52 | 53 | display.scroll("Set Min") 54 | display.clear() 55 | while True: 56 | if button_a.was_pressed(): 57 | minute += 1 58 | if minute > 59: 59 | minute = 0 60 | print_HMS(minute) 61 | elif button_b.was_pressed(): 62 | display.scroll("Set Min={}!".format(minute)) 63 | break 64 | 65 | display.scroll("Set Sec") 66 | display.clear() 67 | while True: 68 | if button_a.was_pressed(): 69 | second += 1 70 | if second > 59: 71 | second = 0 72 | print_HMS(second) 73 | elif button_b.was_pressed(): 74 | display.scroll("Set Sec={}!".format(second)) 75 | break 76 | 77 | clock_start = running_time() 78 | while True: 79 | if button_b.was_pressed(): 80 | clock_current = running_time() 81 | clock_now_second = (clock_current - clock_start) // 1000 82 | caculate_HMS(clock_now_second) 83 | clock_start = clock_current 84 | display.scroll("{}:{}:{}".format(hour, minute, second)) 85 | -------------------------------------------------------------------------------- /source_code/function_sum_of_1_to_n.py: -------------------------------------------------------------------------------- 1 | def sum_1_to_n(n): 2 | i=1 3 | sum_f=0 4 | while True: 5 | sum_f+=i 6 | i+=1 7 | if i>n: 8 | break 9 | return sum_f 10 | 11 | 12 | n = int(input("Please enter a positive integer n: ")) 13 | sum=sum_1_to_n(n) 14 | print('Sum of 1 to {} is {}'.format(n,sum)) 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /source_code/hello_world.py: -------------------------------------------------------------------------------- 1 | from microbit import * 2 | display.scroll("Hello, World!") 3 | -------------------------------------------------------------------------------- /source_code/if_statement.py: -------------------------------------------------------------------------------- 1 | x = int(input("Please enter a positive integer: ")) 2 | if x < 30: 3 | print('It is less than 30') 4 | elif x == 30: 5 | print('It is 30') 6 | elif x > 30: 7 | print('It is more than 30') 8 | 9 | -------------------------------------------------------------------------------- /source_code/light_button.py: -------------------------------------------------------------------------------- 1 | from microbit import * 2 | while True: 3 | if button_a.was_pressed(): 4 | display.scroll(str(display.read_light_level() )) 5 | -------------------------------------------------------------------------------- /source_code/scroll_string_format.py: -------------------------------------------------------------------------------- 1 | from microbit import * 2 | hour=20 3 | minute=5 4 | second=47 5 | display.scroll("Time is {}:{}:{}".format(hour, minute,second)) 6 | -------------------------------------------------------------------------------- /source_code/set_time1.py: -------------------------------------------------------------------------------- 1 | from microbit import * 2 | hour = 0 3 | minute = 0 4 | second = 0 5 | display.scroll("Set Hour") 6 | while True: 7 | if button_a.was_pressed(): 8 | hour += 1 9 | if hour > 23: 10 | hour = 0 11 | elif button_b.was_pressed(): 12 | display.scroll("Set Hour={}!".format(hour)) 13 | break 14 | 15 | display.scroll("Set Min") 16 | while True: 17 | if button_a.was_pressed(): 18 | minute += 1 19 | if minute > 59: 20 | minute = 0 21 | elif button_b.was_pressed(): 22 | display.scroll("Set Min={}!".format(minute)) 23 | break 24 | 25 | display.scroll("Set Sec") 26 | while True: 27 | if button_a.was_pressed(): 28 | second += 1 29 | if second > 59: 30 | second = 0 31 | elif button_b.was_pressed(): 32 | display.scroll("Set Sec={}!".format(second)) 33 | break 34 | -------------------------------------------------------------------------------- /source_code/set_time2.py: -------------------------------------------------------------------------------- 1 | from microbit import * 2 | hour = 0 3 | minute = 0 4 | second = 0 5 | def print_HMS(hms): 6 | display.clear() 7 | tens = hms // 10 8 | ones = hms % 10 9 | if tens <= 5: 10 | for i in range(tens): 11 | display.set_pixel(i, 0, 6) 12 | else: 13 | for i in range(5): 14 | display.set_pixel(i, 0, 6) 15 | for i in range(tens - 5): 16 | display.set_pixel(i, 1, 6) 17 | if ones <= 5: 18 | for i in range(ones): 19 | display.set_pixel(i, 2, 6) 20 | else: 21 | for i in range(5): 22 | display.set_pixel(i, 2, 6) 23 | for i in range(ones - 5): 24 | display.set_pixel(i, 3, 6) 25 | 26 | display.scroll("Set Hour") 27 | while True: 28 | if button_a.was_pressed(): 29 | hour += 1 30 | if hour > 23: 31 | hour = 0 32 | print_HMS(hour) 33 | elif button_b.was_pressed(): 34 | display.scroll("Set Hour={}!".format(hour)) 35 | break 36 | 37 | display.scroll("Set Min") 38 | while True: 39 | if button_a.was_pressed(): 40 | minute += 1 41 | if minute > 59: 42 | minute = 0 43 | print_HMS(minute) 44 | elif button_b.was_pressed(): 45 | display.scroll("Set Min={}!".format(minute)) 46 | break 47 | 48 | display.scroll("Set Sec") 49 | while True: 50 | if button_a.was_pressed(): 51 | second += 1 52 | if second > 59: 53 | second = 0 54 | print_HMS(second) 55 | elif button_b.was_pressed(): 56 | display.scroll("Set Sec={}!".format(second)) 57 | break 58 | -------------------------------------------------------------------------------- /source_code/simple_second.py: -------------------------------------------------------------------------------- 1 | from microbit import * 2 | hour = 0 3 | minute = 0 4 | second = 0 5 | clock_start = 0 6 | clock_current = 0 7 | clock_now_second = 0 8 | 9 | clock_start = running_time() 10 | while True: 11 | if button_b.was_pressed(): 12 | clock_current = running_time() 13 | clock_now_second = (clock_current - clock_start) // 1000 14 | display.scroll("{}".format(clock_now_second)) 15 | 16 | -------------------------------------------------------------------------------- /source_code/string_format.py: -------------------------------------------------------------------------------- 1 | hour=20 2 | minute=5 3 | second=47 4 | print("Time is {}:{}:{}".format(hour, minute,second)) 5 | -------------------------------------------------------------------------------- /source_code/sum_of_1_to_100.py: -------------------------------------------------------------------------------- 1 | i=1 2 | sum=0 3 | while True: 4 | sum+=i 5 | i+=1 6 | if i>100: 7 | break 8 | print('Sum of 1 to 100 is '+str(sum)) 9 | -------------------------------------------------------------------------------- /source_code/temperature_button.py: -------------------------------------------------------------------------------- 1 | from microbit import * 2 | while True: 3 | if button_a.was_pressed(): 4 | display.scroll(temperature()) 5 | -------------------------------------------------------------------------------- /source_code/variable_scope.py: -------------------------------------------------------------------------------- 1 | a=3 2 | def Function(): 3 | print(a) 4 | 5 | Function() 6 | -------------------------------------------------------------------------------- /source_code/while_statement.py: -------------------------------------------------------------------------------- 1 | a=1 2 | while a<10: 3 | print(a) 4 | a+=2 5 | --------------------------------------------------------------------------------