สารบัญ:

Arduino 101: หลักสูตรจาก Tech Guy: 4 ขั้นตอน
Arduino 101: หลักสูตรจาก Tech Guy: 4 ขั้นตอน

วีดีโอ: Arduino 101: หลักสูตรจาก Tech Guy: 4 ขั้นตอน

วีดีโอ: Arduino 101: หลักสูตรจาก Tech Guy: 4 ขั้นตอน
วีดีโอ: ARDUINO101 การติดตั้งโปรแกรม (2/14) 2024, กรกฎาคม
Anonim
Arduino 101: หลักสูตรจาก Tech Guy
Arduino 101: หลักสูตรจาก Tech Guy

ฉันหวังว่าหลาย ๆ คนโดยเฉพาะมือใหม่ที่ต้องการดำดิ่งสู่โลกของ 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)

แนะนำ: