Arduino Due : การกำหนดค่าพิน การเชื่อมต่อ และการใช้งาน

ลองใช้เครื่องมือของเราเพื่อกำจัดปัญหา





บอร์ด Arduino เป็นแพลตฟอร์มฮาร์ดแวร์และซอฟต์แวร์แบบโอเพ่นซอร์สที่ออกแบบด้วยแผงวงจรซึ่งรวมถึงไมโครคอนโทรลเลอร์และอินเทอร์เฟซอื่นๆ ที่สนับสนุนส่วนประกอบต่างๆ ที่เชื่อมต่ออยู่ บอร์ดนี้สามารถตั้งโปรแกรมง่ายๆ ด้วยความช่วยเหลือของ Integrated Development Environment (IDE) ซึ่งใช้สำหรับเขียนและอัพโหลดโค้ดไปยังบอร์ด Arduino เป็นบอร์ดไมโครคอนโทรลเลอร์ที่มีความยืดหยุ่นซึ่งใช้สำหรับการพัฒนาโครงการอิเล็กทรอนิกส์ต่างๆ มีความแตกต่างกัน ประเภทของบอร์ด Arduino ชอบ อาร์ดิโน อูโน , นาโน, ไมโคร, เลโอนาร์โด, นาโนทุก, MKR Zero, Uno WiFi, เนื่องจาก, เมกา2560 , Lilypad เป็นต้น ดังนั้น บทความนี้จึงให้ข้อมูลเกี่ยวกับบอร์ด Arduino ประเภทใดประเภทหนึ่ง ได้แก่ Arduino เนื่องจาก - การทำงานกับแอพพลิเคชั่น


Arduino Due คืออะไร?

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



บอร์ดที่ครบกำหนดของ Arduino ใช้ไมโครคอนโทรลเลอร์หลัก ARM 32 บิต บอร์ดนี้มีพิน I/O ดิจิทัล 54 พิน โดย 12 พินใช้เป็น PWM o/ps, อินพุตอะนาล็อก 12 ตัว, UARTs -4, CLK 84 MHz, DAC -2, TWI-2, ส่วนหัว SPI, พาวเวอร์ แจ็ค, ส่วนหัว JTAG, การเชื่อมต่อ USB OTG และปุ่ม RESET & ปุ่ม ERASE

บอร์ด Arduino Due สามารถเชื่อมต่อกับคอมพิวเตอร์เครื่องใดก็ได้โดยใช้ ไมโคร USB สายเคเบิลและพลังงานผ่านแบตเตอรี่หรืออะแดปเตอร์ AC-to-DC เพื่อเริ่มต้น บอร์ดนี้เหมาะกับ Arduino Shields ทุกประเภทที่ทำงานที่ 3.3V



ข้อมูลจำเพาะ

เดอะ ข้อมูลจำเพาะของ Arduino Due รวมสิ่งต่อไปนี้

  • ไมโครคอนโทรลเลอร์คือคอนโทรลเลอร์ ARM 32 บิต SAM3X8E
  • แรงดันใช้งาน 3.3V.
  • กระแสสูงสุดในทุกพิน I/O คือ 3mA และ 15mA
  • กระแสสูงสุดที่ดึงมาจากพิน I/O ทั้งหมดคือ 130mA
  • หน่วยความจำแฟลชคือ 512K ไบต์
  • EEPROM ขนาด 16Kbyte
  • แรมภายใน 96Kbytes
  • ความถี่สัญญาณนาฬิกาภายในคือ 12 Mhz
  • ความถี่สัญญาณนาฬิกาภายนอกคือ 84 Mhz
  • ช่วงอุณหภูมิในการทำงานตั้งแต่ -40ºC ถึง +85ºC
  • แรงดัน i/p ที่แนะนำมีตั้งแต่ 7V ถึง 12V
  • แรงดันไฟฟ้าขาเข้าตั้งแต่ 6 ถึง 20V
  • พิน I/O ดิจิตอล – 54.
  • พินอนาล็อก i/p – 12.
  • พิน op/p อะนาล็อก – 2.

การกำหนดค่า Arduino Due Pin

การกำหนดค่าพินของ Arduino Due แสดงไว้ด้านล่าง

  พีซีบีเวย์   การกำหนดค่าพินของ Arduino Due
การกำหนดค่าพินของ Arduino Due

พลัง

บอร์ด Arduino Due สามารถขับเคลื่อนด้วยพลังงานผ่านขั้วต่อ USB หรือแหล่งจ่ายไฟภายนอก เช่น แบตเตอรี่หรืออะแดปเตอร์ AC เป็น DC ดังนั้นแหล่งพลังงานจะถูกเลือกโดยอัตโนมัติ พินพลังงานของ Arduino Due คือ +3.3V, +5V, Vin & GND

  • Vin คือพินแรงดันอินพุตที่จ่ายแรงดันผ่านพินนี้
  • พิน 5V เอาต์พุต 5V ที่มีการควบคุมโดยใช้ตัวควบคุมแรงดันไฟฟ้าบนบอร์ด Arduino
  • แหล่งจ่ายแรงดันไฟฟ้า 3.3V ถูกสร้างขึ้นผ่านตัวควบคุมออนบอร์ด เรกูเลเตอร์นี้ทำหน้าที่จ่ายไฟให้กับไมโครคอนโทรลเลอร์ SAM3X
  • มีพิน GND 5 พินบนบอร์ด
  • พิน IOREF บน Arduino Due Board จะแสดงค่าอ้างอิงแรงดันที่ไมโครคอนโทรลเลอร์ทำงาน แรงดันไฟฟ้าของขา IOREF สามารถเตรียมพร้อมได้โดยการกำหนดค่าส่วนป้องกันอย่างเหมาะสม & เลือกแหล่งพลังงานที่เหมาะสม หรืออนุญาตให้ตัวแปลแรงดันไฟฟ้าบน o/ps สำหรับการทำงานผ่าน 5V (หรือ) 3.3V

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

ยูอาร์ที: ยูอาร์ที เป็น 'เครื่องรับส่งสัญญาณอะซิงโครนัสสากล' อินเทอร์เฟซนี้ใช้สำหรับการเขียนโปรแกรม PRO MINI เป็นหลัก

SPI: เอสพีไอ เป็น Serial Peripheral Interface ที่ใช้ในการส่งข้อมูลอนุกรมระหว่างไมโครคอนโทรลเลอร์และอุปกรณ์ต่อพ่วงตั้งแต่หนึ่งตัวขึ้นไปอย่างมีประสิทธิภาพ Arduino เนื่องจากประกอบด้วยพิน SPI สี่พิน SCK, SS, MOSI และ MISO

ทวิ: TWI เป็นอินเทอร์เฟซแบบสองสายใช้สำหรับเชื่อมต่ออุปกรณ์ต่อพ่วง

สามารถ: CAN เป็นอินเทอร์เฟซเครือข่ายส่วนควบคุมที่ใช้เป็นหลักในการสื่อสารระหว่างตัวควบคุม

สสส.: SSC เป็นอินเทอร์เฟซการสื่อสารแบบซิงโครนัสที่ใช้เป็นหลักสำหรับแอปพลิเคชันเสียงและโทรคมนาคม

หน่วยความจำ

SAM3X มีหน่วยความจำแฟลชสองบล็อกขนาด 256 KB (512 KB) เพื่อจัดเก็บรหัส ตัวโหลดบูตถูกเขียนไว้ล่วงหน้าจาก Atmel ในโรงงานและจัดเก็บไว้ใน ROM เฉพาะ SRAM ใช้งานได้กับ 96 KB ในธนาคารที่อยู่ติดกันสองแห่งขนาด 32 KB และ 64 KB หน่วยความจำที่มีอยู่ทั้งหมดสามารถเข้าถึงได้โดยตรงโดยเป็นพื้นที่กำหนดแอดเดรสแบบแฟลต เช่น RAM, ROM และ Flash

ปุ่มลบ

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

อินพุตแบบอะนาล็อก (A0 ถึง A11):

Arduino Due มีอินพุตอะนาล็อก 12 ตัว และแต่ละพินมีความละเอียด 12 บิต พินอะนาล็อกเหล่านี้ใช้สำหรับอ่านค่าของเซ็นเซอร์อะนาล็อกที่เชื่อมต่อกับบอร์ด Arduino พินอะนาล็อกแต่ละตัวบนบอร์ดที่ฉันเชื่อมต่อกับ ADC ในตัวที่มีความละเอียด 12 บิต

ขา DAC (DAC0 ถึง DAC1):

ขาทั้งสองนี้ให้เอาต์พุตแบบอะนาล็อกที่มีความละเอียด 12 บิต พินทั้งสองนี้ใช้เป็นหลักในการสร้างเอาต์พุตเสียงด้วยไลบรารีเสียง

อารีฟ

พินนี้เชื่อมต่อกับพินอ้างอิงแบบอะนาล็อกของคอนโทรลเลอร์ SAM3X ตลอดสะพานตัวต้านทาน หากต้องการใช้พินนี้ ควรถอดตัวต้านทาน BR1 ออกจากแผงวงจรพิมพ์

รีเซ็ต

พินนี้ใช้เพื่อรีเซ็ตคอนโทรลเลอร์และเริ่มการทำงานของโปรแกรมตั้งแต่เริ่มต้น

พิน PWM (2 ถึง 13)

พิน PWM ตั้งแต่ 2 ถึง 13 มาจากชุดของพินดิจิทัล ซึ่งทุกพินให้ 8-bit PWM o/p ค่า PWM o/p แปรผันตั้งแต่ 0 ถึง 5 โวลต์

ส่วนหัว JTAG: อินเทอร์เฟซทั่วไปของฮาร์ดแวร์ที่ช่วยให้เราสื่อสารโดยตรงกับชิปภายนอกของบอร์ดของเรา พิน 4 พินถูกใช้เพื่อจุดประสงค์นี้โดยมีป้ายกำกับว่า TCK, TD0, TMS และ TDI

Arduino เนื่องจากการเขียนโปรแกรม

โดยทั่วไปแล้ว บอร์ด Arduino ทุกประเภทจะถูกตั้งโปรแกรมด้วย IDE Arduino Software ซอฟต์แวร์นี้ง่ายต่อการเรียนรู้และใช้งานโดยไม่ซับซ้อนมากนัก ซอฟต์แวร์นี้พร้อมใช้งาน เราจึงสามารถดาวน์โหลดได้โดยตรงจากเว็บไซต์ทางการ & เลือกบอร์ด Arduino ที่คุณต้องการใช้งาน บอร์ดนี้ไม่ต้องการเครื่องเขียนภายนอกเช่น bootloader เพื่อเบิร์นโค้ดบนบอร์ด ซอฟต์แวร์ Arduino ทำงานได้อย่างสมบูรณ์แบบผ่านระบบปฏิบัติการทั่วไป เช่น Windows, MAC หรือ ลีนุกซ์ .

บอร์ด Arduino Due เข้ากันได้ดีกับ Shields เกือบทั้งหมด ซึ่งออกแบบมาสำหรับบอร์ด Arduino ประเภทอื่นๆ เป็นหลัก เกราะป้องกันที่สำคัญที่สุดคือ ตัวป้องกันมอเตอร์ ตัวป้องกันอีเทอร์เน็ต และตัวป้องกัน WiFi

เซ็นเซอร์อุณหภูมิ LM35 เชื่อมต่อกับ Arduino เนื่องจาก

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

เซ็นเซอร์ LM35 ไม่จำเป็นต้องมีการสอบเทียบภายนอกใดๆ มิฉะนั้นจะมีการตัดแต่งเพื่อให้มีความแม่นยำโดยทั่วไปที่ ±1/4°C ที่อุณหภูมิห้อง & ±3/4°C เหนือช่วงอุณหภูมิที่สมบูรณ์ +150°C

เซ็นเซอร์อุณหภูมิ LM35 ประกอบด้วยสามขา +5V, GND และเอาต์พุต ที การเชื่อมต่อของเซ็นเซอร์ LM35 กับบอร์ด Arduino มีดังนี้

  เซ็นเซอร์ LM35 เชื่อมต่อกับ Arduino Due Board
เซ็นเซอร์ LM35 เชื่อมต่อกับ Arduino Due Board

เดอะ ขา Vcc ของเซ็นเซอร์อุณหภูมิ ต่อเข้ากับขา 3v3 ของบอร์ด Arduino
เดอะ ขา GND ของเซ็นเซอร์อุณหภูมิ ต่อเข้ากับขา GND ของบอร์ด Arduino
เดอะ ขาออกของเซ็นเซอร์อุณหภูมิ ต่อเข้ากับขา A0 ของบอร์ด Arduino

รหัส

const int analogIn = A0;
int RawValue = 0;
แรงดันสองเท่า = 0;
สองเท่า tempC = 0;
สองเท่า tempF = 0;

การตั้งค่าเป็นโมฆะ (){
Serial.begin(9600);
}
โมฆะลูป ()

{
RawValue = analogRead (อะนาล็อกอิน);
แรงดันไฟฟ้า = (RawValue / 1023.0) * 3300; // 5,000 เพื่อรับมิลลิโวต
tempC = แรงดัน * 0.1;
tempF = (tempC * 1.8) + 32; // แปลงเป็น F
Serial.print(“ค่าดิบ = ” ); // แสดงค่าก่อนสเกล
Serial.print (ค่าดิบ);
Serial.print(“\t มิลลิโวลต์ = “); // แสดงแรงดันไฟฟ้าที่วัดได้
Serial.print (แรงดัน, 0); //
Serial.print(“\t อุณหภูมิใน C = “);
Serial.print(tempC,1);
Serial.print(“\t อุณหภูมิใน F = “);
Serial.println(tempF,1);
ล่าช้า (500);
}

เอาต์พุตจะแสดงบนจอภาพอนุกรม ดังนั้นเปิดจอภาพอนุกรมเพื่อตรวจสอบผลลัพธ์ดังต่อไปนี้

ค่าดิบ = 69 มิลลิโวลต์ = 220 อุณหภูมิใน C = 22.1 อุณหภูมิใน F = 72.5
ค่าดิบ = 70 มิลลิโวลต์ = 227 อุณหภูมิใน C = 23.6 อุณหภูมิใน F = 73.6
ค่าดิบ = 71 มิลลิโวลต์ = 230 อุณหภูมิใน C = 23.9 อุณหภูมิใน F = 74.2
ค่าดิบ = 72 มิลลิโวลต์ = 234 อุณหภูมิใน C = 24.2 อุณหภูมิใน F = 74.8
ค่าดิบ = 73 มิลลิโวลต์ = 236 อุณหภูมิใน C = 24.5 อุณหภูมิใน F = 75.4
ค่าดิบ = 74 มิลลิโวลต์ = 240 อุณหภูมิใน C = 24.9 อุณหภูมิใน F = 76.0
ค่าดิบ = 75 มิลลิโวลต์ = 243 อุณหภูมิใน C = 25.2 อุณหภูมิใน F = 76.5
ค่าดิบ = 76 มิลลิโวลต์ = 246 อุณหภูมิใน C = 25.5 อุณหภูมิใน F = 77.1
ค่าดิบ = 77 มิลลิโวลต์ = 249 อุณหภูมิใน C = 54.8 อุณหภูมิใน F = 77.7

Arduino Due แตกต่างจากบอร์ด Arduino ที่เหลืออย่างไร

บอร์ด Arduino Due แตกต่างจากบอร์ด Arduino ประเภทอื่นๆ ในแง่ของระดับแรงดันไฟฟ้า ดังนั้นไมโครคอนโทรลเลอร์ภายในบอร์ด Arduino จึงทำงานที่ 3.3 V แทนที่จะเป็น 5 V ซึ่งเป็นเรื่องปกติในบอร์ด Arduino อื่นๆ หากคุณใช้แรงดันไฟฟ้าที่สูงกว่า (>3.3 V) สำหรับพินของบอร์ด Arduino Due บอร์ดอาจได้รับความเสียหาย โปรเซสเซอร์ที่ใช้ในบอร์ด Arduino เนื่องจากเป็นโปรเซสเซอร์ที่เร็วที่สุดเมื่อเทียบกับบอร์ดอื่น ขนาดหน่วยความจำสูงสุดในบอร์ด Arduino เนื่องจากเมื่อเปรียบเทียบกับบอร์ดอื่น เนื่องจากบอร์ด Arduino ไม่มี EEPROM ในตัวและเป็นบอร์ดที่มีราคาแพงกว่า คณะกรรมการครบกำหนดรวมถึงหมายเลขขนาดใหญ่ ของพินเฮดเดอร์เพื่อเชื่อมต่อกับ I/O ดิจิตอลหลายตัว และยังเข้ากันได้กับพินผ่านโล่ Arduino ทั่วไป

Arduino Due รองรับปัญญาประดิษฐ์และอัลกอริทึม เช่นเดียวกับบอร์ด Arduino Mega ซึ่งมีจำนวนพอร์ตใกล้เคียงกัน แต่มีประสิทธิภาพมากกว่ามาก เราสามารถใช้ Arduino Due Board นี้ในโครงการเพื่อสร้างปัญญาประดิษฐ์ (AI) สำหรับหุ่นยนต์เคลื่อนที่ได้ ดังนั้น หากใครต้องการจัดการอัลกอริทึมที่ซับซ้อน มิฉะนั้นจะทำให้หุ่นยนต์มีปฏิกิริยาตอบสนองมากขึ้น Arduino Due board ก็เป็นตัวเลือกที่เหมาะสม

ข้อดี

หลัก ข้อดีของ Arduino Due รวมสิ่งต่อไปนี้

  • เป็นโปรเซสเซอร์ 32 บิต 84MHz ที่ทรงพลังมาก
  • ความเร็วในการประมวลผลภายในคำแนะนำสำหรับแต่ละวินาทีนั้นสูง
  • Arduinos ได้รับการออกแบบมาเพื่อให้คอนโทรลเลอร์สามารถเข้าถึงได้มากขึ้น
  • Arduino ผลิตได้ 114 กิโลไซเคิลต่อวินาที
  • ภาษาการเขียนโปรแกรมนั้นง่าย
  • ราคามันถูกกว่าเมกา

ข้อเสีย

หลัก ข้อเสียของ Arduino เนื่องจาก รวมสิ่งต่อไปนี้

  • กระดานเหล่านี้ค่อนข้างเทอะทะ
  • ครอบคลุมพื้นที่มากขึ้น
  • Due นั้นด้อยกว่าเนื่องจากขาดความเข้ากันได้ของโล่
  • Arduino เนื่องจากขนาดไม่สะดวกสำหรับหลายโครงการ
  • บอร์ดนี้ขาดคุณสมบัติ Bluetooth และ Wi-Fi

Arduino เนื่องจากแอปพลิเคชัน

หลัก Arduino สอง ใช้ รวมสิ่งต่อไปนี้

  • Arduino Due ส่วนใหญ่ใช้สำหรับโครงการที่ใช้ Arduino
  • มีการใช้กันอย่างแพร่หลายในแอปพลิเคชันต่างๆ ที่ความเร็วการประมวลผลที่รวดเร็วคือผลลัพธ์สุดท้าย
  • เหมาะอย่างยิ่งสำหรับโครงการที่ต้องการพลังการประมวลผลสูง เช่น โดรนซึ่งควบคุมจากระยะไกลเพื่อให้บินได้ และต้องมีการประมวลผลข้อมูลเซ็นเซอร์จำนวนมากในแต่ละวินาที
  • ระบบอัตโนมัติในอุตสาหกรรม
  • ระบบรักษาความปลอดภัย.
  • แอปพลิเคชันที่ใช้ความจริงเสมือน
  • แอปพลิเคชันที่ใช้ GSM และ Android
  • ระบบสมองกลฝังตัว
  • ระบบอัตโนมัติสำหรับบ้านโดยใช้ IR
  • แขนหุ่นยนต์
  • ไฟฉุกเฉิน.
  • รถยกเคลื่อนที่.
  • ระบบโฮมออโตเมชั่นพร้อมบลูทูธ
  • ไฟถนนควบคุมความเข้มอัตโนมัติ
  • หุ่นยนต์หลบหลีกสิ่งกีดขวาง
  • ยานพาหนะสำหรับการปีนกำแพง
  • ระบบเคาน์เตอร์สำหรับลานจอดรถ

ดังนั้น ทั้งหมดนี้เป็นเรื่องเกี่ยวกับ ภาพรวมของ Arduino เนื่องจาก - การทำงานและการใช้งาน บอร์ด Arduino นี้ใช้ไมโครคอนโทรลเลอร์หลัก ARM 32 บิต ดังนั้นจึงเหมาะสำหรับโครงการ Arduino ขนาดใหญ่ บอร์ดไมโครคอนโทรลเลอร์ Arduino Due นี้มีพื้นฐานมาจาก ซีพียู Atmel SAM3X8E Cortex M3 . นี่คือคำถามสำหรับคุณ Arduino nano คืออะไร?