สารบัญ:

A Breathing Light ควบคุมโดย Raspberry Pi: 5 ขั้นตอน
A Breathing Light ควบคุมโดย Raspberry Pi: 5 ขั้นตอน

วีดีโอ: A Breathing Light ควบคุมโดย Raspberry Pi: 5 ขั้นตอน

วีดีโอ: A Breathing Light ควบคุมโดย Raspberry Pi: 5 ขั้นตอน
วีดีโอ: ทำไมคุณถึงควรเปลี่ยนไปใช้ Raspberry Pi 4 Model B แทน Raspberry Pi 3 Model B, B+ 2024, กรกฎาคม
Anonim
แสงหายใจควบคุมโดย Raspberry Pi
แสงหายใจควบคุมโดย Raspberry Pi

"ไฟแสดงการออกกำลังกายการหายใจ" ที่อธิบายไว้ในที่นี้เป็นไฟกะพริบที่เรียบง่ายและราคาไม่แพงนัก ซึ่งอาจช่วยสนับสนุนคุณในการฝึกหายใจ และช่วยให้คุณรักษาจังหวะการหายใจให้คงที่ นอกจากนี้ยังอาจใช้เช่น เป็นไฟกลางคืนที่ผ่อนคลายสำหรับเด็ก ในระยะปัจจุบันเป็นต้นแบบการทำงานมากกว่า

คุณยังสามารถใช้มันเป็นตัวอย่างที่ไม่แพงและง่ายต่อการสร้างสำหรับ "การคำนวณทางกายภาพ" กับ Raspberry Pi เช่น เพื่อใช้เป็นโครงการการศึกษาในระดับเริ่มต้น ที่นี่คุณมีอนาล็อก (โพเทนชิออมิเตอร์แบบโรตารี่) และอินพุตดิจิตอล (ปุ่มกด) เช่นเดียวกับเอาต์พุตดิจิตอล (LED) และ PWM (โซ่ LED) และผลกระทบของการเปลี่ยนแปลงจะมองเห็นได้โดยตรง.

แสงไหลผ่านวงกลมที่วนซ้ำซึ่งประกอบด้วยสี่เฟส: การเปลี่ยนสีเขียว (บน) เป็นสีแดง (ล่าง) เฟสสีแดงเท่านั้น การเปลี่ยนสีแดงเป็นสีเขียว และเฟสสีเขียวเท่านั้น ความยาวของเฟสเหล่านี้ถูกกำหนดโดยค่าคงที่ซึ่งสามารถแก้ไขได้โดยโพเทนชิโอมิเตอร์ กระบวนการสามารถเริ่ม หยุดชั่วคราว ดำเนินต่อ และหยุดได้ด้วยการกดปุ่ม ไฟ LED แสดงสถานะปัจจุบัน โดยอิงจากตัวอย่าง “Firefly Light” ของ Pimoroni (ดูที่นี่) คล้ายกับ "ไฟหิ่งห้อย" ที่ต้องใช้ Raspberry Pi (Zero), Pimoroni Explorer pHAT (หรือ HAT) และไฟ LED สองเส้นของ IKEA SÄRDAL ต่อมาเชื่อมต่อกับพอร์ต PMW/มอเตอร์สองพอร์ตของ pHAT แทนที่จะใช้ขวดโหล ฉันวางไฟ LED ไว้ในกรอบรูปของอิเกีย ฉันได้พยายามเพิ่มประสิทธิภาพสคริปต์หลาม "แสงหิ่งห้อย" ดั้งเดิมเล็กน้อย โดยใช้ฟังก์ชันไซนัสที่เป็นตัวเลือกสำหรับการเปลี่ยนแปลงความสว่าง/ความกว้างของพัลส์ และได้แนะนำเฟส "พัก" สองขั้นตอนระหว่างเฟสลดแสง ขณะแก้ไขพารามิเตอร์เพื่อค้นหารูปแบบแสงที่ให้ความรู้สึกสบายยิ่งขึ้น ฉันพบว่าอุปกรณ์สามารถช่วยสนับสนุนรูปแบบการหายใจที่กำหนดไว้อย่างชัดเจนและสม่ำเสมอ ดังนั้น บางท่านอาจพบว่า “แสงแห่งการหายใจ” นี้มีประโยชน์สำหรับการทำสมาธิหรือการฝึก เนื่องจาก Explorer pHAT มีอินพุตแบบดิจิตอลสี่ช่องและอนาล็อกสี่ช่อง จึงง่ายต่อการควบคุมพารามิเตอร์ต่างๆ ได้ถึงสี่ค่าโดยใช้โพเทนชิโอมิเตอร์แบบเลื่อนหรือแบบหมุน และเพื่อแนะนำฟังก์ชันเริ่ม/รีสตาร์ท/หยุดสำหรับไฟโดยใช้ปุ่มกด สิ่งนี้จะช่วยให้คุณใช้อุปกรณ์และปรับพารามิเตอร์ให้เหมาะสมตามความต้องการของคุณโดยไม่ต้องต่อจอภาพเข้ากับ Pi

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

Pimoroni's Explorer pHAT python library ทำให้การควบคุมพอร์ต I/O เหล่านี้ทำได้ง่ายมาก

ในอุปกรณ์เวอร์ชันที่สอนได้นี้มีโพเทนชิโอมิเตอร์และปุ่ม 0, 2 และ 4 อันอธิบายไว้ เลือกหนึ่งที่เหมาะกับความต้องการของคุณ

หากต้องการเรียกใช้อุปกรณ์โดยอัตโนมัติ อาจใช้ชุดจ่ายไฟหรือชุดชิม Pimoroni LiPo ชิมและแบตเตอรี่ LiPo ตามที่อธิบายไว้สำหรับ "ไฟหิ่งห้อย"

เวอร์ชันที่อัปเดต 28 ธันวาคม 2018: เพิ่มเวอร์ชัน 'โพเทนชิโอมิเตอร์สี่ตัวและปุ่มกดสี่ปุ่ม' 30: เพิ่มรหัสสำหรับรุ่น 4-poti และเพิ่มรูปภาพที่น่าสนใจ

ขั้นตอนที่ 1: วัสดุที่ใช้ / จำเป็น

วัสดุที่ใช้ / จำเป็น
วัสดุที่ใช้ / จำเป็น
วัสดุที่ใช้ / จำเป็น
วัสดุที่ใช้ / จำเป็น
วัสดุที่ใช้ / จำเป็น
วัสดุที่ใช้ / จำเป็น

- Raspberry Pi Zero (4.80 GBP ที่ Pimoroni สหราชอาณาจักร) และการ์ด micro SD (>= 8 GB) พร้อม Raspian

- Pimoroni Explorer pHAT (10 GBP ที่ Pimoroni สหราชอาณาจักร) อุปกรณ์เสริม: ส่วนหัวแถวเดียว สายจัมเปอร์

- IKEA SÄRDAL ไฟประดับ LED พร้อมไฟ LED 12 ดวง (ที่ IKEA เยอรมนี อันละ 2 x, 3.99 ยูโร) หรือไฟ LED แบบโซ่ 3-5 โวลต์ที่คล้ายคลึงกัน- กรอบรูป IKEA RIBBA (13 x 18 ซม., 2.49 ยูโรที่ IKEA เยอรมนี)

- พียูโฟมชิ้นหนึ่ง (2 x 18 x 13.5 ซม.) สำหรับยึดไฟ LED หรืออาจใช้โฟมสไตโรก็ได้

- แผ่นพลาสติกทึบแสง (18 x 13.5 ซม.) ทำหน้าที่เป็นตัวกระจายแสง

- กระดาษสีใส 2 แผ่น (แผ่นละ 9 x 13.5 ซม.) ฉันใช้สีแดงและสีเขียว

- แผ่นพลาสติกบางและทึบแสงสูง (18 x 13.5 ซม.) ทำหน้าที่เป็นตะแกรงด้านนอก ฉันใช้แผ่นโพลีคาร์บอเนตสีขาวบาง ๆ ไม่บังคับ สำหรับเวอร์ชันที่ปรับแต่งได้:

ในการปรับจังหวะการไล่ระดับและระยะเวลาที่ราบสูง หรือพารามิเตอร์อื่นๆ เช่น ความสว่าง - โพเทนชิโอมิเตอร์ 10, 20 หรือ 50 kOhm (สูงสุดสี่ตัว ฉันใช้ 10 kOhm สองตัวตามลำดับสี่ 50 โอห์ม)

เป็นปุ่มเริ่ม/หยุด/หยุดชั่วคราว/เล่นต่อ:- ปุ่มกด (มากถึงสี่ปุ่ม ฉันใช้สี่หรือสองปุ่ม)

เป็นตัวบ่งชี้สำหรับเฟสของวงกลม:- ไฟ LED สีและตัวต้านทานที่จำเป็น (จะขึ้นอยู่กับลักษณะของไฟ LED ที่คุณจะใช้)

  1. ประมาณ 140 โอห์มสำหรับ 5.2 -> 2, 2 V (สีเหลือง สีส้ม สีแดง ไฟ LED สีเขียวบางดวง)
  2. ประมาณ 100 โอห์มสำหรับ 5.3 -> 3.3 V (ไฟ LED สีเขียวบางดวง สีฟ้า สีขาว)

- สายจัมเปอร์และเขียงหั่นขนม

ตัวเลือกสำหรับรุ่นที่ใช้แบตเตอรี่:

  • ชุดไฟ Micro-USB 5V หรือ
  • ชิม Pimoroni Zero LiPo และแบตเตอรี่ LiPo

ขั้นตอนที่ 2: Lazout และการประกอบ

Lazout และแอสเซมบลี
Lazout และแอสเซมบลี
Lazout และแอสเซมบลี
Lazout และแอสเซมบลี
Lazout และแอสเซมบลี
Lazout และแอสเซมบลี

ประกอบ Explorer pHAT ตามที่ผู้ผลิตอธิบาย ฉันได้เพิ่มส่วนหัวของตัวเมียแถวเดียวสำหรับการเชื่อมต่อแบบง่ายของสายจัมเปอร์กับพอร์ต pHATs I/O ตั้งค่า Pi ของคุณและติดตั้งไลบรารี Pimoroni สำหรับ Explorer HAT/pHAT ตามที่ Pimoroni อธิบาย ปิด Pi และติด pHAT เข้ากับ Pi ถอดชุดแบตเตอรี่ออกจากโซ่ LED โดยการตัดสายไฟและดีบุกที่ปลายสายไฟ ตัดสายจัมเปอร์ตัวผู้ 2x สองเส้นที่ตรงกลาง ต่อดีบุกที่ปลายสาย บัดกรีสายจัมเปอร์เข้ากับโซ่ LED และแยกจุดบัดกรีโดยใช้เทปกาวหรือท่อหด ก่อนบัดกรี ให้ตรวจสอบว่าต้องต่อสายใดกับพอร์ตบวกหรือพอร์ตกราวด์ แล้วทำเครื่องหมายตามนั้น ฉันใช้สายจัมเปอร์ที่มีสีต่างกัน ตัดโฟมเพื่อยึดไฟ LED, ดิฟฟิวเซอร์ และแผ่นสกรีนให้ได้ขนาดที่เหมาะสม บนแผ่นยึด LED ให้ทำเครื่องหมายตำแหน่งที่จะวาง LED และเจาะรู 3-5 มม. ลงในโฟม จากนั้นใส่ไฟ LED 24 ดวงที่ตำแหน่งที่กำหนด วางกระดาษสีและแผ่นกระจายแสงบนแผ่น LED (ดูภาพ) วางกรอบเหนือชุด แก้ไขชั้นโฟมในเฟรมเช่น โดยใช้เทปกาว ต่อสายแถบ LED เข้ากับพอร์ต "มอเตอร์" ของ Explorer pHAT สำหรับเวอร์ชันที่ปรับแต่งได้ ให้วางโพเทนชิโอมิเตอร์ ปุ่มกด ไฟ LED ควบคุม (และ/หรือออด) และตัวต้านทานบนเขียงหั่นขนม และเชื่อมต่อกับพอร์ตที่เกี่ยวข้องที่ Explorer pHAT

เริ่ม Pi ของคุณและติดตั้งไลบรารีที่จำเป็นตามที่อธิบายไว้ในเว็บไซต์ Pimoroni จากนั้นเรียกใช้สคริปต์ Python 3 ที่ให้มา หากโซ่ LED ตัวใดตัวหนึ่งไม่ทำงาน แสดงว่าอาจเชื่อมต่อผิดทิศทาง จากนั้นคุณอาจเปลี่ยนการเชื่อมต่อบวก/ลบบน pHAT หรือทำการเปลี่ยนแปลงในโปรแกรม เช่น เปลี่ยน “eh.motor.one.backwards()” เป็น “… forwards()”

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

ขั้นตอนที่ 3: สคริปต์ Python

ไลบรารี Python ของ Pimoroni สำหรับ Explorer HAT/pHAT ทำให้การกำหนดส่วนประกอบที่เชื่อมต่อกับพอร์ต I/O ของ HAT ทำได้ง่ายมาก สองตัวอย่าง: "eh.two.motor.backwards(80)" ขับเคลื่อนอุปกรณ์ที่ต่ออยู่กับพอร์ต PWM/มอเตอร์ 2 ด้วยความเข้มสูงสุด 80% ในทิศทางย้อนกลับ "eh.output.three.flash()" ทำให้ LED เชื่อมต่ออยู่ เพื่อเอาท์พุตพอร์ตหมายเลขสามแฟลชจนกระทั่งหยุดทำงาน ฉันได้สร้างรูปแบบแสงสองสามแบบ โดยพื้นฐานแล้วเพิ่มระดับการควบคุมที่เพิ่มขึ้นโดยการเพิ่มปุ่มกดและโพเทนชิโอมิเตอร์สูงสุดสี่ปุ่ม คุณพบโปรแกรม Python ที่ชื่อว่า "Breathing light fixed lin cosin.py" ซึ่งต้องแก้ไขการตั้งค่าพารามิเตอร์ทั้งสี่ภายในโปรแกรม นอกจากนี้ยังมีเวอร์ชันที่เรียกว่า "Breathing light var lin cosin.py" ซึ่งสามารถปรับความยาวของสองเฟสการหรี่แสงได้โดยใช้โพเทนชิโอมิเตอร์สองตัวและเวอร์ชันที่ละเอียดที่สุด "Breathing light var lin cosin3.py" สำหรับโพเทนชิออมิเตอร์สี่ตัวและเวอร์ชันปุ่มกด. โปรแกรมเขียนด้วย Python 3

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

- ระยะ "หายใจเข้า" โดยที่ไฟ LED ด้านบนจะหรี่ลงต่ำและไฟ LED ด้านล่างจะเพิ่มความเข้ม

- เฟส "กลั้นหายใจ" โดยที่ไฟ LED ด้านบนดับและไฟ LED ด้านล่างตั้งไว้ที่ระดับสูงสุด

- ระยะ "หายใจออก" โดยที่ไฟ LED ล่างจะหรี่ลงต่ำและไฟ LED ด้านบนจะเพิ่มความเข้ม

- ระยะ "หายใจออก" โดยที่ไฟ LED ด้านล่างดับและไฟ LED ด้านบนจะสว่างสูงสุด

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

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

ฉันกำลังเพิ่มฟังก์ชันเสริม (co-) ไซนัสเพื่อเพิ่ม/ลดความสว่าง เนื่องจากทำให้การเชื่อมต่อระหว่างเฟสราบรื่นขึ้น ลองใช้ฟังก์ชั่นอื่นๆ ได้ตามสบาย เช่น. คุณอาจกำจัดการแตกออกและใช้ฟังก์ชันไซนัสที่แตกต่างกัน (ซับซ้อน) สองแบบสำหรับทั้ง LED chains และปรับความถี่และแอมพลิจูดด้วยโพเทนชิโอมิเตอร์

# หลอดไฟ "หายใจ": สองปุ่ม & สองโพเทนชิออมิเตอร์รุ่น

# การปรับเปลี่ยนตัวอย่างหิ่งห้อยสำหรับ Pimoroni Explorer pHAT # ที่นี่: การเพิ่ม/ลดค่ามอเตอร์/PWM ไซนอยด์ # สำหรับฟังก์ชันเชิงเส้นเปิดเสียงฟังก์ชันโคซินเชิงเส้นและปิดเสียง # เวอร์ชัน "var" นี้อ่านอินพุตแบบอะนาล็อก แทนที่การตั้งค่าที่กำหนดไว้ล่วงหน้า # อ่าน อินพุตดิจิตอล, ปุ่มสำหรับเริ่มและหยุด """ เพื่อเริ่มต้นเมื่อเปิด Pi คุณสามารถใช้ Cron: Cron เป็นโปรแกรม Unix ที่ใช้ในการกำหนดเวลางานและมีฟังก์ชัน @reboot ที่สะดวกซึ่งช่วยให้คุณเรียกใช้สคริปต์ เมื่อใดก็ตามที่ Pi ของคุณบูท เปิดเทอร์มินัลแล้วพิมพ์ crontab -e เพื่อแก้ไข crontab ของคุณ เลื่อนไปจนสุดทางด้านล่างของไฟล์ วางบรรทัดทั้งหมดที่ขึ้นต้น # และเพิ่มบรรทัดต่อไปนี้ (สมมติว่ารหัสของคุณอยู่ที่ /home/pi/firefly.py): @reboot sudo python /home/pi/filename.py & Close และบันทึก crontab ของคุณ (หากคุณใช้ nano ให้กด control-x, y และ enter เพื่อออกและบันทึก) """ นำเข้าเวลานำเข้า explorerhat เป็น eh นำเข้าค่าคงที่ทางคณิตศาสตร์ #sinus xmax = 316 step = 5 # step width เช่น 315/5 ให้ 63 ขั้นตอน/รอบ start_button = 0 # สิ่งนี้กำหนดสถานะของปุ่มกดที่เชื่อมต่อกับพอร์ตอินพุต no 1 stop_button = 0 # สิ่งนี้กำหนดสถานะของปุ่มกดที่เชื่อมต่อกับพอร์ตอินพุต no 3 pause_1 = 0.02 # ตั้งค่าความยาว ของการหยุดพักภายในขั้นตอนในระยะ "หายใจเข้า" ดังนั้นอัตราการเพิ่มและระยะเวลาหยุดชั่วคราว_2 = 0.04 # กำหนดอัตราการหายใจออก "หายใจออก" หยุดชั่วคราว_3 = 1.5 # หยุดพักระหว่างระยะหายใจเข้าและหายใจออก (หายใจเข้าต่อเนื่อง) pause_4 = 1.2 # หยุดพักเมื่อสิ้นสุดการหายใจออก เฟส (หายใจออก) max_intens = 0.9 # ความเข้ม/ความสว่างสูงสุด max_intens_100= 100*max_intens # เท่าเดิมใน % # อาจช่วยเพิ่มประสิทธิภาพการแสดงผล "การหายใจ" ของ LED และลดการกะพริบ l_cosin= # รายการที่มีค่าโคไซนัสที่ได้รับ (100 >= x >=0) l_lin= # รายการที่มีค่าเชิงเส้น (100 >= x >=0) # สร้างรายการฟังก์ชันโคไซนัสสำหรับฉันในช่วง (0, 316, 3): # 315 ใกล้เคียงกับ Pi*100, 105 ขั้นตอน # พิมพ์ (i) n_cosin = [(((math.cos (i/100))+)/2)*100] #generate value # print (n_cosin) l_cosin = l_cosin + n_cosin #เพิ่มมูลค่าให้กับรายการ # พิมพ์ (l_cosin) # สร้างรายการเชิงเส้นสำหรับฉันในช่วง (100, -1, -1): # นับถอยหลังจาก 100 เป็นศูนย์ n_lin= l_lin=l_lin + n_lin # print (l_lin) # แสดงรายการที่น่าเบื่อ พิมพ์ () พิมพ์ ("""ในการเริ่มวงจรแสง ให้กดปุ่ม "เริ่ม" (อินพุตหนึ่ง)""") พิมพ์ () พิมพ์ ("""เพื่อหยุด ไฟให้กดปุ่ม "หยุด" ค้างไว้ (อินพุตสาม)""") พิมพ์ () # รอจนกระทั่งกดปุ่มเริ่มในขณะที่ (start_button==0): start_button=eh.input.one.read() # read ปุ่มหมายเลขหนึ่ง eh.output.one.blink() # ไฟ LED กะพริบ 1 ครั้ง สลีป (0.5) # อ่านสองครั้งต่อวินาที #run ไฟในขณะที่ (stop_button==0): # อ่านอินพุตแบบอะนาล็อก ONE และ TWO กำหนดการตั้งค่า set_1 =eh.an alog.one.read() # กำหนด red-> green ramping rate pause_1=set_1*0.02 # ค่าจะอยู่ในช่วงระหว่าง 0 ถึง 0.13 วินาที/ขั้นตอนการพิมพ์ ("set_1:", set_1, " -> หยุด _1:", หยุดชั่วคราว_1) set_2=eh.analog.two.read() # กำหนดสีเขียว -> อัตราการเพิ่มสีแดงหยุดชั่วคราว_2=set_2*0.02 # ค่าจะอยู่ในช่วงระหว่าง 0 ถึง 0.13 วินาที/ขั้นตอนการพิมพ์ ("set_2:", set_2, " -> หยุดชั่วคราว _2: ", pause_2) # "inhalation" เฟส eh.output.one.on() # อาจขับ LED หรือ beeper ''' สำหรับ x ในช่วง (len(l_lin)): fx=max_intens*l_lin [x] # เส้นโค้งเชิงเส้น eh.motor.one.backwards(fx) eh.motor.two.backwards(max_intens_100-fx) time.sleep(pause_1) eh.output.one.off() ''' สำหรับ x ในช่วง (len(l_cosin)): fx=max_intens*l_cosin [x] # เส้นโค้งเชิงเส้น eh.motor.one.backwards(fx) eh.motor.two.backwards(max_intens_100-fx) time.sleep(pause_1) eh.output.one.off() # ตรวจสอบว่ากดปุ่ม Stop หรือไม่ stop_button=eh.input.three.read() # "Keep your breath" หยุดชั่วคราวเมื่อสิ้นสุดระยะการหายใจ eh.output.two.on() # เปิดไฟ LED สองดวง eh.motor.one.ย้อนกลับ(0) eh.motor.two.backwards(max_intens_100) time.sleep(pause_3) eh.output.two.off() #check ว่าปุ่ม Stop ถูกกดหรือไม่ stop_button=eh.input.three.read() # "หายใจออก" เฟส eh.output.three.on() # เปิด LED สาม ''' สำหรับ x ในช่วง (len(l_lin)): fx=max_intens*l_lin [x] # เส้นโค้งเชิงเส้น eh.motor.one.backwards(max_intens_100-fx) eh.motor.two.backwards(fx)) time.sleep(pause_2) ''' สำหรับ x ในช่วง (len(l_cosin)): fx=max_intens*l_cosin [x] # เส้นโค้งเชิงเส้น eh.motor.one.backwards(max_intens_100-fx) eh.motor.two ย้อนกลับ (fx) time.sleep(pause_2) eh.output.three.off() #check ว่าปุ่ม Stop ถูกกดหรือไม่ stop_button=eh.input.three.read() # หยุดชั่วคราวระหว่างเฟส "หายใจออก" และ "หายใจเข้า" ใช่ไหม output.four.on() eh.motor.one.backwards(max_intens_100) eh.motor.two.backwards(0) time.sleep(pause_4) eh.output.four.off() #ตรวจสอบว่าปุ่ม Stop ถูกกด stop_button หรือไม่ =eh.input.three.read() # ปิด, เปิดพอร์ตเอาต์พุตทั้งหมด eh.motor.one.stop() eh.motor.two.stop() eh.output.one.off() eh.output.two.off() eh.output.three.off() eh.output.four.off() พิมพ์ () พิมพ์ ("ลาก่อน")

หากคุณต้องการใช้ไฟเป็นอุปกรณ์แบบสแตนด์อโลนเช่น คุณสามารถเพิ่มแหล่งพลังงานมือถือให้กับ Pi และให้โปรแกรมเริ่มทำงานหลังจากบูทและใช้ "Cron" เพื่อเปิดหรือปิดในเวลาที่กำหนด วิธีใช้ "Cron" ได้อธิบายไว้อย่างละเอียดในที่อื่นๆ

ขั้นตอนที่ 4: ตัวอย่างวิดีโอ

ในขั้นตอนนี้ คุณจะพบวิดีโอจำนวนหนึ่งที่แสดงแสงภายใต้สภาวะปกติ (เช่น ค่าทั้งหมด > 0, #1) และสภาวะสุดขั้ว เนื่องจากค่าทั้งหมดตั้งเป็นศูนย์ (#2) การเพิ่มความเร็วเท่านั้น (#3 ) และไม่มีอาละวาด (#5 );

ขั้นตอนที่ 5: ข้อสังเกตบางประการ

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

แนะนำ: