สารบัญ:

ELEGOO Kit Lab หรือวิธีทำให้ชีวิตของฉันในฐานะนักพัฒนาง่ายขึ้น: 5 ขั้นตอน (พร้อมรูปภาพ)
ELEGOO Kit Lab หรือวิธีทำให้ชีวิตของฉันในฐานะนักพัฒนาง่ายขึ้น: 5 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: ELEGOO Kit Lab หรือวิธีทำให้ชีวิตของฉันในฐานะนักพัฒนาง่ายขึ้น: 5 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: ELEGOO Kit Lab หรือวิธีทำให้ชีวิตของฉันในฐานะนักพัฒนาง่ายขึ้น: 5 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: How to setup and use ESP32 Cam with Micro USB WiFi Camera 2024, กรกฎาคม
Anonim
ELEGOO Kit Lab หรือวิธีทำให้ชีวิตของฉันในฐานะนักพัฒนาง่ายขึ้น
ELEGOO Kit Lab หรือวิธีทำให้ชีวิตของฉันในฐานะนักพัฒนาง่ายขึ้น

วัตถุประสงค์ของโครงการ

พวกเราหลายคนมีปัญหากับการจำลองรอบๆ ตัวควบคุม 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 ใน I2C
การประกอบครั้งแรก: จอแสดงผล 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 โปรแกรม และตัวอย่าง

ตัวอย่างการใช้ BUS โปรแกรม และตัวอย่าง
ตัวอย่างการใช้ BUS โปรแกรม และตัวอย่าง

เพื่อประสานองค์ประกอบที่อธิบายไว้ในโครงการนี้ ฉันขอเสนอตัวอย่างบางส่วน

ตัวอย่างเหล่านี้สามารถพบได้ในไฟล์ " Some Example.rtf"

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

ในการใช้แบบจำลอง คุณเพียงแค่ต้อง:

- ต่อส่วนประกอบที่ต้องการบนเขียงหั่นขนม

- คัดลอกส่วนที่เกี่ยวข้องของไฟล์ "Some Example.rtf" ลงในส่วนโปรแกรม (D) และคอมไพล์/อัปโหลดลงในคอนโทรลเลอร์

คุณจะพบว่าเทมเพลตเหล่านี้ไม่มีโค้ดหลายบรรทัด เพื่อให้การเขียนโปรแกรมง่ายขึ้น

โปรแกรมเมื่อคอมไพล์แล้วจะโหลดเฉพาะฟังก์ชันที่ใช้เท่านั้น รหัสเอาต์พุตได้รับการปรับให้เหมาะสม

ในทางกลับกัน ฮาร์ดแวร์บัสที่มีความสามารถในการใช้เขียงหั่นขนมหลายแบบช่วยอำนวยความสะดวกในการประกอบอย่างมาก

สำหรับโครงการนี้ ส่วนประกอบทั้งหมดถูกต่อเข้าด้วยกันบนเขียงหั่นขนมหลายอัน จอ LCD เชื่อมต่อกับบอร์ดขยาย UNO

ซึ่งช่วยให้สามารถผสมผสานและประกอบส่วนประกอบได้อย่างรวดเร็ว ด้วยสายไฟที่สั้น ทำให้ทั้งยูนิตดูน่าดึงดูดใจ

ตอนนี้คุณสามารถให้จินตนาการของคุณฟรีสำหรับการสร้างแบบจำลองโครงการของคุณ

สนุกกับมัน!

แนะนำ: