คู่มือสำหรับผู้เริ่มต้นใช้งาน MicroPython ด้วย Raspberry Pi Pico

คู่มือสำหรับผู้เริ่มต้นใช้งาน MicroPython ด้วย Raspberry Pi Pico

Raspberry Pi Pico เป็นสมาชิกใหม่ล่าสุดของตระกูล Raspberry Pi ก่อนหน้านี้ กลุ่มผลิตภัณฑ์ Raspberry Pi เป็นคอมพิวเตอร์บอร์ดเดี่ยวที่สามารถใช้ระบบปฏิบัติการได้

Raspberry Pi Pico ใช้ชิป RP2040 ใหม่ รองรับทั้ง MicroPython และ C/C++ Raspberry Pi Pico ช่วยให้มือใหม่และผู้ที่ชื่นชอบสามารถควบคุมฮาร์ดแวร์และอุปกรณ์ที่เชื่อมต่อได้ หมุด GPIO ของ Raspberry Pi Pico สามารถใช้เพื่อทำให้แสงจางลง อ่านสถานะของสวิตช์ และอื่นๆ อีกมากมาย

MicroPython คืออะไร?

การเขียนโปรแกรมบนไมโครคอนโทรลเลอร์ได้ทำเด่นในภาษา C ที่เห็นใช้ในArduino บอร์ดพัฒนา จากนั้นในปี 2014 ได้มีการเผยแพร่ภาษาการเขียนโปรแกรมใหม่สำหรับไมโครคอนโทรลเลอร์ MicroPython MicroPython ให้คุณเขียนโค้ด Python บนโลหะเปล่าของไมโครคอนโทรลเลอร์ ซึ่งหมายความว่าคุณสามารถเขียนโค้ด Python ได้โดยไม่ต้องใช้ระบบปฏิบัติการ

Python เป็นภาษาการเขียนโปรแกรมระดับสูงที่เป็นมิตรกับผู้เริ่มต้นใช้งาน ซึ่งช่วยให้ผู้ใช้สามารถมุ่งเน้นไปที่การเรียนรู้แนวคิดการเขียนโปรแกรม สิ่งนี้เหมือนกันมากกับ MicroPython

การใช้ LED

ในการควบคุมฮาร์ดแวร์ Pico จะคุยกับชุดหมุดตามขอบทั้งสองข้าง สิ่งเหล่านี้เรียกว่าพินอินพุตวัตถุประสงค์ทั่วไป (GPIO) และไฟ LED ออนบอร์ดสามารถพบได้ใน GPIO 25 ในการควบคุม ให้นำเข้าไลบรารีที่จำเป็นก่อน:

import machine

import utime

จากนั้นเรียกใช้ฟังก์ชันพินโดยใช้ไลบรารีของเครื่องเพื่อจัดการกับพิน GPIO ของพิน ในกรณีนี้ เราจะตั้งค่าพินที่ GPIO 25 ดังนั้นจึงเป็นพารามิเตอร์แรก พารามิเตอร์ที่สองตั้งค่าเป็นพินเอาต์พุตแทนที่จะเป็นพินอินพุต พินรู้ว่าควรทำอะไร:

onboard_led = machine.Pin(25, machine.Pin.OUT)

เพื่อดำเนินการต่อในรหัสต่อไปนี้เราจะบอก Pico เพื่อตั้งแล้วขามันคุ้มค่าที่ GPIO 25-1 หรือ 'เปิด'

while True: onboard_led.value(1)

อย่างไรก็ตาม คุณอาจตระหนักว่าไม่มีอะไรเกิดขึ้น เนื่องจาก Pico ทำงานเร็วมาก ดังนั้น LED จึงสว่างเร็วกว่าที่คุณจะมองเห็นได้ด้วยตา ในการแก้ไขปัญหานี้ เราต้องทำให้โปรแกรมช้าลงโดยใช้คำสั่ง sleep จากไลบรารีutime รหัสแบบเต็มที่ LED จะเปิดและปิดอยู่ด้านล่าง:

import machine import utime onboard_led = machine.Pin(25, machine.Pin.OUT) while True: onboard_led.value(1) utime.sleep(5) onboard_led.value(0) utime.sleep(5)

การสลับเปิดและปิดไฟ LED

อีกวิธีหนึ่งในการเปิดและปิดไฟ LED ด้วยคำสั่งสลับ :

import machine import utime onboard_led = machine.Pin(25, machine.Pin.OUT) while True: led_onboard.toggle() utime.sleep(5)

ในตัวอย่างคำสั่งสลับจะแทนที่ความจำเป็นในการตั้งค่าของ LED เป็น 1 และใหม่กว่า 0 โดยจะยังสว่างเป็นเวลา 5 วินาทีแล้วดับอีก 5 วินาที ตราบใดที่โปรแกรมยังทำงานอยู่

การสร้างฟังก์ชัน

คู่มือสำหรับผู้เริ่มต้นใช้งาน MicroPython ด้วย Raspberry Pi Pico

เมื่อโปรแกรมมีความซับซ้อนมากขึ้น จะช่วยในการจัดกลุ่มโค้ดต่างๆ เข้าด้วยกัน เพื่อรักษาความสอดคล้องกัน ในการทำเช่นนั้น MicroPython เช่น Python อนุญาตให้ใช้ฟังก์ชันต่างๆ ฟังก์ชันคือกลุ่มของข้อความสั่งที่เกี่ยวข้องซึ่งทำงานเฉพาะอย่าง ตัวอย่างเช่นในรหัสต่อไปนี้ ฟังก์ชันที่เรียกว่าprintNamesถูกกำหนด:

def printNames: print(“Raspberry Pi 1”) print(“Raspberry Pi 2”) print(“Raspberry Pi 3”) print(“Raspberry Pi 4”) print(“Raspberry Pi Compute Module”) print(“Raspberry Pi 400”) print(“Raspberry Pi Pico”) printNames()

บรรทัดสุดท้ายในโค้ดเรียกใช้ฟังก์ชันเพื่อให้ทำงานได้จริง

ลูป

คู่มือสำหรับผู้เริ่มต้นใช้งาน MicroPython ด้วย Raspberry Pi Pico

ลอจิกแบบมีเงื่อนไขดำเนินการที่แตกต่างกันขึ้นอยู่กับว่าข้อจำกัดบูลีนประเมินว่าเป็นจริงหรือเท็จ ความอุดมสมบูรณ์ของโครงการ Raspberry Pi Picoจะขึ้นอยู่กับงบตรรกะเหล่านี้ ในตัวอย่างต่อไปนี้ คำสั่ง if-else ใช้เพื่อกำหนดว่าคำสั่งprintจะดำเนินการหรือไม่:

i = 17 def printNames(): if i > 15: print("i is greater than 15!") else: print("i is not greater than 15") printNames()

ในตัวอย่างถัดไป ใช้ for loop กับฟังก์ชันrange ลูปเหล่านี้สามารถใช้เพื่อทำซ้ำบล็อกของรหัสได้หลายครั้ง

คู่มือสำหรับผู้เริ่มต้นใช้งาน MicroPython ด้วย Raspberry Pi Pico

สำหรับตัวอย่างนี้พิมพ์คำสั่งจะถูกดำเนินการครั้งที่ห้าที่มีความล่าช้าในห้าวินาทีระหว่างแต่ละของพวกเขาด้วยการนอนหลับสั่ง:

import utime def printNames(): for i in range(5): print("Raspberry Pi Pico") utime.sleep(5) printNames()

ตัวแปลงอนาล็อกเป็นดิจิตอล (ADC)

แม้ว่าคุณจะไม่สามารถมองเห็นมันได้ แต่ Raspberry Pi Pico มีตัวแปลงอนาล็อกเป็นดิจิตอลภายใน ในตัวอย่างต่อไปนี้ โพเทนชิออมิเตอร์เชื่อมต่อกับ Raspberry Pi Pico บน GPIO 26 ซึ่งสามารถใช้งานฟังก์ชัน ADC ได้:

import machine import utime pot = machine.ADC(26) while True: print(pot.read_u16()) utime.sleep(1)

ที่นี่ ก่อนที่เราจะสามารถใช้พินที่มีความสามารถ ADC นี้ได้ จะต้องตั้งค่าด้วยฟังก์ชัน ADC จากนั้นในขณะที่โปรแกรมกำลังทำงาน ค่าของโพเทนชิออมิเตอร์จะพิมพ์ทุกวินาที พินอื่นๆ บน Raspberry Pi Pico ที่ ADC มีความสามารถ ได้แก่ GPIO27, 28 และ 29

การปรับความกว้างพัลส์ (Pwm)

ดิจิตอลเอาท์พุตของไมโครคอนโทรลเลอร์ต้องเป็น 1 หรือ 0 เท่านั้น ในการสร้างสัญญาณอะนาล็อก คุณจะต้องใช้ตัวแปลงดิจิทัลเป็นแอนะล็อก อย่างไรก็ตาม อีกวิธีหนึ่งคือการสร้างสัญญาณแอนะล็อกเทียม โดยใช้การมอดูเลตความกว้างพัลส์หรือ PWM สั้น ๆ

โดยการเปิดและปิดสัญญาณดิจิตอล สิ่งนี้เรียกว่าพัลส์ โดยมอดูเลตความกว้างของพัลส์ สิ่งนี้จะสร้างสัญญาณอะนาล็อกเทียมดังที่เห็นในตัวอย่างต่อไปนี้:

import machine import utime pot = machine.ADC(26 led = machine.PWM(machine.Pin(21)) led.freq(1000) while True: led.duty_u16(pot.read_u16())

ขั้นแรกนำเข้าไลบรารีของเครื่องและUtime ออบเจ็กต์onboard_ledถูกสร้างขึ้นด้วยเอาต์พุต PWM ที่เปิดใช้งานบน GPIO pin 21 จากนั้นใช้คำสั่งfreqซึ่งจะตั้งค่าความถี่เพื่อปรับความกว้างพัลส์ ลองนึกภาพการหมุนโพเทนชิออมิเตอร์ ไฟ LED จะสว่างขึ้นเมื่อหมุนไปทางเดียว

สิ่งนี้เกิดขึ้นเนื่องจากค่าอนาล็อกจากโพเทนชิออมิเตอร์ถูกใช้เป็นค่าสำหรับรอบการทำงานของสัญญาณ PWM ซึ่งเป็นค่าระหว่าง 0 ถึง 65535 อย่างไรก็ตาม หากไม่มีการแปลง การหมุนโพเทนชิออมิเตอร์เล็กน้อยอาจทำให้ LED ไปถึงระดับความสว่างสูงสุดแล้ว .

ในการแก้ไขปัญหานี้ เพื่อให้โพเทนชิออมิเตอร์มีความสว่างเต็มที่เมื่อหมุนไปจนสุดเท่านั้น ค่าจะถูกแปลงด้วยฟังก์ชันduty_u16 ฟังก์ชันนี้แปลงเป็นจำนวนเต็ม 16 บิต ซึ่งเป็นค่าระหว่าง 0 ถึง 1024 ซึ่งเป็นช่วงค่าเดียวกับที่คุณจะได้รับจากพินอะนาล็อกของ Pico

สร้างสรรค์มากขึ้นด้วย Raspberry Pi Pico

บทความนี้ครอบคลุมคำสั่งพื้นฐานใน MicroPython บน Raspberry Pi Pico สำหรับข้อมูลเพิ่มเติมโปรดดูเอกสารอย่างเป็นทางการเกี่ยวกับการเขียนโปรแกรม MicroPython กับราสเบอร์รี่ Pi Pico

หากยังไม่ได้ตั้งค่าบน Raspberry Pi Pico ให้ใช้Thonny IDEเพื่อเรียกใช้โค้ด MicroPython ของคุณ หรือลองใช้โปรแกรมจำลอง CPU ของยูนิคอร์นเพื่อเรียกใช้ไมโครคอนโทรลเลอร์เสมือนบนคอมพิวเตอร์ของคุณโดยตรง


10 สุดยอดไอเดีย DIY Light เพื่อเปลี่ยนห้องนอนของคุณ

10 สุดยอดไอเดีย DIY Light เพื่อเปลี่ยนห้องนอนของคุณ

แสงสว่างคือกาวที่ยึดการตกแต่งของคุณไว้ด้วยกัน ทำให้ห้องของคุณโดดเด่นสะดุดตา โดยเปลี่ยนให้เป็นโอเอซิสที่อบอุ่นและอบอุ่นที่คุณจะหลงรักทุกเย็น ส่วนที่ดีที่สุด? คุณไม่จำเป็นต้องเสียเงินก้อนโตด้วยซ้ำเพราะมีไอเดีย DIY เจ๋งๆ ที่จะทำให้ห้องนอนของคุณสว่างไสว นี่คือ 10 อันดับแรกของเรา:

การออกแบบและการพิมพ์สามมิติบนโต๊ะของคุณเองด้วยเครื่องพิมพ์ FDM

การออกแบบและการพิมพ์สามมิติบนโต๊ะของคุณเองด้วยเครื่องพิมพ์ FDM

เกมบนโต๊ะอย่าง D&D และ Warhammer มอบวิธีที่ยอดเยี่ยมในการเพลิดเพลินกับความบันเทิงแบบโต้ตอบโดยไม่ต้องใช้คอมพิวเตอร์หรือคอนโซล

6 สถานที่ที่ดีที่สุดในการค้นหาโมเดลการพิมพ์ 3 มิติ

6 สถานที่ที่ดีที่สุดในการค้นหาโมเดลการพิมพ์ 3 มิติ

เมื่อสิทธิบัตรการพิมพ์ 3 มิติหมดอายุ อุตสาหกรรมก็ระเบิดเข้าไปในบ้าน

วิธีการกู้คืนข้อมูลจากฮาร์ดไดรฟ์ภายนอก

วิธีการกู้คืนข้อมูลจากฮาร์ดไดรฟ์ภายนอก

ฮาร์ดไดรฟ์ภายนอกได้รับความนิยมเพิ่มขึ้นเนื่องจากความเร็ว ราคา และความสะดวก อย่างไรก็ตาม เช่นเดียวกับฮาร์ดไดรฟ์ทั่วไป ฮาร์ดไดรฟ์เหล่านี้มีความเสี่ยงในการสูญหายของข้อมูลเช่นเดียวกัน ไม่ว่าจะเป็นทางกลไกหรือซอฟต์แวร์

10 DIY เสาอากาศ Wi-Fi ระยะไกลที่คุณทำเองได้ที่บ้าน

10 DIY เสาอากาศ Wi-Fi ระยะไกลที่คุณทำเองได้ที่บ้าน

แม้ว่าเสาอากาศ Wi-Fi ที่ทันสมัยจะช่วยให้คุณใช้ความเร็วที่เร็วที่สุดภายในแพ็คเกจของ ISP ได้ แต่ก็อาจมีราคาค่อนข้างสูง โชคดีที่คุณสามารถเปลี่ยนไปใช้โครงการ DIY เพื่อปรับปรุงสัญญาณการเชื่อมต่อของคุณโดยไม่ต้องใช้เงินมากเกินไป

วิธีสร้าง DIY Dice Tower สำหรับเล่นเกมบนโต๊ะ

วิธีสร้าง DIY Dice Tower สำหรับเล่นเกมบนโต๊ะ

คิดว่าลูกเต๋ามีมาหลายพันปีแล้ว อย่างไรก็ตาม ในเวลานี้ แทบไม่ได้มีการทำเพื่อพัฒนาหรือพัฒนาเทคโนโลยีนี้เลย ในขณะที่วัสดุเปลี่ยนไปและวิธีการทำลูกเต๋าได้ก้าวไปข้างหน้าด้วย แต่คุณยังคงกลิ้งลูกเต๋าด้วยมือเหมือนมนุษย์ถ้ำ

10 สุดยอดโครงการสมาร์ทโฮม ESP32

10 สุดยอดโครงการสมาร์ทโฮม ESP32

บ้านอัจฉริยะเป็นบ้านที่ควบคุมเครื่องใช้และอุปกรณ์จากระยะไกลจากโทรศัพท์หรือคอมพิวเตอร์เครื่องใดก็ได้ที่มีการเชื่อมต่ออินเทอร์เน็ต โดยทั่วไปจะขึ้นอยู่กับอุปกรณ์ที่เชื่อมต่อแบบไร้สายที่สร้างด้วยไมโครคอนโทรลเลอร์ เช่น Arduino หรือบอร์ด ESP32

นี่คือวิธีการโอเวอร์คล็อก PC RAM: แต่คุณควร?

นี่คือวิธีการโอเวอร์คล็อก PC RAM: แต่คุณควร?

การรับ RAM สำหรับพีซีของคุณเป็นสิ่งจำเป็น แม้ว่าถ้าคุณไม่รันมันอย่างเต็มประสิทธิภาพ คุณจะสูญเสียไปมากมาย ทุกโปรแกรมจะจัดเก็บข้อมูลใน RAM ชั่วขณะหนึ่งเพื่อให้เข้าถึงได้รวดเร็วยิ่งขึ้น ด้วย RAM ที่โอเวอร์คล็อก คุณสามารถเพิ่มประสิทธิภาพของพีซีได้

11 ทางเลือกแทน Raspberry Pi Pico

11 ทางเลือกแทน Raspberry Pi Pico

การเปิดตัว Raspberry Pi Pico นั้นน่าตื่นเต้น ในที่สุด Raspberry Pi Foundation ไม่เพียงแค่ย้ายเข้าสู่ตลาดไมโครคอนโทรลเลอร์สำหรับงานอดิเรกที่ Arduino ครอบงำก่อนหน้านี้ แต่ยังทำด้วยซิลิคอนของตัวเองด้วย

10 สุดยอดไอเดีย DIY Light เพื่อเปลี่ยนห้องนอนของคุณ

10 สุดยอดไอเดีย DIY Light เพื่อเปลี่ยนห้องนอนของคุณ

แสงสว่างคือกาวที่ยึดการตกแต่งของคุณไว้ด้วยกัน ทำให้ห้องของคุณโดดเด่นสะดุดตา โดยเปลี่ยนให้เป็นโอเอซิสที่อบอุ่นและอบอุ่นที่คุณจะหลงรักทุกเย็น ส่วนที่ดีที่สุด? คุณไม่จำเป็นต้องเสียเงินก้อนโตด้วยซ้ำเพราะมีไอเดีย DIY เจ๋งๆ ที่จะทำให้ห้องนอนของคุณสว่างไสว นี่คือ 10 อันดับแรกของเรา:

การออกแบบและการพิมพ์สามมิติบนโต๊ะของคุณเองด้วยเครื่องพิมพ์ FDM

การออกแบบและการพิมพ์สามมิติบนโต๊ะของคุณเองด้วยเครื่องพิมพ์ FDM

เกมบนโต๊ะอย่าง D&D และ Warhammer มอบวิธีที่ยอดเยี่ยมในการเพลิดเพลินกับความบันเทิงแบบโต้ตอบโดยไม่ต้องใช้คอมพิวเตอร์หรือคอนโซล

วิธีการติดตั้ง Dashcam ในรถของคุณ

วิธีการติดตั้ง Dashcam ในรถของคุณ

หากคุณมี dashcam การติดตั้งอาจดูเหมือนยุ่งยากเล็กน้อย ในบางกรณี มันไม่ง่ายอย่างที่คุณต้องการ แต่การติดตั้ง dashcam ในรถของคุณนั้นคุ้มค่าทุกนาทีที่คุณใช้ไปกับมัน

6 สถานที่ที่ดีที่สุดในการค้นหาโมเดลการพิมพ์ 3 มิติ

6 สถานที่ที่ดีที่สุดในการค้นหาโมเดลการพิมพ์ 3 มิติ

เมื่อสิทธิบัตรการพิมพ์ 3 มิติหมดอายุ อุตสาหกรรมก็ระเบิดเข้าไปในบ้าน

วิธีการกู้คืนข้อมูลจากฮาร์ดไดรฟ์ภายนอก

วิธีการกู้คืนข้อมูลจากฮาร์ดไดรฟ์ภายนอก

ฮาร์ดไดรฟ์ภายนอกได้รับความนิยมเพิ่มขึ้นเนื่องจากความเร็ว ราคา และความสะดวก อย่างไรก็ตาม เช่นเดียวกับฮาร์ดไดรฟ์ทั่วไป ฮาร์ดไดรฟ์เหล่านี้มีความเสี่ยงในการสูญหายของข้อมูลเช่นเดียวกัน ไม่ว่าจะเป็นทางกลไกหรือซอฟต์แวร์

10 DIY เสาอากาศ Wi-Fi ระยะไกลที่คุณทำเองได้ที่บ้าน

10 DIY เสาอากาศ Wi-Fi ระยะไกลที่คุณทำเองได้ที่บ้าน

แม้ว่าเสาอากาศ Wi-Fi ที่ทันสมัยจะช่วยให้คุณใช้ความเร็วที่เร็วที่สุดภายในแพ็คเกจของ ISP ได้ แต่ก็อาจมีราคาค่อนข้างสูง โชคดีที่คุณสามารถเปลี่ยนไปใช้โครงการ DIY เพื่อปรับปรุงสัญญาณการเชื่อมต่อของคุณโดยไม่ต้องใช้เงินมากเกินไป

คู่มือสำหรับผู้เริ่มต้นใช้งาน MicroPython ด้วย Raspberry Pi Pico

คู่มือสำหรับผู้เริ่มต้นใช้งาน MicroPython ด้วย Raspberry Pi Pico

Raspberry Pi Pico เป็นสมาชิกใหม่ล่าสุดของตระกูล Raspberry Pi ก่อนหน้านี้ กลุ่มผลิตภัณฑ์ Raspberry Pi เป็นคอมพิวเตอร์บอร์ดเดี่ยวที่สามารถใช้ระบบปฏิบัติการได้

วิธีสร้าง DIY Dice Tower สำหรับเล่นเกมบนโต๊ะ

วิธีสร้าง DIY Dice Tower สำหรับเล่นเกมบนโต๊ะ

คิดว่าลูกเต๋ามีมาหลายพันปีแล้ว อย่างไรก็ตาม ในเวลานี้ แทบไม่ได้มีการทำเพื่อพัฒนาหรือพัฒนาเทคโนโลยีนี้เลย ในขณะที่วัสดุเปลี่ยนไปและวิธีการทำลูกเต๋าได้ก้าวไปข้างหน้าด้วย แต่คุณยังคงกลิ้งลูกเต๋าด้วยมือเหมือนมนุษย์ถ้ำ

10 สุดยอดโครงการสมาร์ทโฮม ESP32

10 สุดยอดโครงการสมาร์ทโฮม ESP32

บ้านอัจฉริยะเป็นบ้านที่ควบคุมเครื่องใช้และอุปกรณ์จากระยะไกลจากโทรศัพท์หรือคอมพิวเตอร์เครื่องใดก็ได้ที่มีการเชื่อมต่ออินเทอร์เน็ต โดยทั่วไปจะขึ้นอยู่กับอุปกรณ์ที่เชื่อมต่อแบบไร้สายที่สร้างด้วยไมโครคอนโทรลเลอร์ เช่น Arduino หรือบอร์ด ESP32

นี่คือวิธีการโอเวอร์คล็อก PC RAM: แต่คุณควร?

นี่คือวิธีการโอเวอร์คล็อก PC RAM: แต่คุณควร?

การรับ RAM สำหรับพีซีของคุณเป็นสิ่งจำเป็น แม้ว่าถ้าคุณไม่รันมันอย่างเต็มประสิทธิภาพ คุณจะสูญเสียไปมากมาย ทุกโปรแกรมจะจัดเก็บข้อมูลใน RAM ชั่วขณะหนึ่งเพื่อให้เข้าถึงได้รวดเร็วยิ่งขึ้น ด้วย RAM ที่โอเวอร์คล็อก คุณสามารถเพิ่มประสิทธิภาพของพีซีได้