สารบัญ:

Arduino Basic Tutorial สำหรับผู้เริ่มต้น: 6 ขั้นตอน
Arduino Basic Tutorial สำหรับผู้เริ่มต้น: 6 ขั้นตอน

วีดีโอ: Arduino Basic Tutorial สำหรับผู้เริ่มต้น: 6 ขั้นตอน

วีดีโอ: Arduino Basic Tutorial สำหรับผู้เริ่มต้น: 6 ขั้นตอน
วีดีโอ: Basic Arduino ep1 อธิบายการเขียนโปรแกรม Arduino แบบพื้นฐาน 2024, พฤศจิกายน
Anonim
Arduino Basic Tutorial สำหรับผู้เริ่มต้น
Arduino Basic Tutorial สำหรับผู้เริ่มต้น
Arduino Basic Tutorial สำหรับผู้เริ่มต้น
Arduino Basic Tutorial สำหรับผู้เริ่มต้น

1. Arduino คืออะไร?

Arduino เป็นแพลตฟอร์มสำหรับระบบฝังตัว ซึ่งส่วนใหญ่ใช้ไมโครคอนโทรลเลอร์ 8 บิตจากตระกูล AVR ข้อยกเว้นคือ Arduino Due ซึ่งใช้แกน ARM Cortex แบบ 32 บิต กล่าวคือ เป็นแผงวงจรพิมพ์ที่มีไมโครคอนโทรลเลอร์และเอาท์พุตที่สามารถใช้งานอุปกรณ์ภายนอกได้ เช่น เซ็นเซอร์ ตัวควบคุมมอเตอร์ จอภาพ ฯลฯ ด้วยขั้วต่อแบบหมุดทอง ทำให้โมดูลต่างๆ สามารถเชื่อมต่อได้โดยใช้สายเชื่อมต่อที่เปิดเผยต่อสาธารณะ

Arduino เวอร์ชันส่วนใหญ่ไม่ต้องการโปรแกรมเมอร์ภายนอกใดๆ สิ่งที่คุณต้องทำคือเชื่อมต่อกับคอมพิวเตอร์ด้วยสาย miniUSB-USB

ข้อดีอย่างหนึ่งของแพลตฟอร์มนี้คือสภาพแวดล้อมอิสระที่มีไลบรารี ตัวอย่าง แบบฝึกหัดสำหรับการจัดการอุปกรณ์ภายนอกประเภทต่างๆ มากมาย

2. เวทีนี้เหมาะกับใคร?

Arduino มีไว้สำหรับทั้งผู้เริ่มต้นและโปรแกรมเมอร์อิเล็กทรอนิกส์ขั้นสูง

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

ผู้ใช้ขั้นสูงจะชอบไลบรารีจำนวนมาก ทั้งไลบรารีเริ่มต้น (รวมถึง: EEPROM, Ethernet, Display, Servo, SPI, TWI, WiFi) รวมถึงไฟล์ที่ผู้ผลิตโมดูลอิเล็กทรอนิกส์ให้บริการ (เช่น ซัพพลายเออร์ของเรา - Pololu)

ตัวอย่าง:

การรองรับจอ LCD ขนาด 16x2 ยอดนิยมทำให้โค้ดง่ายๆ ไม่กี่บรรทัด:

LiquidCrystal LCD (12, 11, 5, 4, 3, 2); // การเพิ่มโอกาสในการขาย

lcd.begin (16, 2); // ระบุประเภทการแสดงผลแบบ 16 คอลัมน์ 2 บรรทัด

lcd.print ("สวัสดีชาวโลก"); // ระบุข้อความที่จะแสดง

สามารถอ่านโค้ดแบบเต็มที่แสดงคำว่า "Hello World" และแผนภาพการเชื่อมต่อของจอแสดงผลได้ที่ Arduino.cc

3. เลือกรุ่นไหนดี?

ทางเลือกของรุ่นขึ้นอยู่กับวัตถุประสงค์การใช้งานของโมดูล ในร้านของเรามี:

ขั้นตอนที่ 1: Arduino Uno R3

Arduino Uno R3
Arduino Uno R3

Arduino Uno R3

โมดูลรุ่นที่ง่ายที่สุด บนจานคุณจะพบ:

· ไมโครคอนโทรลเลอร์ Atmega328 (แฟลช 32kB, SRAM 2kB, ความเร็วสัญญาณนาฬิกา 16MHz)

· 14 อินพุต / เอาท์พุตดิจิตอล - ซึ่งสามารถเชื่อมต่อได้เช่น LED, ปุ่ม, จอแสดงผล ฯลฯ

· เอาต์พุต PWM 6 ช่อง - ตัวอย่างเช่น สำหรับควบคุมความเร็วในการหมุนของมอเตอร์ การตั้งค่าตำแหน่งเซอร์โว

· 6 อินพุตแบบอะนาล็อก - ช่วยให้ใช้งานเซ็นเซอร์ทุกชนิด ทรานสดิวเซอร์ที่มีเอาต์พุตแบบอะนาล็อก

อินเทอร์เฟซการสื่อสาร:

· UART - หนึ่งในวิธีที่ง่ายที่สุดในการแลกเปลี่ยนข้อมูลกับพีซี

· I2C / TWI - รองรับเซ็นเซอร์, วงจรเวลา

· SPI - การสื่อสารกับทรานสดิวเซอร์หรือหน่วยความจำภายนอกที่รวดเร็ว

แหล่งจ่ายไฟ:

· USB หรือแหล่งภายนอก (เช่นอะแดปเตอร์ AC)

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

ขั้นตอนที่ 2: Arduino Leonardo

Arduino Leonardo
Arduino Leonardo

Arduino Leonardo

· เวอร์ชันอื่นที่เราสามารถพบ:

· ไมโครคอนโทรลเลอร์ ATmega32u4 (แฟลช 32kB, SRAM 2.5kB, ความเร็วสัญญาณนาฬิกา 16MHz)

· 20 อินพุต / เอาท์พุตดิจิตอล - ซึ่งสามารถเชื่อมต่อได้เช่น LED, ปุ่ม, จอแสดงผล ฯลฯ

· 7 เอาต์พุต PWM

· อินพุตแบบอะนาล็อก 12 ช่อง - มากกว่ารุ่น Uno ถึงสองเท่า หมายความว่าสามารถเชื่อมต่อเซ็นเซอร์จำนวนมากขึ้นด้วยเอาต์พุตแบบอะนาล็อก

อินเทอร์เฟซการสื่อสาร:

· UART - หนึ่งในวิธีที่ง่ายที่สุดในการแลกเปลี่ยนข้อมูลกับพีซี

· I2C / TWI - รองรับเซ็นเซอร์, วงจรเวลา

· SPI - การสื่อสารกับทรานสดิวเซอร์หรือหน่วยความจำภายนอกที่รวดเร็ว

· USB - ให้คุณเชื่อมต่ออุปกรณ์คอมพิวเตอร์ยอดนิยม

· แหล่งจ่ายไฟ: USB หรือแหล่งภายนอก (เช่น อะแดปเตอร์ AC)

หากโครงการของเราคือการใช้อุปกรณ์ที่เชื่อมต่อผ่านอินเทอร์เฟซ USB Arduino Leonardo จะเป็นตัวเลือกที่สมบูรณ์แบบ ระบบมีตัวควบคุม USB ในตัว ซึ่งแตกต่างจากตัวอื่นๆ

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

ขั้นตอนที่ 3: Arduino Mega 2560

Arduino Mega 2560
Arduino Mega 2560

Arduino Mega 2560

เวอร์ชันที่ออกแบบมาเพื่อใช้งานโครงการที่กว้างขวางยิ่งขึ้น มีอินพุต / เอาท์พุตดิจิตอลมากถึง 54 รายการ หน่วยความจำและอินเทอร์เฟซการสื่อสารมากกว่า Arduino UNO และ Leonardo แผ่นประกอบด้วย: ATmega2560 จากตระกูล AVR (แฟลช 256kB, SRAM 8kB, EEPROM 4kb ความเร็วสัญญาณนาฬิกา 16MHz)54 อินพุต / เอาต์พุตดิจิตอลเอนกประสงค์14 เอาต์พุต PWM16 อินพุตอะนาล็อก -อินเทอร์เฟซการสื่อสาร:4 xUART - หนึ่งในวิธีที่ง่ายที่สุดในการแลกเปลี่ยนข้อมูลกับ PCI2C / TWI - รองรับเซ็นเซอร์, วงจรเวลาSPI - การสื่อสารกับทรานสดิวเซอร์ที่รวดเร็วหรือหน่วยความจำภายนอก แหล่งจ่ายไฟ: USB หรือแหล่งภายนอก (เช่นอะแดปเตอร์ AC) โมดูลมีราคาแพงกว่ารุ่นก่อนหน้า แต่มีตัวเลือกมากกว่า ไมโครคอนโทรลเลอร์ Atmega2560 มีขอบที่สมบูรณ์และหน่วยความจำจำนวนมาก 256kB Flash - ให้คุณรองรับโค้ดเสริม 4kB EEPROMU สำหรับการเขียนข้อมูลจำนวนมาก

ขั้นตอนที่ 4: Arduino Mega ADK

Arduino Mega ADK

นอกจากข้อดีของ Arduino Mega แล้ว ADK ยังมีความสามารถในการเชื่อมต่อกับระบบ Android ผ่านอินเทอร์เฟซ USB ที่ควบคุมโดยชิป MAX34210 ข้อกำหนดโมดูลคล้ายกับ Arduino Mega:

· ATmega2560 จากตระกูล AVR (Flash 256kB, SRAM 8kB, EEPROM 4kb clock speed 16MHz)

· 54 อินพุต / เอาท์พุตดิจิตอลเอนกประสงค์

· 14 เอาต์พุต PWM

· 16 อินพุตแบบอะนาล็อก

อินเทอร์เฟซการสื่อสาร:

· 4 xUART - หนึ่งในวิธีที่ง่ายที่สุดในการแลกเปลี่ยนข้อมูลกับพีซี

· I2C / TWI - รองรับเซ็นเซอร์, วงจรเวลา

· SPI - การสื่อสารกับทรานสดิวเซอร์หรือหน่วยความจำภายนอกที่รวดเร็ว

· แหล่งจ่ายไฟ: USB หรือแหล่งภายนอก (เช่น อะแดปเตอร์ AC)

เวอร์ชัน ADK ออกแบบมาสำหรับโครงการที่ใช้การสื่อสารกับ Android ตัวควบคุม USB ในตัวยังช่วยให้คุณเชื่อมต่อกล้อง ตัวควบคุมเกม หรือตัวควบคุมการเคลื่อนไหว

ขั้นตอนที่ 5: Arduino Leonardo Ethernet

Arduino Leonardo Ethernet

ข้อได้เปรียบหลักของโมดูลคือการเชื่อมต่อกับเครือข่ายได้ง่าย โมดูลนี้มีซ็อกเก็ตเครือข่ายพร้อมตัวควบคุมอีเทอร์เน็ต นอกจากนี้ยังมีช่องเสียบการ์ดหน่วยความจำ microSD บนบอร์ด ข้อมูลจำเพาะคล้ายกับ Arduino Leonardo:

· ไมโครคอนโทรลเลอร์ Atmega32u4 (แฟลช 32kB, SRAM 2.5kB, · ความเร็วสัญญาณนาฬิกา 16MHz)

· 20 อินพุต / เอาต์พุตดิจิตอล - ซึ่งสามารถเชื่อมต่อได้เช่น LED, ปุ่ม, จอแสดงผล ฯลฯ

· เอาต์พุต PWM 7 ช่อง - ตัวอย่างเช่น สำหรับควบคุมความเร็วในการหมุนของมอเตอร์ การตั้งค่าตำแหน่งเซอร์โว

· 12 อินพุตแบบอะนาล็อก - อนุญาตให้ใช้งานเซ็นเซอร์ทุกประเภท ทรานสดิวเซอร์ที่มีเอาต์พุตแบบอะนาล็อก

อินเทอร์เฟซการสื่อสาร:

· UART - หนึ่งในวิธีที่ง่ายที่สุดในการแลกเปลี่ยนข้อมูลกับพีซี

