สารบัญ:

SpookyEyes Skull: 8 ขั้นตอน
SpookyEyes Skull: 8 ขั้นตอน

วีดีโอ: SpookyEyes Skull: 8 ขั้นตอน

วีดีโอ: SpookyEyes Skull: 8 ขั้นตอน
วีดีโอ: Idee eyeliner per Halloween 🎃 makeup tutorial - trucco occhi #halloweenmakeuplook #makeuptutorial 2024, พฤศจิกายน
Anonim
SpookyEyes กะโหลก
SpookyEyes กะโหลก

นี่คือการดัดแปลงง่ายๆ ที่ฉันทำกับหัวกะโหลกฮัลโลวีนพลาสติก ฉันเจาะเบ้าตาและเพิ่มไฟ LED สีแดงสองสามดวง ไฟ LED เชื่อมต่อกับไมโครคอนโทรลเลอร์สำหรับเอฟเฟกต์พิเศษ (จางเข้า/ออก กะพริบ อะไรทำนองนั้น) มีคุณสมบัติเพิ่มเติมบางอย่างของการออกแบบนี้:

  • ใช้พลังงานจากแบตเตอรี่
  • ปรับให้เหมาะสมเพื่ออายุการใช้งานที่ยาวนาน (ฉันคิดว่า 200 ชั่วโมงหรือมากกว่าสำหรับชุดแบตเตอรี่อัลคาไลน์ AA 3 ก้อน

    • เปิดตอนพลบค่ำ
    • ทำงานเป็นเวลา N ชั่วโมง (โปรแกรมเมอร์กำหนดได้) แล้วดับลง
    • พักระหว่างวัน
  • ใช้ชิปไมโครคอนโทรลเลอร์ ATtiny84

หากคุณเป็นคนที่คลั่งไคล้ Arduino และสิ่งที่คุณเคยทำงานด้วยคือชิปที่ติดตั้งไว้ล่วงหน้าบนบอร์ด Arduino นี่อาจเป็นโครงการที่ดีสำหรับคุณที่จะขยายขอบเขตอันไกลโพ้นของคุณอีกเล็กน้อย มีชิป ATmega หลากหลายขนาดที่ล็อคอยู่กับอุปกรณ์ 2 หรือ 3 ตัวที่เสนอโดย Arduino ทั่วไปนั้นค่อนข้างจำกัด ประการหนึ่ง โครงการนี้จะทำได้แตกต่างออกไปมากถ้าฉันต้องใช้ Uno Rev. 3 ตัวบอร์ดนั้นมีราคา 22 เหรียญ; ฉันทำงานให้เสร็จที่นี่ในราคาเพียง $1.50! นอกจากนี้ เนื่องจากมันช้ากว่ามาก (ถึงแม้จะเร็วพอที่จะให้แสง LED) มันจึงใช้พลังงานน้อยลง ซึ่งหมายความว่าเหมาะสำหรับโครงการที่ใช้พลังงานจากแบตเตอรี่มากกว่า

ขั้นตอนที่ 1: เป้าหมาย

เป้าหมาย
เป้าหมาย

ที่นี่พวกเขาจะ:

  1. สร้างดวงตาสีแดงเหมือนผีในเบ้าตาของหัวกะโหลกพลาสติกราคาถูกในวันฮาโลวีน
  2. เพื่อใช้พลังงานจากแบตเตอรี่
  3. เพื่อให้มันใช้งานได้ดี 2 สัปดาห์หรือมากกว่านั้นกับแบตเตอรี่ดังกล่าว
  4. ให้มีวันหมดอายุ ฉันอาศัยอยู่ในพื้นที่ที่สิ่งดีๆ ทิ้งไว้ข้างหน้ามีแนวโน้มที่จะเดินจากไป (น่ากลัวใช่มั้ย ฉันหมายถึง กะโหลกฮัลโลวีนก็โผล่ขึ้นมาทันทีและเดินจากไป ฉันไม่เคยเห็นมันมาก่อน แต่ฉันรู้ว่ามันเกิดขึ้น และความคิดนั้นก็ทำให้ฉันกลัว) ดังนั้น:

    • ฉันไม่ต้องการให้สนับมือเพลิดเพลินไปกับผลงานของฉัน ถ้าพวกมันไปเอากระโหลกของฉันมา ในไม่ช้ามันก็จะไร้ประโยชน์สำหรับพวกเขา! มะ-ฮะ-ฮะ-ฮะ-ฮะ-ฮะ-ฮะ-ฮะ-ฮะ-ฮ่าๆๆๆ!!!
    • กะโหลกนี้จะสว่างเป็นเวลา X จำนวนวันก่อนที่ผีจะพูด
  5. ชิ้นส่วนขั้นต่ำ (ดูจุดที่ 2 ด้านบน)
  6. เพื่อรับความรู้ในไมโครคอนโทรลเลอร์ AVR อื่น ๆ นอกเหนือจาก ATmega328p ใน Arduino Uno และอื่น ๆ
  7. เพื่อเรียนรู้วิธีใช้อุปกรณ์ USBASP ดู https://www.fischl.de/usbasp/ ตามที่ Thomas กล่าวว่า "USBasp เป็นโปรแกรมเมอร์ USB ในวงจรสำหรับคอนโทรลเลอร์ Atmel AVR… โปรแกรมเมอร์ใช้ไดรเวอร์ USB เฉพาะเฟิร์มแวร์ ไม่จำเป็นต้องมีคอนโทรลเลอร์ USB พิเศษ"

ดังที่คุณทราบ Arduino Uno, Leonardo และบอร์ดที่ใช้ AVR อื่นๆ มาพร้อมกับส่วนประกอบเพิ่มเติมมากมาย เช่น FT232RL USB-to-serial chip, power regulator, crystal oscillator, คอนเนคเตอร์และไฟต่างๆ, ส่วนหัว สำหรับการเดินสาย ฯลฯ และหลังจากที่ชิปถูกตั้งโปรแกรมผ่านอินเทอร์เฟซ USB แล้ว IC เพิ่มเติมก็เป็นเพียงการระบายพลังงาน นอกจากนี้ หากคุณจ่ายไฟจากแบตเตอรี่ ตัวควบคุมแรงดันไฟฟ้าจะไม่มีประโยชน์อย่างดีที่สุดและที่แย่ที่สุดคือการจ่ายพลังงานของคุณหมด หากคุณต้องการควบคุม LED เพียงสองสามดวง แทบทุกอย่างนอกจากโปรเซสเซอร์จะไม่จำเป็นสำหรับชีวิตส่วนใหญ่ของโครงการของคุณ

นอกจากนี้ ส่วนใหญ่ถ้าไม่ใช่ชิป AVR ทั้งหมดจะมาพร้อมกับออสซิลเลเตอร์นาฬิกาในตัว มันไม่ได้เร็วหรือแม่นยำเท่าคริสตัล แต่สำหรับกรณีการใช้งานทั่วไป สำคัญอย่างไร?

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

ข้อเสียคือคุณต้องนำอุปกรณ์การเขียนโปรแกรมมาเอง โชคดีที่มีร้านหนึ่งที่เรียกว่า "USBASP" คิดว่ามันเหมือนกับชิป USB-to-serial ในตัวของ Arduino แต่แยกและถอดออกได้ คุณสามารถใช้มันกับทุกโครงการของคุณ ยิ่งไปกว่านั้น ยังไม่จำเป็นต้องใช้โปรแกรมโหลดบูตอีกด้วย คุณจะได้หน่วยความจำนั้นกลับมา ถ้าคุณต้องการ

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

8. เป้าหมายสุดท้าย: ฉันหวังว่าคุณจะสนุกกับคำแนะนำนี้!

ขั้นตอนที่ 2: ส่วนผสม

วัตถุดิบ
วัตถุดิบ
วัตถุดิบ
วัตถุดิบ
วัตถุดิบ
วัตถุดิบ
  • แบตเตอรี่ AA 3 ก้อน (วอลกรีน)
  • ที่ใส่แบตเตอรี่สำหรับแบตเตอรี่ AA 3 ก้อน (eBay)
  • คลิปแบตเตอรี่ 9V (อีเบย์)
  • เขียงหั่นขนมสำหรับการทดสอบ (eBay)
  • บอร์ด PC (เขียงหั่นขนมแบบบัดกรีได้)
  • หัวต่อตัวเมีย 0.1" (0.254 มม.) (สำหรับ ATtiny84a ของคุณ หากคุณมั่นใจ ให้บัดกรี ATtiny เข้ากับบอร์ด PC) (eBay)
  • ไฟ LED สีแดง 2x 5 มม. (อีเบย์)
  • ตัวเก็บประจุด้วยไฟฟ้า 100 ยูเอฟ (อีเบย์)
  • ตัวเก็บประจุเซรามิก 0.1 ยูเอฟ (อีเบย์)
  • ตัวต้านทาน 2.2 เมกะโอห์ม (อีเบย์)
  • ตัวต้านทานที่ไวต่อแสง (eBay)
  • ตัวต้านทาน 2x82 โอห์ม (eBay)
  • ATtiny84a ไมโครคอนโทรลเลอร์ชิป (eBay)
  • ลวดเชื่อมแบบแข็ง 24 เกจ (eBay)
  • หัวแร้ง (Amazon หรือ Radio Shack)
  • บัดกรี (Amazon หรือ Radio Shack ไร้สารตะกั่วดีที่สุด)
  • กาว
  • พลาสติกกระโหลกฮัลโลวีน ไม่เล็กไป กลวง (Walmart, Dollar Store, etc.)
  • โปรแกรมเมอร์ usbasp (eBay)

คำแนะนำและเคล็ดลับในการซื้ออุปกรณ์อิเล็กทรอนิกส์สำหรับผู้ที่อยู่ในสหรัฐอเมริกา:

สำหรับข้อมูลพื้นฐานใดๆ ของคุณ (ตัวต้านทาน ทรานซิสเตอร์ ตัวเก็บประจุ ไฟ LED ฯลฯ) ให้ไปที่ eBay โครงการอิเล็กทรอนิกส์ของคุณโดยทั่วไปจะใช้ขนาดมาตรฐาน (เช่นกรณีที่นี่); นี่เป็นช่วงเวลาที่ดีในการสะสม ค้นหารอบ ๆ และค้นหาแพ็คที่มี 20, 40, 100 ชิ้นในนั้น ซื้อเหล่านั้น; โดยทั่วไปคุณสามารถหาซื้อได้ในราคาต่ำกว่า 10 เหรียญและจัดส่งฟรี ซึ่งถูกกว่า Mouser/Digi-Key/Newark มาก ที่นั่นคุณจะได้ราคาที่สมเหตุสมผลสำหรับชิ้นส่วนต่างๆ แต่จากนั้นพวกเขาก็ตีคุณ 9 เหรียญสำหรับการจัดส่ง ราคาต่ำเหล่านั้นระเหยอย่างรวดเร็ว! คุณสามารถหาชิ้นส่วนพิเศษได้อย่างแน่นอนและการเลือกนั้นดีมากที่ร้านค้าเฉพาะทาง แต่คุณเสียหายจากการขนส่งนั้น ในทางกลับกัน ฉันพบ ATtiny84a จำนวน 5 ชุดในราคา $7.50 บน eBay พร้อมค่าจัดส่งฟรี 5 MCUs ในราคาที่ถูกกว่าค่าส่ง 1 จาก Mouser! โยเซอร์! และอีเบย์มีส่วนประกอบหลากหลายแพ็คที่คุณต้องการ และคุณรู้ว่าถ้าคุณต้องการตัวต้านทานตัวเดียว คุณจะต้องมีโหล!

ขั้นตอนที่ 3: USBasp

USBasp
USBasp
USBasp
USBasp

ก่อนที่เราจะเริ่ม เรามาพูดถึง USBasp กันสักหน่อย หาได้ง่ายบนอีเบย์ ไปซื้อมาเลย ไม่ต้องห่วง ฉันจะรอ…

เข้าใจมั้ย? ดี! ซื้อจากจีนหรอค่ะ? ไม่น่าแปลกใจที่มันใช้เวลานานมาก:-) โอเค ถูกกว่านั้นฉันก็มั่นใจ ส่งฟรีด้วยนะ

