สารบัญ:
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-23 15:12
ฉันหวังว่าหลาย ๆ คนโดยเฉพาะมือใหม่ที่ต้องการดำดิ่งสู่โลกของ Arduino จะพบว่าสิ่งนี้และบทความ / คำแนะนำอื่น ๆ ของฉัน (ซึ่งฉันจะโพสต์เป็นประจำ) มีประโยชน์
ซึ่งจะไม่เหมือนกับบทเรียน Copy-&Paste ปกติ มันจะมากกว่านั้นมาก
สวัสดี! ฉันเป็นชาวโรมันและเป็นนักพัฒนา PHP ระดับกลาง
สิ่งนี้จะได้รับช่วงก่อนประวัติศาสตร์ ดังนั้นหากคุณต้องการไปยังขั้นตอนถัดไป - เพียงเลื่อนลงไปที่ข้อกำหนด
ฉันเริ่มเขียนโปรแกรมตั้งแต่อายุ 10 ขวบ และมันส่งผลกระทบอย่างมากต่อฉัน เพราะมันน่าสนใจมาก - ฉันไม่อยากเชื่อเลย นอกจากนี้ มีผู้ชายอายุเท่าฉันไม่มากนักที่สามารถแสดงทักษะดังกล่าวที่โรงเรียนได้ แม้กระทั่งก่อนที่เราจะเริ่มเรียนสารสนเทศเป็นรายวิชาและการเขียนโปรแกรมภายในหลักสูตร
ฉันก็เลยอยากช่วยเหลือผู้คน เพื่อทำให้ชีวิตของพวกเขาง่ายขึ้นและจัดหาเครื่องมือบางอย่าง ที่จะช่วยให้พวกเขาขัดกับกิจวัตรประจำวันและแก้ปัญหาบางอย่างได้ และเมื่อ 2 ปีที่แล้วฉันได้ใช้ Arduino เป็นส่วนเสริม
จากนั้นฉันก็ตัดสินใจที่จะขึ้นไปกับหลักสูตรบางอย่างและสร้างสิ่งต่าง ๆ เช่นนี้ ต่อไปจะทำวิดีโอใน Youtube ที่คุณจะสามารถดูวิธีการตั้งค่าและทำสิ่งต่าง ๆ เพื่อให้ได้คู่ที่สมบูรณ์แบบ
แต่ที่นี่ คุณจะได้รับข้อมูลเพิ่มเติมเกี่ยวกับโค้ดที่จำเป็นจากฉัน โครงสร้างโค้ดที่ร้อนแรงและเหมาะสม หลักการของการเขียนโปรแกรมคืออะไร และเหตุใดจึงสำคัญ ทุกสิ่งที่เราทำ - คือวิศวกรรม และไม่มีที่สำหรับผิดพลาด ดังนั้น อ่านให้ชัดเจน และหากคุณมีคำถามบางอย่างเกิดขึ้น - เพียงแค่ใส่ลงในความคิดเห็น
ขั้นตอนที่ 1: ติดตั้งซอฟต์แวร์ที่จำเป็น/รับฮาร์ดแวร์ที่จำเป็น
ในการเริ่มต้นกระบวนการพัฒนา คุณจะต้อง:
ซอฟต์แวร์
- รหัส Visual Studio
- Platform. IO
ฮาร์ดแวร์
- หนึ่งในบอร์ด Arduino (Mega 2560, Nano, Leonardo, ฯลฯ)
- เขียงหั่นขนม
- สายดูปองท์ (ชายกับชาย)
- ตัวต้านทานของชื่อต่างๆ
- ไฟ LED RGB
- จอแสดงผล ฯลฯ
ขั้นตอนที่ 2: หลักการเขียนโปรแกรม
หากคุณต้องการเขียนโค้ดที่มีประสิทธิภาพและเข้าใจได้ คุณต้องเรียนรู้เพิ่มเติมเกี่ยวกับหลักการเขียนโปรแกรม ในตัวอย่างโครงการของเรา เราจะปฏิบัติตามหลักการต่อไปนี้:
- แข็ง
- แห้ง (อย่าทำซ้ำตัวเอง)
- จูบ (ให้มันง่าย)
- YAGNI (คุณไม่จำเป็นต้องใช้มัน)
SOLID คืออะไร?
SOLID สามารถถอดความได้ดังนี้:
- [S] Single Responsibility (แต่ละ class รับผิดชอบคนละประเภท)
- [O] Open-Closed Principle (คลาสหรือออบเจกต์เปิดเพื่อขยาย แต่แก้ไข)
- [L] การทดแทน Liskov (คลาสและวัตถุสามารถถูกแทนที่ด้วยประเภทย่อยโดยไม่มีความเสียหาย)
- [I] การแยกส่วนต่อประสาน (ดีกว่าที่จะมีอินเทอร์เฟซเฉพาะมากขึ้นแทนที่จะมีหนึ่งส่วนต่อประสานสากล)
- [D] การผกผันการพึ่งพา (คลาสควรสร้างจากสิ่งที่เป็นนามธรรม)
DRY คืออะไร?
DRY หมายถึง อย่าทำซ้ำตัวเอง ดังนั้น เมื่อคุณแก้ปัญหาบางอย่าง และคุณเห็นว่า มีวิธีการบางอย่างที่เหมือนกัน - เพียงแค่สร้างคลาสตัวช่วยด้วยวิธีการเหล่านั้น (ถึงแม้จะเรียกแบบสแตติกได้ก็ตาม) เพื่อให้ง่ายที่สุด แต่เรื่องนี้เป็นอีกเรื่องหนึ่ง
KISS คืออะไร?
KISS ยืนหยัดเพื่อ Keep It So Simple หมายความว่า โซลูชันทั้งหมดของคุณควรมีบรรทัดของโค้ดน้อยที่สุดเท่าที่จะเป็นไปได้ แต่ก็ไม่ควรทำให้ทั้งคลาสซับซ้อนเกินไป
YAGNI คืออะไร?
YAGNI ยืนหยัดเพื่อ You Are't Gonna Need It หมายความว่า คุณควรสร้างคลาสและฟังก์ชันการทำงานในลักษณะนี้ ใช้งานทั้งหมดหรือส่วนใหญ่ เพราะถ้าไม่ใช่ - ก็เอาออกอย่างปลอดภัยเพราะคุณไม่ต้องการมัน เรียบง่าย.
พยายามรักษารหัสของคุณให้สะอาดที่สุด
ขั้นตอนที่ 3: โครงการ
ขั้นตอนนี้จะมีและจะดำเนินต่อไป เนื่องจากโครงการที่มีตัวอย่างและไลบรารี คุณจะสามารถแยกและใช้งานได้
นอกจากนี้ ฉันจะพยายามสร้างส่วนขยายสำหรับ VS Code เพื่อให้คุณสามารถดาวน์โหลด libs ที่จำเป็นลงในโครงการของคุณได้
โปรดทราบว่าโครงการที่ไม่มีลิงก์ยังไม่เกิดขึ้นจริงและจะเสร็จสิ้นในอนาคตอันใกล้นี้ ฉันกำลังพยายามทำตามคำแนะนำที่ให้ข้อมูลเท่าที่ฉันสามารถทำได้ และต่อมา - ฉันจะถ่ายวิดีโอและเพิ่มเป็นคำแนะนำเพื่อให้คุณติดตาม
- การควบคุมหลอดไฟ LED อย่างง่าย
- LED's + Potentiometer (การทำแผนที่แบบไดนามิกของค่าโพเทนชิออมิเตอร์กับจำนวน LED)
- Simple Weather station (v1; ความชื้น + อุณหภูมิ)
- สถานีตรวจอากาศขั้นสูงพร้อม LCD 1602 (v2)
- สถานีตรวจอากาศขั้นสูง v2 + การตั้งค่า (v3)
- Advanced Weather Station v3 + IR (Infrared Remote) ควบคุมสำหรับการแสดงผล (v4)
- Advanced Weather Station v4 + แสดงสถานะด้วย LED (v5)
- เครื่องอ่าน RFID อย่างง่าย (v1)
- เครื่องอ่าน RFID ขั้นสูง v1 พร้อมการแสดงข้อมูลบน LCD 1602 และ 0.91' OLED Display (I2C) (v2)
- เครื่องอ่าน RFID ขั้นสูง v2 พร้อมการควบคุมรีเลย์ (v3)
- สถานีซิมเดียวแบบง่าย (v1)
- สถานีซิมเดียวขั้นสูงพร้อมจอแสดงผล OLED 0.91 ' (v2)
- สถานี Dual-SIM ขั้นสูงพร้อมจอแสดงผล OLED 0.91 ' (v1)
- สถานี Dual-SIM ขั้นสูง v1 พร้อมการส่ง SMS
- เครื่องหยอดเหรียญ
- การควบคุม RGB Strip WS8212b อย่างง่าย (v1)
- RGB Strip ขั้นสูง WS8212b Control v1 พร้อมสี + การควบคุมความสว่าง (โพเทนชิออมิเตอร์ + ปุ่ม) (v2)
-
RGB Strip ขั้นสูง WS8212b Control v1 พร้อม IRVending Machine
โครงการและห้องสมุดทั้งหมดจะพร้อมใช้งานบน GitHub
ขั้นตอนที่ 4: โครงการที่กำลังจะมีการเผยแพร่
7-8 มีนาคม’20- การควบคุมหลอดไฟ LED อย่างง่าย- LED + โพเทนชิออมิเตอร์ (การทำแผนที่แบบไดนามิกของค่าโพเทนชิออมิเตอร์กับจำนวน LED)
แนะนำ:
เคล็ดลับ IPad Stylus - (วิธีเปิดชิ้นส่วนขนาดเล็กบนเครื่องกลึงเจ็ท) ฉันทำสิ่งนี้ที่ร้าน Tech!: 7 ขั้นตอน
IPad Stylus Tip - (วิธีการเปิดชิ้นส่วนขนาดเล็กบนเครื่องกลึงเจ็ท) ฉันทำสิ่งนี้ที่ Tech Shop!: ทำหัวทองเหลืองนี้สำหรับจับปลายปากกายางสไตลัส! นี่เป็นส่วนที่ยากที่สุดในการสร้างสไตลัสของคุณเอง! ฉันต้องการปลายทองเหลืองเพื่อยึดปลายปากกายางสำหรับสไตลัสที่ไวต่อแรงกดที่ฉันกำลังพัฒนา คำแนะนำนี้จะแสดงให้คุณเห็น
โปรเจ็กต์ Wearable Tech Final Project - หมวกกันน็อค DJ: 6 ขั้นตอน
โปรเจ็กต์ Wearable Tech Final - หมวกกันน็อค DJ: เป้าหมายของโปรเจ็กต์นี้คือการสร้างหมวกกันน็อค DJ พร้อมไฟ LED ที่ตอบสนองต่อเสียงเพลงเพื่อการแสดงและปัจจัยว้าว เรากำลังใช้แถบ LED ที่สามารถระบุตำแหน่งได้จาก Amazon.com เช่นเดียวกับหมวกกันน็อคมอเตอร์ไซค์ Arduino uno และ wire
วิธีง่ายๆ ในการใช้ Makey Makey ด้วย Tech Deck: 5 ขั้นตอน
วิธีง่ายๆ ในการใช้ Makey Makey ด้วย Tech Deck: สวัสดี เมื่อเร็ว ๆ นี้ฉันได้เห็นโปรแกรม Makey Makey เทคเด็คในการประกวดนี้ซึ่งเจ๋งมาก แต่ดูเหมือนยาก ดังนั้นฉันจึงสร้างวิธีง่ายๆ ในการเล่นเกมด้วยเด็คเทคโนโลยี หากคุณชอบคำแนะนำของฉันโปรดลงคะแนนให้ในการแข่งขัน makey makey
Pool Pi Guy - ระบบเตือนภัยที่ขับเคลื่อนด้วย AI และการตรวจสอบสระว่ายน้ำโดยใช้ Raspberry Pi: 12 ขั้นตอน (พร้อมรูปภาพ)
Pool Pi Guy - ระบบเตือนภัยที่ขับเคลื่อนด้วย AI และการตรวจสอบสระว่ายน้ำโดยใช้ Raspberry Pi: การมีสระว่ายน้ำที่บ้านเป็นเรื่องสนุก แต่มาพร้อมกับความรับผิดชอบที่ดี ความกังวลที่ใหญ่ที่สุดของฉันคือการเฝ้าติดตามว่ามีใครอยู่ใกล้สระว่ายน้ำโดยไม่มีใครดูแล (โดยเฉพาะเด็กที่อายุน้อยกว่า) ความรำคาญที่ใหญ่ที่สุดของฉันคือการทำให้แน่ใจว่าสายน้ำในสระไม่เคยลงไปต่ำกว่าทางเข้าปั๊ม
Supercapacitor เครื่องไร้ประโยชน์หรือกล่องโต้ตอบกับ Smart Guy: 7 ขั้นตอน (พร้อมรูปภาพ)
Supercapacitor เครื่องไร้ประโยชน์หรือโต้ตอบกับ Smart Guy: Smart Guy อะไร?! เครื่องเปล่า! อีกครั้ง! หลายร้อยหลายพันช่อง YouTube อุดตันไม่เพียงพอ?Jumbleview ส่วนใหญ่ทำด้วยสวิตช์สลับ อันนี้มี rocker.SG แล้วไง? ทุกคนรู้ว่าพวกเขาทำงานเหมือนกัน แล้วคุณล่ะ