สารบัญ:
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-13 06:58
โดย kevinjwaltersติดตามเพิ่มเติมโดยผู้เขียน:
Kitronik Inventor's Kit สำหรับ BBC micro:bit เป็นบทนำที่ยอดเยี่ยมสำหรับไมโครคอนโทรลเลอร์ที่มีอุปกรณ์อิเล็กทรอนิกส์โดยใช้เขียงหั่นขนม ชุดอุปกรณ์รุ่นนี้ออกแบบมาเพื่อใช้กับ BBC micro:bit ราคาไม่แพง หนังสือแนะนำโดยละเอียดซึ่งมาพร้อมกับชุดอุปกรณ์ประกอบด้วยตัวอย่าง MakeCode โดยใช้ Blocks และโค้ดที่เทียบเท่า JavaScript สำหรับโปรเจ็กต์ล่าสุด เหมาะสำหรับผู้เริ่มต้นและเด็กเล็กมากกว่า C/C++ ที่จำเป็นสำหรับการเขียนโปรแกรมสไตล์ Arduino Kitronik ยังจัดเตรียมโค้ดเวอร์ชัน MicroPython ไว้บนเว็บไซต์ของพวกเขาภายใต้ส่วนทรัพยากรเพิ่มเติมฟรีของ Inventors Kit
Adafruit CLUE เป็นอนุพันธ์ขั้นสูงของ micro:bit พร้อมโปรเซสเซอร์ที่เร็วขึ้น หน้าจอ LCD สีขนาด 240x240 คอนเน็กเตอร์ที่เข้ากันได้ เซ็นเซอร์เพิ่มเติม และลำโพงออนบอร์ดขนาดเล็ก ความเข้ากันได้ของตัวเชื่อมต่อขอบเป็นคุณสมบัติที่สำคัญ และทำให้บอร์ดนี้สามารถใช้กับผลิตภัณฑ์ที่มีอยู่มากมาย เช่น ชุดนักประดิษฐ์ ปัจจุบัน CLUE รองรับการเขียนโปรแกรมสไตล์ Arduino และ CircuitPython CircuitPython เป็นอนุพันธ์ของ MicroPython ซึ่งคล้ายกันมาก แต่มีข้อแตกต่างเล็กน้อย โดยเฉพาะรอบๆ ไลบรารี
โปรเจ็กต์นี้แสดงวิธีใช้ไลบรารี CircuitPython บน CLUE เพื่อจำลองไมโครบิตและไลบรารีเพลงของ micro:bit ซึ่งช่วยให้โค้ด MicroPython ทำงานตามที่เป็นอยู่สำหรับสิบโปรเจ็กต์ในชุดเครื่องมือประดิษฐ์และอีกสองโปรเจ็กต์จากเว็บไซต์ สามารถใช้ CLUE โดยการเขียนโค้ดทั้งหมดใน CircuitPython ใหม่ แต่ไลบรารี่คู่นี้เสนอวิธีเริ่มต้นใช้งาน Kit ได้ทันที
โหมดการแสดงผลที่ได้รับการปรับปรุงให้การแสดงภาพหมุด (แผ่นอิเล็กโทรด) เพิ่มเติมในขณะที่อ่านหรือเขียน สิ่งนี้แสดงให้เห็นชัดเจนว่ามีการใช้อินพุตและเอาต์พุตอย่างไรซึ่งอาจช่วยปรับปรุงประสบการณ์การเรียนรู้
หมายเหตุ: มีชุดเวอร์ชันอื่นสำหรับ Arduino Uno หรือ Maker Uno Plus: Kitronik Inventor's Kit สำหรับ Arduino
เสบียง
- Kitronik Inventor's Kit สำหรับ BBC micro:bit
- Adafruit CLUE
ขั้นตอนที่ 1: การติดตั้งไลบรารี CircuitPython
หากบอร์ด CLUE ไม่มี CircuitPython อยู่แล้ว ให้ทำตามคำแนะนำเหล่านี้ และไดรฟ์ CIRCUITPY ควรปรากฏขึ้น สามารถยืนยันเวอร์ชันได้โดยการตรวจสอบไฟล์ boot_out.txt หรือเชื่อมต่อกับ REPL ผ่านคอนโซลอนุกรมผ่าน USB
ต้องดาวน์โหลดไลบรารีต่อไปนี้ (คลิกขวาและบันทึกลิงก์เป็น…) และวางไว้ในไดเร็กทอรี lib บนไดรฟ์ CIRCUITPY
- microbit.py
- music.py
- display_pin.py
ไลบรารี display_pin เป็นการขึ้นต่อกันของไลบรารี microbit ไลบรารี adafruit_display_text เป็นการขึ้นต่อกันของไลบรารี microbit และ display_pin และสามารถดึงข้อมูลจากชุดไลบรารีของ Adafruit
ชุดไลบรารี Adafruit CircuitPython Library - ดาวน์โหลดสำหรับไลบรารี adafruit_display_text - ภาพด้านบนแสดงไลบรารีที่มีประโยชน์อื่น ๆ ซึ่งจำเป็นหากคุณต้องการใช้ accelerometer, compass และ display.read_light_level()
สามารถดาวน์โหลดโปรแกรมต่อไปนี้เพื่อแสดงความสามารถในการแสดงภาพบางส่วน
microbitlibemu_simpletest.py
ต้องวางไว้ในไดเรกทอรีระดับบนสุดใน CIRCUITPY และเปลี่ยนชื่อเป็น code.py
ขั้นตอนที่ 2: เชื่อมต่อส่วนประกอบ
โค้ดตัวอย่างดังกล่าวได้รับการออกแบบเพื่อใช้กับส่วนประกอบที่เชื่อมต่อกับ micro:bit/CLUE ตามการทดลองของ Kitronik ที่ 3 จุลสารของ Kitronik แสดงวิธีเชื่อมต่อสิ่งเหล่านี้
นี่คือบทสรุปของส่วนประกอบและการเชื่อมต่อ
- pin0 - สวิตช์ปุ่มกดที่เชื่อมต่ออินพุตกับกราวด์
- pin1 - โพเทนชิออมิเตอร์เชิงเส้น 10k
- pin2 - LED สีแดงพร้อมตัวต้านทาน 47k ในซีรีย์
- pin4 - ลำโพง piezo (นี่ไม่ใช่ส่วนหนึ่งของการทดลองดั้งเดิม แต่มีประโยชน์ในการทดสอบคลังเพลง)
ขั้นตอนที่ 3: ลดแสง LED โดยใช้การปรับความกว้างพัลส์
โปรแกรม CLUE ถูกขัดจังหวะก่อนวิดีโอโดยใช้ REPL ผ่านคอนโซลอนุกรมผ่าน USB Control-D ถูกกดเพื่อออกจาก REPL และเริ่มโปรแกรม code.py
ไลบรารี่ถูกโหลดก่อนในโปรแกรม:
จากการนำเข้าไมโครบิต *
นำเข้าเพลง
จากนั้น "microbit" จะแสดงขึ้นโดยการเลื่อนในโหมดดูข้อความ ตามด้วย "ไลบรารี" ในโหมดมุมมองพื้นฐาน (ปัจจุบันค่อนข้างช้า) จากนั้น "จำลองบน CLUE" ในโหมดขั้นสูง
display.mode = "ข้อความ"
display.scroll ("microbit") display.mode = "พื้นฐาน" display.scroll ("library") display.mode = "ปรับปรุง" display.scroll ("จำลองบน CLUE") display.show (Image. SMILE) นอนหลับ (2000)
ทั้ง scroll() และ show() ในโหมดขั้นสูงจะแสดงบรรทัดข้อความทั้งหมดบนหน้าจอของ CLUE เพื่อให้อ่านง่ายขึ้น เมื่อใช้พินแต่ละอัน หมุดจะแสดงบนหน้าจอและปรับขนาดให้พอดี สูงสุดในปัจจุบันที่สามารถแสดงได้คือ 6
display.show("การทดลองที่ 3 + เพลง")
sleep(2000) display.scroll("Dimming an LED") _ = pin1.read_analog() sleep(2000) pin2.write_analog(pin1.read_analog()) sleep(2000) _ = pin0.is_touched() sleep(2000) music.play(เพลง. POWER_UP, pin4)
เพลงที่เล่นบน pin4 ในตัวอย่างนี้ เช่นเดียวกับการใช้งาน micro:bit มันเล่นบน pin0 โดยค่าเริ่มต้น ลำโพงออนบอร์ดของ CLUE สามารถใช้โดยส่งค่าลำโพง (อ็อบเจ็กต์)
รหัสต่อไปนี้ใช้รหัส MicroPython ของ Kitronik ซึ่งมาจากโปรแกรม MakeCode มีการแก้ไขเพื่ออ่าน pin1 อย่างต่อเนื่องและเขียนไปยัง pin2 หากไฟ LED เปิดอยู่ซึ่งระบุด้วยค่า LightState ที่ 1 ซึ่งช่วยให้การแสดงภาพพินอัปเดตอย่างต่อเนื่องบนจอแสดงผลของ CLUE ตามที่เห็นในวิดีโอเมื่อปุ่ม Allen (ฐานสิบหก) หมุน โพเทนชิออมิเตอร์
LightState = 0
Switch = 0 ในขณะที่ True: if LightState == 1: pin2.write_analog(pin1.read_analog()) else: pin2.write_digital(0) if pin0.is_touched(): Switch = 1 if LightState == 0: LightState = 1 อื่น ๆ: LightState = 0 ในขณะที่ Switch == 1: ถ้า pin0.is_touched() == 0: Switch = 0 ถ้า button_b.was_pressed(): music.play(music. ODE, pin4)
ขั้นตอนที่ 4: เบาะแสด้วย CircuitPython
รหัส MicroPython ของ Kitronik อยู่ภายใต้การทดลองแต่ละครั้งในส่วนทรัพยากรเพิ่มเติมฟรีของชุดนักประดิษฐ์ โค้ดบางตัวมีให้ฝังอยู่ในไฟล์.hex เท่านั้น เพื่อความสะดวก ตัวอย่างทั้งชุดจะถูกทำซ้ำที่นี่
ความสามารถทั้งหมดของ CLUE รวมถึง Bluetooth Low Energy สามารถสำรวจได้ใน CircuitPython ด้วยชุดไลบรารีที่เติบโตอย่างรวดเร็ว
ไซต์ Adafruit มีคู่มือหลักและคู่มือการเรียนรู้มากมายสำหรับ CLUE สามภาพด้านบนนี้นำมาจาก:
- ถุงมือ CLUE BLE MIDI
- พล็อตเตอร์เซ็นเซอร์ CLUE
- CLUE เครื่องวัดระยะสูง