หากคุณเป็นแฟน Linux อย่างฉัน USBasp ใช้งานได้ทันที สำหรับ Windows 10 นั้นซับซ้อนกว่าเล็กน้อย ผ่านมันไปกันเถอะ:

เว็บไซต์ USBasp ที่ https://www.fischl.de/usbasp/ ชี้ให้เราไปที่เครื่องมือติดตั้งไดรเวอร์ "Zadig" ที่

  • ดาวน์โหลดได้. ฉันดาวน์โหลดเวอร์ชัน 2.4
  • Windows 10 จะถามคุณว่าคุณต้องการเปลี่ยนแปลงอุปกรณ์หรือไม่ ใช่. ใช่คุณทำ
  • ตัดสินใจว่าคุณต้องการให้ Zadig ตรวจสอบการอัปเดตแอปพลิเคชันหรือไม่ ฉันพูดว่าใช่.
  • ตอนนี้ฉันทำตามคำแนะนำจาก https://rayshobby.net/dead-simple-driver-installa… นั่นคือ,
  • เสียบอุปกรณ์ USBasp บางทีคุณจะเห็นไฟ LED สีแดงสว่างขึ้น
  • ใน Zadig ในกล่องทางด้านขวาของลูกศรสีเขียวขนาดใหญ่ ให้คลิกลูกศรขึ้นหรือลงเล็กๆ จนกว่าคุณจะเห็น libusbK (v3.0.7.0) นี่สำหรับ Windows 10
  • คลิกปุ่มติดตั้งไดรเวอร์ขนาดใหญ่
  • รอ. ในอีกไม่กี่วินาที คุณจะเห็นข้อความ "The driver has been installed reservedเสร็จเรียบร้อย" กล่องโต้ตอบ ปิดมัน

อุปกรณ์ USBasp ของคุณพร้อมแล้ว!

ขั้นตอนที่ 4: Arduino รองรับ ATtiny

Arduino รองรับ ATtiny
Arduino รองรับ ATtiny
Arduino รองรับ ATtiny
Arduino รองรับ ATtiny

Arduino IDE ไม่รองรับชิปซีรีส์ ATtiny ที่นำออกจากกล่อง คุณต้องเพิ่มลงใน IDE โดยใช้ตัวจัดการบอร์ด ดู

สมมติว่าคุณดาวน์โหลดซอฟต์แวร์ Arduino แล้ว ฉันจะสร้างขั้นตอนใหม่จาก URL ด้านบนนี้ อย่างง่าย

  • เปิดซอฟต์แวร์ Arduino (ฉันใช้ 1.8.7 ในขณะที่เขียนนี้)
  • เปิดเมนู: ไฟล์ -> การตั้งค่า หาช่อง "Additional Boards Manager URLs" ใกล้ด้านล่าง
  • คัดลอกและวางสิ่งต่อไปนี้:

raw.githubusercontent.com/damellis/attiny/…

  • นั่นคือ
  • คลิกตกลง
  • เปิดเมนู: เครื่องมือ -> บอร์ด: "" -> ตัวจัดการบอร์ด (ที่ด้านบนของรายการ)
  • เลื่อนไปที่ด้านล่าง คุณควรหา "attyy by David A. Mellis"
  • คลิกปุ่มติดตั้ง
  • เลื่อนไปที่ด้านล่างของรายการ คุณควรเห็น "INSTALLED" ทันที
  • เปิดเมนู: เครื่องมือ -> บอร์ด: ""
  • คุณควรเห็น ATtiny ที่ด้านล่างของรายการ คลิกที่ "ATtiny24/44/84"
  • เปิดเมนู: เครื่องมือ -> ตัวประมวลผล: "" เลือก ATtiny84
  • ภายใต้เมนูเครื่องมือ คุณจะเห็นรายการนาฬิกา ค่าเริ่มต้นนั้นดี นี่คือวิธีการจัดส่งโปรเซสเซอร์ ATtiny พร้อมนาฬิกาภายใน 1 MHz
  • ภายใต้เมนูเครื่องมือ เลือกพอร์ต คุณต้องการ "COM1"

ขั้นตอนที่ 5: การทดสอบ การทดสอบ: Breadboard Your Circuit

การทดสอบ การทดสอบ: Breadboard Your Circuit
การทดสอบ การทดสอบ: Breadboard Your Circuit
การทดสอบ การทดสอบ: Breadboard Your Circuit
การทดสอบ การทดสอบ: Breadboard Your Circuit

หากคุณไม่คุ้นเคยกับเขียงหั่นขนม…เอาล่ะ นี่เป็นวิธีเดียวในการทดสอบวงจรของคุณและตรวจสอบให้แน่ใจว่าวงจรเหล่านั้นทำในสิ่งที่คุณต้องการ ฉันขอแนะนำแม้ว่าคุณจะสร้างวงจรที่รู้จักเช่นนี้ ซึ่งได้รับการทดสอบและใช้งานได้แล้ว คุณจะทำความคุ้นเคยกับการจัดสิ่งต่าง ๆ เพื่อที่ว่าถ้าและเมื่อบางอย่างทำงานไม่ถูกต้อง คุณจะมีเวลาแก้ไขปัญหาได้ง่ายขึ้น

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

เมื่อใส่ LED และตัวเก็บประจุด้วยไฟฟ้า จำไว้ว่าทิศทางนั้นมีค่า คุณต้องวางด้านลบเข้าหาขั้วลบของแบตเตอรี่ และด้านบวกหันไปทางด้านบวกของสิ่งต่างๆ ในกรณีของไฟ LED ไฟจะติดเมื่อพินของ ATTiny84a เปลี่ยนเป็นค่าบวก (หรือ "สูง") ดังนั้นด้านบวกของ LED ควรเชื่อมต่อกับพินที่เหมาะสมบน ATTiny84a

มีหลายเว็บไซต์ที่กล่าวถึงขั้ว LED; คุณสามารถหาบทช่วยสอนดังกล่าวได้ที่นี่: https://learn.sparkfun.com/tutorials/polarity/diod… ในที่สุด วิธีที่ดีที่สุดที่ฉันได้พบในการทดสอบขั้วคือการเสียบตัวต้านทาน 120 โอห์มเข้ากับขั้วลบของแบตเตอรี่ เสียบ LED หนึ่งพินที่ปลายอีกด้านของตัวต้านทานนั้น จากนั้นเชื่อมต่อปลายอีกด้านหนึ่งของ LED กับขั้วบวกของแบตเตอรี่ (หรือที่เรียกว่า VCC) หากไฟ LED สว่างขึ้น คุณจะรู้ว่าขาไหนคือขาไหน

สำหรับตัวเก็บประจุขนาด 100 ไมโครฟารัด นี่คือตัวเก็บประจุแบบอิเล็กโทรไลต์ โดยพื้นฐานแล้วหมายความว่าการวางแนวก็มีความสำคัญเช่นกัน หมุดลบควรติดฉลากไว้ โดยขั้นตอนการกำจัดคุณสามารถทราบได้ว่าพินใดเป็นบวก:-) เชื่อมต่ออย่างถูกต้อง

ตัวต้านทาน โฟโตเซลล์ และตัวเก็บประจุเซรามิกทรงกลมขนาดเล็กไม่มีขั้ว เชื่อมต่อไปยังทิศทางใดก็ได้ที่คุณต้องการ ตรวจสอบให้แน่ใจว่าคุณเชื่อมต่อตัวเก็บประจุเซรามิกขนาดเล็กใกล้กับพิน VCC และ GND ของ ATTiny84a หน้าที่ของมันคือการทำให้การดึงพลังงานอย่างรวดเร็วออกจากไมโครคอนโทรลเลอร์ ATtiny เป็นไปอย่างราบรื่น มันเต็มไปด้วยประจุเล็กน้อยจากแหล่งพลังงาน (แบตเตอรี่) ซึ่งสามารถใช้ได้อย่างรวดเร็วหากไมโครคอนโทรลเลอร์ต้องการในเวลาไมโครวินาที ป้องกันไม่ให้แรงดันไฟจ่ายไปยังชิปตกต่ำเกินไปเนื่องจากการดึงกระแสไฟอย่างรวดเร็วชั่วขณะ

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

ตัวเก็บประจุทั้งสองตัวทำปฏิกิริยาได้เร็วกว่ากับกระแสไฟชั่วขณะมากกว่าแบตเตอรี่ ซึ่งเป็นสาเหตุที่รวมไว้ด้วย เป็นกรณีที่วงจรของฉันมีพฤติกรรมแปลก ๆ หากขาดหายไป มันอาจจะลึกลับมาก ดังนั้นมันจึงมีความสำคัญ

อัปเดต

ไม่แสดงที่นี่ แต่จำเป็น คือตัวต้านทาน 10K ohm จากพิน 4 ถึง Vcc คุณจะทำได้ดีในการติดตั้ง อย่างไรก็ตาม ฉันไม่ได้ทำ และวงจรก็ทำงานได้ดี หากไม่มีมัน คุณอาจเสี่ยงที่จะรีเซ็ตชิปของคุณปลอม

ขั้นตอนที่ 6: โหลด Sketch

โหลด Sketch
โหลด Sketch

ถึงเวลาโหลดภาพร่างแล้ว มาทำไฟกระพริบกันเถอะ!

คุณจะพบซอร์สโค้ดสำหรับภาพร่างที่

  • หยิบมันขึ้นมาแล้วโหลดลงในซอฟต์แวร์ Arduino
  • หมายเหตุ: มีส่วนในโค้ดที่มีลักษณะดังนี้:

// --- DEBUG DEBUG DEBUG DEBUG D--vvvv--UG DEBUG DEBUG DEBUG DEBUG DEBUG DEBUG DEBUG ดีบัก// --- DEBUG DEBUG DEBUG DEBUG D--vvvv--UG DEBUG DEBUG DEBUG DEBUG DEBUG DEBUG DEBUG ดีบัก #undef DEBUG / / --- ดีบัก ดีบัก ดีบัก ดีบัก D--vvvv-- UG ดีบัก ดีบัก ดีบัก ดีบัก ดีบัก ดีบัก ดีบัก // --- ดีบัก ดีบัก ดีบัก ดีบัก D--vvvv-- UG ดีบัก ดีบัก ดีบัก ดีบัก ดีบัก ดีบัก ดีบัก

ฉันแนะนำให้เปลี่ยน

#undef DEBUG

ถึง

#define DEBUG

เนื่องจากการกำหนดเวลาของลูปสั้นลงอย่างมาก คุณควรเปลี่ยนกลับและอัปโหลดใหม่เมื่อคุณพร้อมที่จะแสดง SpookyEyes จริง

  • ไปข้างหน้าและทำอย่างนั้นตอนนี้ ส่วนที่เหลือของหน้านี้ถือว่าคุณทำไปแล้ว
  • ตรวจสอบให้แน่ใจว่าคุณได้ทำตามขั้นตอนใน ขั้นตอนที่ 4: Arduino รองรับ ATtiny
  • ตอนนี้เสียบด้าน Arduino ของ usbasp เข้ากับบอร์ดของคุณ คุณต้องการเชื่อมต่อดังนี้:

    • GND เป็นลบแบตเตอรี่ของคุณ
    • MOSI เพื่อตรึง 7 ของ ATtiny
    • MISO เพื่อตรึง 0 ของ ATtiny
    • SCK เพื่อตรึง 9 ของ ATtiny
    • RST เพื่อตรึง 4 ของ ATtiny
  • เสียบปลายอีกด้านของ USBasp เข้ากับพอร์ต USB ของพีซี
  • เชื่อมต่อแบตเตอรี่หรือแหล่งพลังงาน 5v อื่นๆ เข้ากับวงจรของคุณ
  • อัปโหลดภาพร่างโดยใช้ Arduino IDE (Sketch->Upload) ไฟ LED จะกะพริบเนื่องจากหมุดบางตัวที่ใช้สำหรับวงจรนั้นใช้สำหรับ USBasp ด้วย

สเก็ตช์ทำงานอย่างไร

ตรวจสอบให้แน่ใจว่าคุณอยู่ในห้องที่ค่อนข้างสว่างหรือหันแสงจากไฟฉายไปยังตัวต้านทานที่ไวต่อแสงเล็กน้อย จ่ายไฟให้วงจร และสังเกตไฟ LED ของดวงตา นี่คือโหมด "แสงแดด" ตอนนี้สเก็ตช์กำลังทำงาน คุณควรเห็นสิ่งต่อไปนี้ โปรดทราบว่าพื้นที่ในรหัสที่อธิบายในที่นี้จะมีเครื่องหมาย "บุ๊กมาร์ก" ไม่ใช่หมายเลขบรรทัด คุณจึงสามารถปฏิบัติตามได้ มีรูปแบบดังนี้ #BK.descriptive_string ("Pound BK Period" ตามด้วยสตริงอธิบายบางประเภท) ตัวอย่างเช่น บุ๊กมาร์กแรกเรียกว่า "#BK. Hello" และสามารถพบได้ในโค้ดที่ไฟ LED ติดสว่างเป็นเวลาหนึ่งวินาที จากนั้นจึงเว้นว่างไว้หนึ่งวินาที:

  • ไฟ LED ทั้งสองดวงจะติดหนึ่งวินาที จากนั้นจะดับเป็นเวลาหนึ่งวินาที #BK.สวัสดี
  • ทั้งคู่กะพริบช้าๆ 3 ครั้ง นี่แสดงว่า ATtiny ถูกตั้งค่าความเร็ว 1MHz #BK.check_time * ดูหมายเหตุ A ด้านล่าง
  • หยุดสักครู่
  • จากนั้นพวกเขาก็กะพริบเร็วสองครั้ง
  • หยุดสักครู่
  • ตอนนี้คุณอยู่ในลูป () #BK.loop จำไว้ว่าตอนนี้หนึ่งชั่วโมงมีเพียง 10 วินาทีเท่านั้น

"สลัก" ปิดอยู่ และระยะเวลา HOUR_millis (== 1 ชั่วโมงในโหมดปกติ) ยังไม่ผ่านไป เราจึงข้ามผ่านทุกอย่างไปจนกระทั่งถึง #BK.indicate_duration จนถึงตอนนี้ เราอยู่ในชั่วโมงศูนย์ เราจึงกะพริบตาเป็น 0 ครั้ง

  • สิ่งนี้จะดำเนินต่อไปจนถึง HOUR_millis วินาที (10 วินาทีในโหมด DEBUG)
  • จากนั้นกะพริบเร็วสามครั้ง #BK.time_management
  • เพิ่ม "ชั่วโมง" อื่นโดยเพิ่มตัวแปร latch_time_off
  • จากนั้นกระโดดลงไปที่ #BK.indicate_duration ที่นั่น เราแสดงจำนวน "ชั่วโมง" ที่เราวิ่งไป หมายเลขนี้ถูกเก็บไว้ใน EEPROM ดังนั้นจึงสามารถใช้ได้แม้ว่าจะถอดไฟออกจากชิปแล้วก็ตาม

    • ชั่วโมงแรกของเราในแสงสว่างได้เสร็จสิ้นลงแล้ว เราจึงแฟลชหนึ่งครั้งสั้นๆ
    • จากนั้นหยุดชั่วคราว 2 วินาที
  • กลับไปที่ลูป ():

    • ทุกการวนซ้ำในลูปตอนนี้ เราจะตรวจสอบเพื่อดูว่าเวลา HOURS_milli ผ่านไปแล้วหรือไม่ สำหรับการทำซ้ำหลายครั้งแรก (ใน DEBUG) จะไม่มี เราจึงไม่แฟลช 3 ครั้ง
    • เราข้ามไปที่ #BK.indicate_duration และเรากระพริบอย่างรวดเร็วเพื่อนับจำนวนชั่วโมงที่เราอยู่ในแสง ซึ่งจะถูกเก็บไว้ในตำแหน่ง EEPROM 0 อีกครั้ง
    • สิ่งนี้ดำเนินต่อไปเป็นเวลานาน
    • โปรดทราบว่าเมื่อตัวเลขในตำแหน่ง EEPROM 0 ใหญ่เพียงพอ การวนซ้ำจะกลายเป็น:

      • แฟลช 3 ครั้งด้วยความเร็วที่เหมาะสม
      • แฟลชอย่างรวดเร็วจำนวน HOURS_millis ที่เราได้รับในแสง
      • รอ 2 วินาที
      • ทำซ้ำ.

ตอนนี้วางนิ้วของคุณบนตัวต้านทานที่ไวต่อแสง หรือเพียงแค่ปิดไฟ วนซ้ำตอนนี้กลายเป็น:

  • latch_time_off ของเราได้ผ่านไปหนึ่งชั่วโมงแล้ว และมันมืดแล้ว ที่ #BK.check_the_light เราพบว่ามันมืดจริงๆ
  • เราเปิดสลัก สิ่งนี้เริ่มต้นสิ่งน่ากลัวทุกวง ดูนี่คือสิ่งที่น่ากลัว รหัสควรจะอธิบายอย่างเป็นธรรม
  • เมื่อสลักเปิดนานพอ เราจะปิดมัน ดู #BK.turn_spookiness_off.
  • ตอนนี้เรากลับไปที่ #BK.time_management ตาม "กะพริบเร็วสามครั้ง" ด้านบน

Run For Real

อย่าลืมเปลี่ยนร่างเป็น #undef DEBUG

หมายเหตุ A

* หมายเหตุ A: รวมรหัสเพื่อตั้งค่าเป็น 8 MHz ดู CLKPR = 0x00; รหัสแสดงความคิดเห็น หากคุณต้องการทำสิ่งนี้ (และไม่มีเหตุผลสำหรับวงจรนี้) ตรวจสอบให้แน่ใจว่าคุณเปลี่ยน Arduino IDE ในรายการเมนูเครื่องมือ->นาฬิกา

ขั้นตอนที่ 7: จาก Breadboard ถึง Soldered Circuit

จากเขียงหั่นขนมสู่วงจรบัดกรี
จากเขียงหั่นขนมสู่วงจรบัดกรี
จากเขียงหั่นขนมสู่วงจรบัดกรี
จากเขียงหั่นขนมสู่วงจรบัดกรี
จากเขียงหั่นขนมสู่วงจรบัดกรี
จากเขียงหั่นขนมสู่วงจรบัดกรี

ตอนนี้ได้เวลาทำการผลิตวงจรแล้ว! รับ perfboard ที่บัดกรีได้เล็กน้อย ฉันชอบ Radio Shack Catalog #: 2760159, seen here: https://www.radioshack.com/collections/prototyping…. มีช่องว่างมากมายสำหรับการถ่ายโอนส่วนประกอบบอร์ด PC ของคุณไปยังบอร์ดแบบสมบูรณ์แบบ

อย่าลืมใส่ซ็อกเก็ตเล็กๆ สำหรับเสียบสาย USBasp (สำหรับการตั้งโปรแกรม)! คุณจะต้องการ 5 ของพวกเขา

เตรียมหัวกระโหลก

ปรับกะโหลกศีรษะของคุณว่าจะนั่งบนพื้นอย่างไร คุณจะต้องเจาะรูสำหรับโฟโตรีซีสเตอร์เพื่อให้ได้รับแสง:-) …ขั้นตอนสำคัญ! นอกจากนี้ ใช้เครื่องมือตัดที่คุณชื่นชอบ ตัดเปิดด้านล่างของกะโหลกศีรษะเพื่อให้มีที่ว่างสำหรับแผงวงจรและแบตเตอรี่ ตัด 3 ด้านเท่านั้นเพื่อทำประตู

เจาะรูเพื่อให้โฟโตรีซีสเตอร์เป็นแบบกดพอดี แน่นอน คุณสามารถทดสอบขนาดจากด้านนอกของกะโหลกศีรษะเพื่อให้ถูกต้อง เริ่มต้นด้วยการเจาะเล็กๆ เสมอ และอย่าเจาะเร็วเกินไปเพื่อไม่ให้เกิดแสงวาบรอบๆ รูจนคุณต้องโกนด้วยมีด

เจาะรูตาสำหรับไฟ LED ปรับขนาดอย่างระมัดระวังดังนั้นไฟ LED จะพอดีกับแบบกด ฉันใส่ไฟ LED จากด้านใน และเนื่องจากภายในไม่มีช่องว่างให้ทำงานมากนัก ฉันจึงหยดกาวร้อนละลายเล็กน้อยที่ด้านหลังของ LED เพื่อเป็นประกันเพิ่มเติมเล็กน้อยเพื่อยึดไว้

ฉันยังระมัดระวังในการหุ้มสายไฟหนึ่งเส้นกับ LED แต่ละตัวในท่อหดด้วยความร้อน

ใส่วงจรใน

เนื่องจากกระโหลกศีรษะนั่งอยู่ที่นั่น ฉันจึงไม่ค่อยระมัดระวังในการติดตั้งแผงวงจร ฉันตรวจสอบให้แน่ใจว่าก้อนแบตเตอรี่อยู่ด้านล่างและจะไม่มีการลัดวงจร เมื่อต่อสาย เสียบและเปิดเครื่อง ฉันก็ปิด ipt แล้ววางกาวร้อนละลายหยดหนึ่งที่แผ่นปิดด้านล่าง

ตรวจสอบให้แน่ใจว่าคุณต่อสายไฟกับ LED และโฟโตรีซีสเตอร์ให้ยาวเพื่อให้สามารถดึงแผงวงจรออกเพื่อตั้งโปรแกรมใหม่ได้

ขั้นตอนที่ 8: ดวงตาที่น่ากลัว !!!! อร๊ายยยยย!!!

ตาค้าง!!!! อร๊ายยยยย!!!!
ตาค้าง!!!! อร๊ายยยยย!!!!

ตกลงตอนนี้ที่มัน Spooky Eyes ของคุณจะเปิดขึ้นในตอนพลบค่ำ จัดแสดงสำหรับนักเล่นกลเป็นเวลา 4 ชั่วโมง จากนั้นปิดเพื่อถนอมแบตเตอรี่ จะปิดจนถึงเย็นวันถัดไป โดยจะใช้เวลา TOTAL_RUN_HOURS ชั่วโมง ดังนั้นเตรียมค่านั้นไว้ในแบบร่างอย่างระมัดระวัง เนื่องจากฉันมีค่าเริ่มต้น MAX_RUNTIME 4 ชั่วโมง 40 ชั่วโมงสำหรับ TOTAL_RUN_HOURS หมายความว่าจะทำงานเป็นเวลา 10 วัน

หากมีคนตัดสินใจว่ามันอร่อยเกินไปสำหรับคุณและนำกลับบ้าน SpookyEyes จะวิ่งให้จบจากนั้นก็เงียบและหลอกหลอนวิญญาณของพวกเขาตลอดไป พูดได้คำเดียวว่า โจรน่าจะหลีกเลี่ยงไม่ให้เอากะโหลก SpookyEyes ของคุณไปอยู่ดี!

ทิ้ง SpookyEyes ของคุณไว้สำหรับฤดูกาลนี้ ปีหน้า เพียงแค่อัปโหลดภาพสเก็ตช์อีกครั้ง และ SpookyEyes ก็กลับมามีชีวิตอีกครั้ง! มันน่ากลัวแค่ไหน? อุ๊ย!!!!

การปรับปรุง

ฉันน่าจะให้ ATtiny เข้านอนในระหว่างวัน ปิดเครื่องดึงกระแสไฟน้อยมาก

ฉันควรจะใส่ตัวต้านทาน 10K ohm ที่พิน 4 สิ่งนี้จะป้องกันไม่ให้วงจรรีเซ็ตอย่างลึกลับ ฉันไม่มีปัญหาอะไร แต่ควรทำเพื่อให้ถูกต้อง

ใช้พลังงานจากแบตเตอรี่

ฉันชอบ ATtiny84 เป็นชิปขนาดเล็กที่ยอดเยี่ยมสำหรับวงจรที่มีกำลังต่ำ แน่นอนว่าไม่มีความสามารถ Serial.print() ของ Arduino ATmega328p และรุ่นเดียวกัน แต่คุณสามารถมีไฟกะพริบในบางวิธีเพื่อบอกคุณว่าเกิดอะไรขึ้นภายในวงจรของคุณ สำหรับการดีบัก ทำงานด้วยได้ไม่ยาก

ฉันหวังว่าคุณจะพบคำแนะนำนี้…สอนได้!

แนะนำ: