การเขียนโปรแกรม ไม่จำกัดเฉพาะการสร้างโปรแกรมคอมพิวเตอร์หรือหน้าเว็บ การเขียนโปรแกรมไมโครคอนโทรลเลอร์ก็เป็นลำดับของวันเช่นกัน ไม่ว่าจะเป็นกับไมโครคอนโทรลเลอร์อย่าง ESP8266 กับอุปกรณ์อย่าง ราสเบอร์รี่ Piหรือเช่นเดียวกับ Arduino ที่มีชื่อเสียงระดับโลก ใครๆ ก็ตามในบ้านสามารถสร้างโปรเจ็กต์อิเล็กทรอนิกส์ของตนเองได้ ไม่ว่าจะเป็นงานอดิเรก หรือใช้ในชีวิตประจำวันและทำให้กิจวัตรบางอย่างง่ายขึ้น และฉันต้องมีความรู้ด้านการเขียนโปรแกรมขั้นสูงหรือไม่? ดีที่สุดคือไม่มี
Arduino คืออะไร?
ในอีกด้านหนึ่ง Arduino เป็นบริษัทที่เชี่ยวชาญด้านการพัฒนาฮาร์ดแวร์และซอฟต์แวร์ฟรีที่มีชื่อ แต่เมื่อเราพูดถึงมัน เรามักจะอ้างถึง โต๊ะ ที่เราสามารถซื้อได้ ประกอบด้วยไมโครคอนโทรลเลอร์ (โดยทั่วไปคือ Atmel AVR 8 บิต) หน่วยความจำ และระบบจัดเก็บข้อมูลสำหรับดำเนินโครงการใดๆ บอร์ดมักจะมีชุดพินหรือคอนเน็กเตอร์ซึ่งเราสามารถเชื่อมต่อกับวงจรอิเล็กทรอนิกส์ที่ซับซ้อนกว่าอื่น ๆ เพื่อควบคุมได้
บอร์ดทั่วไปที่เราหาได้ในตลาด และที่ทุกคนสามารถซื้อเพื่อเริ่มเขียนโปรแกรมได้ ได้แก่:
- กาลิเลโอ
- Arduino หนึ่ง
- เลียวนาร์ด
- ครบกำหนด
- และ a
- สาม
- Arduino Zero
- Arduinoไมโคร
- เอสพลอร่า
- เมกะ ADK
- อีเธอร์เน็ต
- Mega 2560
- หุ่นยนต์
- อาร์ดูโนมินิ
- Arduinoนาโน
- LilyPad Arduino แบบธรรมดา/แบบ SimpleSnap
- LilyPad Arduino / Arduino USB
- Arduino โปร / โปรมินิ
- วางใจ
- เอ็มเคอาร์1000
- Arduino ไมโคร
- Arduino 101
- อัญมณี
นอกจากนี้ยังมีอุปกรณ์เสริมต่างๆ (โล่) ที่เราสามารถเชื่อมต่อกับบอร์ดเหล่านี้เพื่อให้มีคุณสมบัติและการเชื่อมต่อที่มากขึ้น ที่พบบ่อยที่สุดคือ:
- จีเอสเอ็มชิลด์
- อีเธอร์เน็ตชิลด์
- โล่ Wi-Fi
- การ์ด SD ไร้สาย
- โล่โฮสต์ USB
- โล่เครื่องยนต์
- โปรโตชิลด์ไร้สาย
- โปรโตชิลด์
นอกจากนี้เรายังสามารถหาชุดอุปกรณ์ต่างๆ ที่มาพร้อมกับบอร์ดไมโครคอนโทรลเลอร์และอุปกรณ์เสริมต่างๆ ซื้ออุปกรณ์เสริม เช่น หน้าจอ LCD หรืออะแดปเตอร์ USB และแม้แต่เครื่องพิมพ์ 3D ที่ควบคุมโดยอุปกรณ์นี้ทั้งหมด
จะเขียนโปรแกรมใน Arduino ได้อย่างไร?
บอร์ดเหล่านี้ใช้ไมโครคอนโทรลเลอร์ประเภท ATMEL ซึ่งก็คือคอนโทรลเลอร์ที่เราสามารถบันทึกคำสั่งเพื่อให้ทำงานได้โดยไม่ต้องป้อนคำสั่งด้วยมือซ้ำแล้วซ้ำอีก ในการเขียนคำแนะนำเหล่านี้ จำเป็นต้องใช้ซอฟต์แวร์ที่เรียกว่า Arduino IDE , Integrated Development Environment อย่างเป็นทางการที่มีทุกอย่างที่จำเป็นเพื่อให้สามารถกำหนดรูปแบบโปรแกรมที่เราสร้างขึ้นสำหรับอุปกรณ์นี้
แม้ว่า Arduino ใช้ภาษาการเขียนโปรแกรมของตัวเอง , มันคือ ตามภาษา C++ . ดังนั้นจึงแบ่งปันข้อดีหลักของภาษาการเขียนโปรแกรมนี้ นอกจากนี้ ใน IDE เวอร์ชันใหม่กว่า คุณยังสามารถส่งคำแนะนำถึงคุณโดยตรงด้วยภาษา C++ โดยไม่ต้องแปลเป็นภาษาของคุณเองเพื่อตั้งโปรแกรมบอร์ดนี้
นอกจากการใช้ C++ แล้ว Arduino IDE ยังรองรับภาษาการเขียนโปรแกรมทางเลือกอื่นๆ เช่น C (ไม่มีส่วนขยาย C++) การเดินสายไฟ (แพลตฟอร์มการสร้างต้นแบบอิเล็กทรอนิกส์ที่ประกอบด้วยภาษาการเขียนโปรแกรม สภาพแวดล้อมการพัฒนาแบบบูรณาการ (IDE) และไมโครคอนโทรลเลอร์) รวมทั้งใน กระบวนการผลิต (ภาษาการเขียนโปรแกรมที่ใช้ Java แต่เน้นที่บอร์ดอิเล็กทรอนิกส์)
อันไหนดีที่สุด? ในท้ายที่สุดก็จะขึ้นอยู่กับผู้ใช้ที่เป็นปัญหา หากเราเชี่ยวชาญภาษาใดภาษาหนึ่งก่อนหน้านี้ สิ่งที่สะดวกและรวดเร็วที่สุดคือการใช้ภาษานั้นเพื่อส่งคำแนะนำไปยังกระดานของเรา หากเราไม่เชี่ยวชาญสิ่งเหล่านี้ และเราต้องการเริ่มต้นจากศูนย์ วิธีที่ดีที่สุดคือการเรียนรู้ภาษา Arduino IDE ด้วยตัวมันเอง
IDE 2.0 (อาร์ดูอิโนโปร)
ในปี 2019 Arduino ได้เปิดตัว IDE การเขียนโปรแกรมใหม่ภายใต้ชื่อ “Arduino Pro IDE” ซึ่งถูกเปลี่ยนชื่อในปี 2021 เป็น ” ไอดี 2.0 “. สภาพแวดล้อมการพัฒนาใหม่นี้ยังคงใช้ Arduino CLI แบบคลาสสิกต่อไป แต่มีการปรับปรุงและความแปลกใหม่มากมายทุกประเภทเพื่ออำนวยความสะดวกในการพัฒนาอย่างมืออาชีพของโครงการทุกประเภท IDE ใหม่นี้ใช้ Eclipse Theia และมีคุณสมบัติต่างๆ เช่น:
- มีความสมบูรณ์และทันสมัยมากขึ้น
- โหมดการทำงานสามโหมด: โหมดคู่ โหมดคลาสสิก (เหมือนกับ Arduino IDE แบบคลาสสิก) และโหมดมืออาชีพ (มุมมองระบบไฟล์)
- ผจก.คนใหม่
- ตัวจัดการห้องสมุดใหม่
- สำหรับบอร์ด ARM ให้เติมข้อความอัตโนมัติจาก Basic
- บูรณาการกับ GIT
- โหมดมืด
IDE นี้สามารถดาวน์โหลดได้จากเว็บไซต์ดาวน์โหลด Arduino และแน่นอนว่ามันฟรีและโอเพ่นซอร์สอย่างสมบูรณ์
ขั้นตอนแรกในการเขียนโปรแกรม
การเขียนโปรแกรมสำหรับ Arduino ไม่ได้แตกต่างไปจากการทำกับไมโครคอนโทรลเลอร์ตัวอื่นมากนัก และแม้แต่กับการเขียนโปรแกรมในภาษาใดๆ เราเพียงแค่ต้องคำนึงถึงลักษณะพิเศษของ IDE และภาษาที่เราจะใช้
พูดกว้าง ๆ วากยสัมพันธ์ คล้ายกันมาก ดังที่เราได้อธิบายไปแล้ว กับ C++ หากเรารู้ภาษาการเขียนโปรแกรมนี้อยู่แล้ว เราจะคุ้นเคยกับการเปลี่ยนแปลงที่เราจะพบว่าสร้างระบบนี้อย่างรวดเร็ว ขณะที่เราตั้งโปรแกรมใน IDE เราสามารถเพิ่มความคิดเห็นที่จะช่วยให้เราเข้าใจโค้ดได้ดีขึ้น และนอกจากนี้ยังช่วยให้ผู้อื่นเข้าใจโค้ดในกรณีที่เราแชร์โค้ด เช่นเดียวกับภาษาอื่น ๆ แต่ละคำสั่งต้องลงท้ายด้วยเครื่องหมายจุลภาค (,) หรืออัฒภาค (;) มิฉะนั้น คอมไพเลอร์จะถือว่าทุกอย่างเป็นคำสั่งเดียว และคอมไพเลอร์จะส่งคืนข้อผิดพลาด
ภายในไวยากรณ์เราจะพบองค์ประกอบที่สำคัญอีกอย่างหนึ่ง: the ตัวแปร สิ่งเหล่านี้จะถูกใช้เพื่อบันทึกข้อมูลต่าง ๆ ในหน่วยความจำ เข้าถึงเมื่อเราต้องการ และเราสามารถแก้ไขได้ตามความต้องการของโปรแกรม
และเราต้องคำนึงถึง .ด้วย ฟังก์ชั่นหรือวิธีการ . โดยเฉพาะสิ่งที่เกี่ยวข้องกับการสื่อสารด้วยหมุด ตัวอย่างเช่น หนึ่งในพื้นฐานที่สุดคือ ” digitalWrite () “ ซึ่งช่วยให้เราเปิดใช้งานหรือปิดใช้งานกระแสบนพินเฉพาะผ่านพารามิเตอร์ได้
ฟังก์ชันสำคัญอื่นๆ สำหรับการเขียนโปรแกรมคือ ติดตั้ง() , ฟังก์ชั่นที่จะดำเนินการก่อนทันทีที่โหลดบอร์ดและจะช่วยให้เราสามารถเตรียมอุปกรณ์สำหรับโปรแกรมที่เราจะดำเนินการและ วน () ฟังก์ชัน ฟังก์ชันที่จะดำเนินการซ้ำแล้วซ้ำอีกเพื่ออัปเดต เช่น ข้อมูลที่แสดงบนหน้าจอ ขอแนะนำให้ระวังอย่างหลังเนื่องจากอุปกรณ์จะถูกล็อคอยู่ข้างในและเราสามารถนำไปสู่ลูปที่ไม่มีที่สิ้นสุด
เมื่อเราสร้างโปรแกรมขึ้นมาแล้ว ต้องขอบคุณ Arduino IDE ที่เราสามารถทำได้ รวบรวม มันหรืออะไรที่เหมือนกันแปลเป็นภาษาเครื่อง (ภาษาระดับต่ำมาก) เพื่อให้สามารถดำเนินการบนไมโครคอนโทรลเลอร์ได้
เรียนรู้การเขียนโปรแกรมด้วย Arduino
ภายในการเขียนโปรแกรมไมโครคอนโทรลเลอร์ Arduino เป็นหนึ่งในแพลตฟอร์มที่เข้าถึงได้ง่ายและหลากหลายที่สุดในการเริ่มต้น นอกจากนี้ เครือข่ายยังเต็มไปด้วยหลักสูตรคุณภาพสูงจำนวนมาก ซึ่งถึงแม้เราจะไม่มีความรู้ด้านการเขียนโปรแกรมมากนัก เราก็จะสามารถเริ่มสร้างโครงการของเราเองได้อย่างรวดเร็วและง่ายดาย
หลักสูตรแรกที่เราแนะนำให้เริ่มคือ ” หลักสูตร Arduino ตั้งแต่เริ่มต้น “ ซึ่งเราสามารถหาได้บน YouTube. ตลอดทั้ง 74 บท โดยแต่ละบทมีความยาวระหว่าง 15 ถึง 20 นาที เราสามารถเรียนรู้ตั้งแต่พื้นฐานจนถึงขั้นสูงสุด
อีกหลักสูตรสำหรับคนเร่งรีบที่เราควรทบทวนคือ ” 10 ขั้นตอนแรกในการเขียนโปรแกรม Arduino ตั้งแต่เริ่มต้น “หลักสูตรเร่งรัดที่รวดเร็วและเข้มข้น ซึ่งในเวลาเพียง 1 ชั่วโมง เราก็จะได้เรียนรู้ว่า Arduino คืออะไรถึงวิธีการทำงาน ฟังก์ชันหลัก ตัวแปร ลูป และแม้กระทั่งการใช้ไลบรารี
สุดท้ายนี้ถ้าเราไม่เกรงกลัวภาษาอังกฤษ อีกคอร์สหนึ่งที่เราสามารถใช้เรียนเขียนโปรแกรมเครื่องนี้ก็คือ Arduino 101 – เรียนรู้ Arduino สำหรับผู้เริ่มต้น . ในทำนองเดียวกันกับก่อนหน้านี้ เราจะเริ่มต้นด้วยพื้นฐานจนกว่าเราจะเข้าใจอย่างถี่ถ้วนว่าอุปกรณ์นี้ทำงานอย่างไร และเรียนรู้วิธีสร้างโปรแกรมที่ซับซ้อนด้วย
แน่นอนว่าเรายังมีข้อมูลและทรัพยากรมากมาย ภายในเว็บไซต์ Arduino เอง . หากคุณเป็นคนหนึ่งที่ชอบค้นคว้าและอ่านเอกสารมากกว่าการดูวิดีโอบน YouTube นี่เป็นแหล่งที่ดีที่สุดที่คุณจะได้เรียนรู้วิธีเขียนโปรแกรม
โครงการ Arduino
เมื่อเราเริ่มให้อุปกรณ์นี้กับอุปกรณ์เครื่องแรก สิ่งแรกที่เราจะทำคือสร้างสิ่งทั่วไปที่เกี่ยวข้องกับ IDE เมธอดและคอมไพเลอร์ ตัวอย่างเช่น เราสามารถสร้างตัวนับอย่างง่าย สัญญาณไฟจราจรโดยใช้ LED และในกรณีขั้นสูงสุด แม้แต่นาฬิกาไบนารี
เมื่อเข้าใจส่วนพื้นฐานของบอร์ดแล้ว เราก็สามารถไปยังโครงการที่จริงจังมากขึ้นได้โดยใช้ส่วนประกอบเพิ่มเติมอื่นๆ ตัวอย่างเช่น ถ้าเราเชื่อมต่อหน้าจอ LCD กับ Arduino เราสามารถสร้างนาฬิกาดิจิตอลของเราเองได้
ในที่สุด เมื่อเราเชี่ยวชาญอุปกรณ์นี้แล้ว เราจะสามารถสร้างโครงการได้ทุกประเภท ตั้งแต่ขั้นพื้นฐานและเรียบง่ายไปจนถึงโครงการที่น่าสนใจที่สุด เช่น ตู้จำหน่ายสินค้าอัตโนมัติ หรือแม้แต่หุ่นยนต์ BB8 ที่ควบคุมจากมือถือของเรา
ความเป็นไปได้ไม่มีที่สิ้นสุด ต้องขอบคุณ Arduino เราจะทำให้บ้านของเราเป็นระบบอัตโนมัติได้ด้วยวิธีที่เรียบง่ายและราคาถูก หรือทำงานหรือโครงการใดๆ ที่เครื่องจักรต้องดำเนินการ ขีดจำกัดถูกกำหนดโดยจินตนาการของคุณ