สารบัญ:

วิธีควบคุม LED ด้วยการประมวลผลและ Arduino: 5 ขั้นตอน
วิธีควบคุม LED ด้วยการประมวลผลและ Arduino: 5 ขั้นตอน

วีดีโอ: วิธีควบคุม LED ด้วยการประมวลผลและ Arduino: 5 ขั้นตอน

วีดีโอ: วิธีควบคุม LED ด้วยการประมวลผลและ Arduino: 5 ขั้นตอน
วีดีโอ: มาลองเล่น Arduino IoT Cloud ควบคุม LED ep.1 2024, กรกฎาคม
Anonim
วิธีควบคุม LED ด้วยการประมวลผลและ Arduino
วิธีควบคุม LED ด้วยการประมวลผลและ Arduino

เมื่อวันก่อนฉันเผชิญกับปัญหาที่น่าสนใจ ฉันต้องควบคุมชุดไฟจากการโต้ตอบบนหน้าจอคอมพิวเตอร์ และต้องมีราคาไม่แพงที่สุด ฉันนึกถึง Arduino ขึ้นมาทันที มีทุกอย่างที่ฉันต้องการ มากเกินเพียงพอ I/O USB ในตัว และมีราคาเพียง $30 ในการสื่อสารกับ Arduino ฉันตัดสินใจใช้การประมวลผล ทั้งสองทำงานร่วมกันได้เป็นอย่างดีเนื่องจากความสัมพันธ์ในครอบครัวที่ใกล้ชิดของ Arduino กับการประมวลผล

ขั้นตอนที่ 1: วัสดุ

วัสดุ
วัสดุ

ถึงเวลารวบรวมชิ้นส่วนที่จำเป็นทั้งหมดเพื่อทำให้สิ่งนี้เกิดขึ้น:The Software:Processing - สามารถพบได้ที่ www.processing.orgArduino - สามารถพบได้ที่ www.arduino.ccThe Hardware:Arduino USB board (ฉันใช้ Diecimila เพราะนั่นคือสิ่งที่ฉันมี) 8x LEDs ที่คุณเลือกตัวต้านทาน 8x 330ohm แยกส่วนส่วนหัวหุ้มทองแดงด้านเดียวFerric Chloridetiny ดอกสว่านสาย USB

ขั้นตอนที่ 2: รหัส

รหัส
รหัส

นี่เป็นส่วนที่ยากสำหรับฉัน ฉันเป็นประเภทฮาร์ดแวร์มากกว่าประเภทซอฟต์แวร์มาโดยตลอด ดังนั้นฉันจึงหันไปใช้อินเทอร์เน็ต ที่แรกที่ฉันดูคือส่วนอ้างอิงของทั้ง Processing.org และ Arduino.cc เวลาและการพิจารณามากมายได้เข้าสู่การพัฒนาไซต์เหล่านี้และฉันก็ปรบมือให้กับความพยายาม มันคุ้มค่า! ข้อมูลพื้นฐานทั้งหมดที่ฉันต้องการอยู่ที่นั่น แต่ฉันมีช่วงเวลาที่ยากลำบากในการทำงานทั้งหมด ดังนั้นฉันจึงหันไปใช้บทช่วยสอนนี้เพื่อให้เข้าใจตรงกัน Francesco ได้รวบรวมบทช่วยสอนที่ยอดเยี่ยมเกี่ยวกับการประมวลผลการสื่อสารแบบอนุกรมและ Arduino เมื่อฉันได้ทุกอย่างแล้ว จริงๆ แล้วมันก็ง่ายมาก โดยทั่วไป รหัสการประมวลผลจะถูกตั้งค่าดังนี้:import processing.serial.*;Serial myPort;void setup(){ println(Serial.list()); myPort = อนุกรมใหม่ (นี่ Serial.list () [*X*], 9600); myPort.buffer(1); size(400, 400);void draw(){ //บางโค้ดไปที่นี่}เมื่อตั้งค่าโค้ดของคุณ ตรวจสอบให้แน่ใจว่า Arduino ของคุณเชื่อมต่อกับพอร์ตอนุกรมของคุณ นี่เป็นสิ่งสำคัญเนื่องจากรหัสพยายามชี้ไปที่ Arduino เฉพาะที่คุณใช้ เรียกใช้รหัสของคุณและดูที่รายการที่จะแสดงที่ด้านล่างของหน้าต่างการประมวลผล จากนั้นเปลี่ยนตัวแปรในรหัสของคุณที่ฉันระบุโดย *X* เป็นหมายเลขพอร์ตที่ Arduino ของคุณเชื่อมต่ออยู่ ของฉันเป็นอันดับสามในรายการ ดังนั้นฉันจึงใส่ 2 แทนที่ *X* โปรดทราบว่ารายการจะแสดงเป็นรายการอาร์เรย์ ซึ่งหมายความว่าตำแหน่งแรกจะแสดงเป็น 0 ไม่ใช่ 1 รหัส Arduino นั้นง่ายกว่าในการติดตั้ง:void setup(){ Serial.begin(9600);}ฉันโพสต์แล้ว รหัสที่สมบูรณ์เพื่อให้คุณนำไปใช้และแก้ไขและเล่นด้วย Arduino ถูกบันทึกเป็น pdxMap.pde และรหัสการประมวลผลจะถูกบันทึกเป็น serialLEDTest.pde

ขั้นตอนที่ 3: สร้างแผงวงจร

ทำแผงวงจร
ทำแผงวงจร
ทำแผงวงจร
ทำแผงวงจร

ฉันสร้างแผงวงจรโดยใช้ CADsoft Eagle เนื่องจากฉันรู้ว่าฉันกำลังใช้ Arduino ฉันต้องการสร้างโปรโตชิลด์ที่จะพอดีกับระยะห่างที่คี่บนบอร์ด USB ดังนั้นกลับไปที่อินเทอร์เน็ตเพื่อค้นหาส่วน Eagle ที่ถูกต้อง ฉันลงเอยด้วยการใช้เลย์เอาต์ Protoshield ที่ออกแบบโดย Lady Ada หากคุณไม่คุ้นเคยกับงานของเธอ คุณควรตรวจสอบเธอ โครงการและการมีส่วนร่วมของเธอในโลกของการคำนวณทางกายภาพนั้นมีความโดดเด่น และงานส่วนใหญ่ของเธอเป็นโอเพ่นซอร์ส ทำให้คนอย่างฉันมีโอกาสนำโปรเจ็กต์ของตนเองไปสู่อีกระดับ หลังจากที่ฉันพบเลย์เอาต์ของโปรโตชิลด์ ฉันก็เปิดมันและแก้ไข อินทรีกับสิ่งที่คุณเห็นด้านล่าง ภาพที่สองเป็นภาพระยะใกล้ของ PDF ที่จะสร้างกระดานสุดท้าย มีคำแนะนำที่ดีมากมายเกี่ยวกับการแกะสลักแผงวงจรของคุณเอง ดังนั้นฉันจะไม่พูดถึงรายละเอียดทั้งหมดที่นี่ วิธีที่ฉันชอบใช้อธิบายได้อย่างสวยงามในคำแนะนำของ TechShopJim ขั้นตอนที่หนึ่ง: พิมพ์ PDF (ดูด้านล่าง) ลงบนกระดาษนิตยสาร กระดาษภาพถ่ายไฮกลอส หรือกระดาษที่ออกแบบมาสำหรับ PCB พิมพ์โดยใช้เครื่องพิมพ์เลเซอร์ ไม่ต้องปรับขนาด วางบนกระดาษขนาด 8 1/2 คูณ 11 และควรพิมพ์ได้ดีโดยไม่ต้องแก้ไขขั้นตอนที่สอง: ตัดการออกแบบออกโดยปล่อยให้มีนักเรียนประจำอยู่เล็กน้อยรอบการออกแบบ ขั้นตอนที่สาม: ตัด a ชิ้นส่วนของทองแดงที่หุ้มไว้ซึ่งใหญ่กว่าการออกแบบเล็กน้อย กระดานสามารถตัดด้วยเลื่อยวงเดือนเลื่อยแฮ็ค แต่โดยปกติฉันจะใช้มีดคัตเตอร์กล่องหรือมีด Xacto โดยให้คะแนนซ้ำแล้วซ้ำเล่าแล้วหักตามเส้นคะแนนและทำความสะอาดขอบด้วยกระดาษทราย ขั้นตอนที่สี่: ทำความสะอาดเปลือกทองแดงด้วยแผ่นขัด SOS หรือขนเหล็ก จนกว่ามันจะส่องแสง ล้างออก และอย่าใช้มือสัมผัสพื้นผิว จาระบีที่ทาไว้จะทำให้โทนเนอร์ไม่ติดทองแดง ขั้นตอนที่ห้า: วางบอร์ดหุ้มทองแดงลงบนพื้นผิวเรียบโดยหงายทองแดงขึ้น วางด้านโทนเนอร์ที่ออกแบบคัตเอาท์ลงบนทองแดงแล้วติดเทปให้เข้าที่ วางกระดาษทิชชู่ทับให้ทั่วแล้วรีดบนเตารีดบนเตารีด ไม่มีไอน้ำ! วางเตารีดไว้ด้านบนโดยตรง ปล่อยให้บอร์ดร้อนขึ้นเล็กน้อยก่อนจะขยับเตารีด จากนั้นจึงนำขอบเตารีดแล้วเผาให้ทั่วเพื่อให้ผงหมึกติดกับทองแดง ควรใช้เวลาประมาณ 3 นาที ถอดเตารีดและกระดาษเช็ดมือออก ขั้นตอนที่หก: แช่กระดานในน้ำเพื่อเอากระดาษออก อย่าหยาบขณะพยายามลอกกระดาษ เพราะหมึกจะเปราะบางและสามารถขูดออกได้ง่าย (หากใช้ไม่ได้ผลไม่ว่าจะด้วยเหตุผลใดก็ตาม เพียงนำแผ่น SOS หรือขนเหล็กไปที่บอร์ดอีกครั้งและทำความสะอาดผงหมึกที่เหลือ) ขั้นตอนที่หก: Etch!**อัปเดต**คุณสามารถหยิบ PDF ได้ที่นี่ หากคุณสนใจไฟล์ Eagle ไฟล์นี้คือไฟล์.brd และไฟล์.sch

ขั้นตอนที่ 4: เจาะรูและเติมบอร์ด

เจาะรูและเติมบอร์ด
เจาะรูและเติมบอร์ด
เจาะรูและเติมบอร์ด
เจาะรูและเติมบอร์ด
เจาะรูและเติมบอร์ด
เจาะรูและเติมบอร์ด
เจาะรูและเติมบอร์ด
เจาะรูและเติมบอร์ด

เมื่อคุณมีแผงวงจรแล้ว ก็ถึงเวลาเจาะรูด้วยดอกสว่านเล็กๆ และบัดกรีส่วนประกอบต่างๆ คุณจะสังเกตเห็นว่าฉันได้สร้างบอร์ดโดยมีรอยที่ด้านบนแทนที่จะเป็นด้านล่างของบอร์ด ฉันทำอย่างนั้นเพราะมันทำให้ง่ายต่อการประสานส่วนหัวเข้ากับบอร์ดและวางไว้ราบกับ Arduino ฉันเริ่มต้นด้วยตัวต้านทานเมื่อใส่บอร์ด งอสายนำให้ใกล้กับตัวต้านทานมากที่สุดแล้วใส่ลงในบอร์ดแล้วประสานแล้วหนีบสายส่วนเกิน คุณสามารถติดตั้งส่วนหัวหรือไฟ LED ต่อไปได้ ต้องติดตั้ง LED อย่างภาคภูมิใจในบอร์ดเพื่อที่จะบัดกรีให้เข้าที่ ดังนั้นฉันขอแนะนำให้ทำมันต่อไป แต่เนื่องจากจำนวนส่วนประกอบต่ำมาก มันไม่สำคัญหรอกว่าส่วนไหนจะถูกติดตั้งก่อน

ขั้นตอนที่ 5: โหลดภาพร่างของคุณ

โหลดภาพร่างของคุณ
โหลดภาพร่างของคุณ
โหลดภาพร่างของคุณ
โหลดภาพร่างของคุณ

โหลดภาพร่าง pdxMap.pde ลงบน Arduino แล้วเสียบ protoshield เข้ากับบอร์ด ตรวจสอบให้แน่ใจว่าคุณเสียบ Arduino ของคุณเข้ากับพอร์ตอนุกรมเดียวกันกับที่คุณได้เปลี่ยนร่างการประมวลผลของคุณให้สะท้อน จากนั้นเปิดภาพร่างการประมวลผลแล้วคลิกปุ่มเล่น หน้าต่างจะปรากฏขึ้นพร้อมกับโปรแกรมของคุณกำลังทำงานอยู่ เมื่อคลิกที่สี่เหลี่ยมสีแดงแต่ละอันจะทำให้ไฟ LED ที่เกี่ยวข้องบน Arduino สว่างขึ้นประมาณหนึ่งวินาทีโปรดโพสต์คำถามหรือความคิดเห็นและโพสต์การแก้ไขและโครงการของคุณ ฉันชอบที่จะเห็นพวกเขา!

แนะนำ: