สารบัญ:
- ขั้นตอนที่ 1: บัสต้นแบบ
- ขั้นตอนที่ 2: การประกอบครั้งแรก: จอแสดงผล LCD ใน I2C
- ขั้นตอนที่ 3: การเขียนโปรแกรม
- ขั้นตอนที่ 4: ฟังก์ชั่นต่างๆ
- ขั้นตอนที่ 5: ตัวอย่างการใช้ BUS โปรแกรม และตัวอย่าง
วีดีโอ: ELEGOO Kit Lab หรือวิธีทำให้ชีวิตของฉันในฐานะนักพัฒนาง่ายขึ้น: 5 ขั้นตอน (พร้อมรูปภาพ)
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:02
วัตถุประสงค์ของโครงการ
พวกเราหลายคนมีปัญหากับการจำลองรอบๆ ตัวควบคุม UNO บ่อยครั้งที่การเดินสายของส่วนประกอบกลายเป็นเรื่องยากสำหรับส่วนประกอบหลายอย่าง ในทางกลับกัน การเขียนโปรแกรมภายใต้ Arduino อาจซับซ้อนและอาจต้องใช้โค้ดหลายบรรทัด โครงการที่อธิบายไว้ในที่นี้ควรทำให้การจำลองง่ายขึ้นมาก โครงการนี้มีพื้นฐานมาจากและใช้ส่วนประกอบเกือบ 80% ของ "ELEGOO Super Starter Kit UNO R3"
วัตถุประสงค์ของโครงการนี้คือ:
- การสร้างบัสทางเทคนิคที่อนุญาตให้ใช้เขียงหั่นขนมสูงสุดสี่ตัวพร้อมกัน
- การสร้างโปรแกรมอ้างอิงที่ใช้เป็นพื้นฐานสำหรับการประกอบจำนวนมาก
- การสร้างฟังก์ชั่นอำนวยความสะดวกในการอ่านการเขียนโปรแกรม
- การประกอบจอ LCD ใน I2C
สามารถดาวน์โหลดไฟล์โครงการทั้งหมดได้ที่นี่
ขั้นตอนที่ 1: บัสต้นแบบ
ส่วนประกอบ:
- สายแพแบบหลายเกลียว 40 เส้น (35 ซม.)
- คอนเนคเตอร์สำหรับสายแบน 40 พิน (5)
- ขั้วต่อ PCB ตัวผู้-ตัวผู้ 40 พิน
- เขียงหั่นขนมครึ่งขนาดเสริม (2)
จากชุดอุปกรณ์ ELEGOO:
- แผงควบคุม
- บอร์ดขยาย.
- เขียงหั่นขนม (2).
การประกอบนั้นง่ายต่อการดำเนินการ:
ติดตั้งขั้วต่อห้าตัวบนสายแพ ขั้วต่อสี่ตัวจะได้รับการแก้ไขโดยให้ส่วนขั้วต่อหงายขึ้น และขั้วต่อหนึ่งตัวโดยให้ส่วนขั้วต่อคว่ำลง คอนเน็กเตอร์นี้จะถูกเสียบเข้ากับบอร์ดเอ็กซ์แพนชันในภายหลัง
ติดตั้งขั้วต่อ PCB สองตัวขนานกันบนบอร์ดขยายเพื่อรับขั้วต่อของสายแพ
บัดกรีหมุดที่ด้านล่างของบอร์ดเข้ากับพินอินพุต/เอาต์พุตของคอนเน็กเตอร์ส่วนขยาย UNO
เสียบบอร์ดขยายเข้ากับคอนโทรลเลอร์ UNO แล้วเสียบขั้วต่อสายแพ
หลังจากติดตั้งแล้ว สัญญาณทั้งหมดจากบอร์ดควบคุมจะมีอยู่ที่ขั้วต่อทั้งสี่ของสายแพ
ผลลัพธ์ที่ได้คือบัสต่อขยายที่สามารถรองรับเขียงหั่นขนมได้มากถึงสี่แผ่นตามที่แสดงในภาพ
พินจำนวนหนึ่งจะถูกยกเลิกการเชื่อมต่อบนบอร์ดส่วนขยาย (ฉันเขียนเป็นอักษรตัวพิมพ์เล็ก) และพร้อมใช้งาน สามารถใช้เชื่อมต่อวงจรระหว่างเขียงหั่นขนมได้
ขั้นตอนที่ 2: การประกอบครั้งแรก: จอแสดงผล LCD ใน I2C
จอ LCD LCM1602/HD44780 มีลิงค์มากมาย การเชื่อมต่อโดยตรงกับตัวควบคุม UNO ช่วยลดความเป็นไปได้ในการเชื่อมต่อส่วนประกอบอื่นๆ
นั่นคือเหตุผลที่ฉันเพิ่มชิป PCF8574 เพื่อลดจำนวนลิงก์เป็น 2 ลิงก์โดยใช้โปรโตคอล I2C
ส่วนประกอบ:
- ขั้วต่อ PCB ตัวผู้ต่อตัวผู้ 16 พิน
- กระดานบัดกรี ELEGOO ขนาด 2x8 ซม.
- ชิป PCF8574
- ขั้วต่อ 4 พินพร้อมส่วน PCB
ส่วนประกอบของชุด ELGOO:
- จอ LCD
- โพเทนชิออมิเตอร์ 10k
การชุมนุม:
แอสเซมบลีได้รับการทดสอบบนบัสต้นแบบแล้วเชื่อมบนแผ่นบัดกรี สามารถเพิ่มจอแสดงผลนี้เพื่อใช้งานอย่างง่ายในโครงการอื่นๆ ได้อย่างง่ายดาย
ขั้นตอนที่ 3: การเขียนโปรแกรม
วัตถุประสงค์ของโปรแกรมคือการทำให้งานง่ายขึ้นเมื่อพัฒนาโครงการใหม่
โปรแกรมประกอบด้วยหลายส่วน:
- ส่วนประกาศที่มีการรวมไลบรารีและค่าคงที่ ส่วนคงที่นี้จะเหมือนกับการทดสอบส่วนประกอบต่างๆ ทั้งหมด (ข, ค)
- ส่วนการพัฒนาที่มีลำดับ "การตั้งค่า" และ "วนซ้ำ" (NS)
- ส่วนหน้าที่ซึ่งจัดกลุ่มสามคน (A) ฟังก์ชันเหล่านี้อธิบายไว้ด้านล่าง
ไดเร็กทอรี "0-My_ELEGOO_soft_build" มีไฟล์ห้าไฟล์ที่ควรเก็บไว้ในโฟลเดอร์เดียวกัน:
- "0-My_ELEGOO_soft_build.ino".
- "1-My_LCD_function.ino".
- "2-My_IR_function.ino".
- "3-My_Output_port_extension.ino"
- "ตัวอย่างบางส่วน.rtf"
โดยการเปิดไฟล์ " 0-My_ELEGOO_soft_build.ino " Arduino จะเปิดไฟล์อื่นๆ (.ino) ด้วย ไฟล์ทั้งหมดจะแสดงและสามารถแก้ไขได้
ไฟล์ "Some Example.rtf" มีตัวอย่างบางส่วนของโปรแกรมง่ายๆ ที่ใช้ฟังก์ชันดังกล่าว
ขั้นตอนที่ 4: ฟังก์ชั่นต่างๆ
ตัวควบคุม LCD
จุดประสงค์ของฟังก์ชันนี้คือทำให้การแสดงข้อมูลบน LCD ง่ายขึ้นด้วยคำสั่งเดียว คำสั่งนี้จะใช้ในการตั้งค่า void และส่วน void loop นอกจากนี้ยังแสดงวิธีการสร้างฟังก์ชัน
ฟังก์ชันนี้ถูกเรียกโดย lcdw(par1, par2, par3, par4, par5);
- par1 หมายถึงฟังก์ชันย่อยที่ต้องการ
- par2 ระบุหมายเลขบรรทัดบนจอแสดงผล (0 หรือ 1)
- par3 ระบุหมายเลขคอลัมน์บนบรรทัดแสดงผล (0 ถึง 15)
- par4 มีข้อความที่จะแสดง
- par5 มีค่าตัวเลขที่จะแสดง
ตัวอย่างคือ:
lcdw(0, 0, 0, "", 0); เริ่มต้นการแสดงผล เฉพาะการโทรนี้เท่านั้นที่จะต้องทำรายการตั้งค่าเป็นโมฆะ
lcdw (1, 1, 5, "สวัสดีชาวโลก", 0); แสดงข้อความในบรรทัดที่สองจากตำแหน่ง 6
lcdw (1, 1, 5, "สวัสดีชาวโลก", 25); แสดงข้อความ "HELLO WORLD 25" ในบรรทัดที่สองจากตำแหน่ง 6 lcdw(1, 0, 0, """, 25) แสดง "25" ในบรรทัดแรกจากตำแหน่งที่ 1
lcdw(2, 0, 0, "", 0); ล้างการแสดงผล
ฟังก์ชันนี้ค่อนข้างง่ายและสามารถทำได้ตามความต้องการของคุณ
อินเทอร์เฟซอินฟราเรดและรีโมทคอนโทรล
จุดประสงค์ของฟังก์ชันนี้คือเพื่อความสะดวกในการใช้เซ็นเซอร์อินฟราเรดด้วยรีโมทคอนโทรล ฟังก์ชันนี้เรียกโดย tst = IRrec(par1);
par1 หมายถึงฟังก์ชันย่อยที่ต้องการ 0 เพื่อเริ่มต้นเซ็นเซอร์ 1 เพื่อรับและถอดรหัสคีย์ที่กดบนรีโมทคอนโทรล ข้อความที่สอดคล้องกับชื่อของคีย์จะถูกส่งกลับในตัวแปร tst
เพิ่มจำนวนประตูดิจิตอล
วัตถุประสงค์คือการใช้ชิป 74hc595 เพื่อเพิ่มจำนวนพินเอาต์พุตดิจิทัล วงจรนี้ใช้พิน UNO 3 ตัวเป็นอินพุตและมีไบนารีเกต 8 ตัวเป็นเอาต์พุต เราจะใช้สองฟังก์ชัน ไดอะแกรมการเชื่อมต่อทางกายภาพจะอธิบายไว้ในส่วนถัดไป
วงจรประกอบด้วยสองรีจิสเตอร์ที่มี 8 ตำแหน่ง (รีจิสเตอร์หนึ่งรีจิสเตอร์ภายในโปรแกรม ino และอีกอันอยู่ในวงจร) การอัปเดตทำได้ในสองขั้นตอน ก่อนอื่น ค่าในการลงทะเบียนภายในสามารถเปลี่ยนแปลงได้ (โดยใช้ฟังก์ชัน setExtPin) จากนั้นรีจิสเตอร์ภายในจะถูกคัดลอกลงในวงจร (โดยใช้ฟังก์ชัน Expin)
หมดอายุ(พาร์ 1);
Par1: 0 สำหรับการเริ่มต้นชิป 1 เพื่อตั้งค่าเกตเอาต์พุตทั้งหมดเป็น LOW 2 เพื่อคัดลอกรีจิสเตอร์ภายในไปยังชิป 74hc595
setExtPin(พาร์1,พาร์2);
- พาร์ 1: จำนวนประตูที่จะเปลี่ยน (0-7)
- พาร์ 2: สถานะประตูที่ต้องการ (ต่ำหรือสูง)
ขั้นตอนที่ 5: ตัวอย่างการใช้ BUS โปรแกรม และตัวอย่าง
เพื่อประสานองค์ประกอบที่อธิบายไว้ในโครงการนี้ ฉันขอเสนอตัวอย่างบางส่วน
ตัวอย่างเหล่านี้สามารถพบได้ในไฟล์ " Some Example.rtf"
การเดินสายของส่วนประกอบได้รับจากไดอะแกรมด้านบน โปรเจ็กต์นี้ได้รับการออกแบบเพื่อให้สามารถใช้ส่วนประกอบหลายอย่างพร้อมกันได้
ในการใช้แบบจำลอง คุณเพียงแค่ต้อง:
- ต่อส่วนประกอบที่ต้องการบนเขียงหั่นขนม
- คัดลอกส่วนที่เกี่ยวข้องของไฟล์ "Some Example.rtf" ลงในส่วนโปรแกรม (D) และคอมไพล์/อัปโหลดลงในคอนโทรลเลอร์
คุณจะพบว่าเทมเพลตเหล่านี้ไม่มีโค้ดหลายบรรทัด เพื่อให้การเขียนโปรแกรมง่ายขึ้น
โปรแกรมเมื่อคอมไพล์แล้วจะโหลดเฉพาะฟังก์ชันที่ใช้เท่านั้น รหัสเอาต์พุตได้รับการปรับให้เหมาะสม
ในทางกลับกัน ฮาร์ดแวร์บัสที่มีความสามารถในการใช้เขียงหั่นขนมหลายแบบช่วยอำนวยความสะดวกในการประกอบอย่างมาก
สำหรับโครงการนี้ ส่วนประกอบทั้งหมดถูกต่อเข้าด้วยกันบนเขียงหั่นขนมหลายอัน จอ LCD เชื่อมต่อกับบอร์ดขยาย UNO
ซึ่งช่วยให้สามารถผสมผสานและประกอบส่วนประกอบได้อย่างรวดเร็ว ด้วยสายไฟที่สั้น ทำให้ทั้งยูนิตดูน่าดึงดูดใจ
ตอนนี้คุณสามารถให้จินตนาการของคุณฟรีสำหรับการสร้างแบบจำลองโครงการของคุณ
สนุกกับมัน!
แนะนำ:
Elegoo Super Started Kit Uno R3 รีวิว: 4 ขั้นตอน
Elegoo Super Started Kit Uno R3 รีวิว: ไม่กี่วันที่ผ่านมา Elegoo ส่ง Super Starter Kit นี้มาให้ฉันเพื่อทำการทดสอบ เรามาดูกันว่ามีอะไรอยู่ข้างในบ้าง เมื่อเปิดเคสนี้ออกมา เราจะเห็นสิ่งต่างๆ มากมาย บนหน้าปกมีดัชนีพร้อมส่วนประกอบทั้งหมด ข้างในเรามีการ์ดขอบคุณพร้อมข้อมูลทั้งหมด
DIY Lab Bench Power Supply [สร้าง + ทดสอบ]: 16 ขั้นตอน (พร้อมรูปภาพ)
DIY Lab Bench Power Supply [สร้าง + ทดสอบ]: ในคำแนะนำ / วิดีโอนี้ฉันจะแสดงให้คุณเห็นว่าคุณสามารถสร้างแหล่งจ่ายไฟสำหรับห้องปฏิบัติการตัวแปรของคุณเองซึ่งสามารถส่ง 30V 6A 180W (10A MAX ภายใต้ขีด จำกัด พลังงาน) ขีด จำกัด กระแสไฟขั้นต่ำ 250-300mA นอกจากนี้คุณจะเห็นความแม่นยำ โหลด การป้องกันและเ
Arduino Lab แบบพกพา: 25 ขั้นตอน (พร้อมรูปภาพ)
Arduino Lab แบบพกพา: สวัสดีทุกคน….ทุกคนคุ้นเคยกับ Arduino แล้ว โดยพื้นฐานแล้วมันเป็นแพลตฟอร์มการสร้างต้นแบบอิเล็กทรอนิกส์แบบโอเพ่นซอร์ส เป็นคอมพิวเตอร์ไมโครคอนโทรลเลอร์แบบบอร์ดเดียว มีจำหน่ายในรูปแบบต่างๆ นาโน, อูโน่, ฯลฯ… ทั้งหมดนี้ใช้เพื่อสร้างโปรอิเล็กทรอนิกส์
DIY Lab Bench Power Supply: 9 ขั้นตอน (พร้อมรูปภาพ)
DIY Lab Bench Power Supply: สวัสดีทุกคน! ยินดีต้อนรับสู่คำแนะนำนี้ซึ่งฉันจะแสดงให้คุณเห็นว่าฉันสร้างแหล่งจ่ายไฟที่ดูเรียบง่าย แต่ยอดเยี่ยมได้อย่างไรฉันมีวิดีโอในหัวข้อนี้และฉันขอแนะนำให้ดู มันมีขั้นตอนที่ชัดเจนและข้อมูลทั้งหมดที่คุณต้องการสำหรับการทำ
โครงการแสนสนุกด้วย Elegoo Uno R3 Super Start Kit - การควบคุมจอยสติ๊กสำหรับมอเตอร์กระแสตรง: 4 ขั้นตอน
โครงการแสนสนุกด้วย Elegoo Uno R3 Super Start Kit - การควบคุมจอยสติ๊กสำหรับ DC Motor: ในคำแนะนำนี้ ฉันจะพยายามควบคุมทิศทางและความเร็วของมอเตอร์กระแสตรงด้วยจอยสติ๊กด้วยความช่วยเหลือของ Arduino โดยใช้ส่วนประกอบจาก Elegoo Uno R3 Super Start Kit มีจำหน่ายที่ Amazon.com