· I2C / TWI - รองรับเซ็นเซอร์, วงจรเวลา

· SPI - การสื่อสารกับทรานสดิวเซอร์หรือหน่วยความจำภายนอกที่รวดเร็ว

· พลังงาน: แหล่งภายนอก (เช่น อะแดปเตอร์ AC)

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

ขั้นตอนที่ 6: Arduino Due

Arduino Due
Arduino Due

Arduino Due

ด้วย Arduino Due ผู้ใช้สามารถสร้างระบบโดยใช้ไมโครคอนโทรลเลอร์ ARM 32 บิต Cortex M3 บนพื้นฐานของไลบรารี Arduino ข้อกำหนดมีดังนี้:

· แรงดันไฟฟ้า: 7V ถึง 12V (แนะนำ), 6V-20V (สูงสุด)

· Mikrokontroler: AT91 SAM3X8E, rdzeń 32 บิต ARM Cortex M3

· ความถี่สัญญาณนาฬิกาสูงสุด: 84MHz

· หน่วยความจำ SRAM: 96 kB หน่วยความจำแฟลช: 512 kB

· พิน I / O: 54

· ช่องสัญญาณ PWM: 12

· จำนวนอินพุตแบบอะนาล็อก: 12 (ช่องแปลง A / D)

· ตัวแปลง D / A (ดิจิตอล-อนาล็อก)

·ตัวควบคุม DMA

· อินเทอร์เฟซแบบอนุกรม: UART, SPI, I2C, CAN, USB

· ดีบักเกอร์ JTAG

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

นอกเหนือจากข้างต้น Arduino ยังมี:

Arduino Zero M0 Pro - Cortex M0 32 บิต - Atmel ATSAMD21G18 โมดูลไมโครคอนโทรลเลอร์ 32 บิตที่ติดตั้งแกน ARM Cortex M-0 มีหน่วยความจำแฟลช 256 KB, RAM 32 KB, I / Os ดิจิตอล 14 ช่อง, ช่อง PWM 12 ช่อง, อินพุตแบบอะนาล็อก 6 ช่องและเอาต์พุตหนึ่งช่อง และอินเทอร์เฟซการสื่อสารยอดนิยม โมดูลทำงานร่วมกับ 3.3 V.

Arduino Yún - WiFi - การเชื่อมต่อ Arduino และระบบ Linux โมดูลที่ใช้ระบบ ATmega32u4 ที่ใช้ใน Leonardo ช่วยให้คุณสามารถตั้งโปรแกรมและควบคุมอุปกรณ์แบบไร้สายผ่านเครือข่าย WiFi และห้องสมุดที่เหมาะสม นอกจากนี้ยังมีรุ่น Arduino Yun PoE ซึ่งขับเคลื่อนจากเครือข่ายอีเธอร์เน็ต

Arduino Micro - โมดูลขนาดเล็กที่ใช้ Arduino Leonardo มีขนาดเล็ก มีไมโครคอนโทรลเลอร์ AVR Atmega32U4 พร้อมกับ 20 I / O ดิจิตอลและอินเทอร์เฟซการสื่อสารยอดนิยม

4. ตัวอย่างการใช้งาน

- Arduino และการวางแนวในพื้นที่สามมิติ

ตัวอย่างการใช้ไจโรสโคป 3 แกน มาตรความเร่ง และเครื่องวัดความเข้มข้นของสนามแม่เหล็ก (ระบบ MinImu9) สำหรับการวางแนวในพื้นที่ 3 มิติ

- Arduino และจอ LCD

รองรับจอ LCD พร้อมคอนโทรลเลอร์ HD44780 โดยใช้โมดูล Arduino

- การควบคุมมอเตอร์กระแสตรงโดยใช้แพลตฟอร์ม Arduino

ตัวอย่างโมดูลการจัดการ (H-bridge) ที่ใช้ในการควบคุมทิศทางและความเร็วของมอเตอร์กระแสตรง

- การเชื่อมต่อกับเครือข่ายอีเธอร์เน็ต

การเชื่อมต่อ Arduino กับโมดูล Ethernet ENC28J60

แนะนำ: