สารบัญ:

ไฟฟักทองที่ตั้งโปรแกรมได้: 25 ขั้นตอน (พร้อมรูปภาพ)
ไฟฟักทองที่ตั้งโปรแกรมได้: 25 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: ไฟฟักทองที่ตั้งโปรแกรมได้: 25 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: ไฟฟักทองที่ตั้งโปรแกรมได้: 25 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: DIY โคมไฟทำจากฟักทอง ง่ายนิดเดียว (Jack O Lantern in USA) 2024, พฤศจิกายน
Anonim
โปรแกรมไฟฟักทอง
โปรแกรมไฟฟักทอง
โปรแกรมไฟฟักทอง
โปรแกรมไฟฟักทอง
โปรแกรมไฟฟักทอง
โปรแกรมไฟฟักทอง
โปรแกรมไฟฟักทอง
โปรแกรมไฟฟักทอง

คำแนะนำนี้มีไว้สำหรับการสร้างไฟฟักทองที่ตั้งโปรแกรมได้ด้วยไมโครคอนโทรลเลอร์ ATTiny สิ่งนี้ได้รับการออกแบบเพื่อเป็นการสาธิตการเรียนรู้เพื่อแนะนำทุกคน (อายุ 8 ปีขึ้นไป) ให้รู้จักกับอุปกรณ์อิเล็กทรอนิกส์และไมโครคอนโทรลเลอร์ในการเขียนโปรแกรมโดยใช้ Arduino IDE

วัตถุประสงค์ที่เอนเอียง:

  1. ทำความเข้าใจว่าอินพุตคืออะไร และเอาต์พุตสำหรับไมโครคอนโทรลเลอร์คืออะไร
  2. ทำความเข้าใจว่าเอาต์พุตของไมโครคอนโทรลเลอร์สามารถควบคุม LED ได้อย่างไร
  3. ทำความเข้าใจว่า microntroller สามารถอ่านอินพุตของปุ่มได้อย่างไร

ชิ้นส่วนที่จำเป็น:

  1. 1 กระดานขนมปังมินิ
  2. 1 ATTiny85
  3. 1 3V แบตเตอรี่เซลล์แบบเหรียญ
  4. ที่ใส่แบตเตอรี่เซลล์แบบเหรียญ 1 ก้อน
  5. ตัวต้านทาน 1 330 โอห์ม (ส้ม, ส้ม, แดง)
  6. ตัวต้านทาน 1 10 k โอห์ม
  7. 1 RGB LED
  8. สวิตช์เลื่อน 1 ตัว
  9. 1 ปุ่มกด
  10. 8 สาย
  11. 1 Piezzo Buzzer

เครื่องมือที่จำเป็น:

  1. คอมพิวเตอร์พร้อมซอฟต์แวร์ Arduino
  2. โปรแกรมเมอร์ AVR (เราใช้ Sparkfuns Tiny AVR Prorgrammer แต่ถ้าคุณมี Arduino อยู่แล้ว คุณสามารถทำตามคำแนะนำเหล่านี้เพื่อตั้งโปรแกรม ATTiny85 ด้วย Arduino ของคุณ)
  3. เพื่อให้โค้ดนี้ใช้งานได้ คุณต้องใช้ ATTiny Board ของ Dr. Azzy ที่นี่: https://drazzy.com/package_drazzy.com_index.json (คำแนะนำในการติดตั้งมีให้ในขั้นตอนที่ 20)
  4. พบไลบรารี RTTL ที่นี่: https://github.com/cefn/non-blocking-rtttl-arduino/blob/master/README.md (คำแนะนำในการติดตั้งมีให้ในขั้นตอนที่ 21)

ขั้นตอนที่ 1: ใส่ส่วนประกอบบนเขียงหั่นขนมของคุณ

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

หมายเหตุ: แถวกระดานขนมปังที่ด้านใดด้านหนึ่งของเส้นกึ่งกลางเชื่อมต่อกัน

ขั้นตอนที่ 2: วางปุ่มกดบนเขียงหั่นขนมของคุณ

วางปุ่มกดบนเขียงหั่นขนมของคุณ
วางปุ่มกดบนเขียงหั่นขนมของคุณ

ใส่ปุ่มกดลงในช่องว่างวงกลมสีแดงบนกระดานขนมปังของคุณ

ขั้นตอนที่ 3: ใส่ RGB LED บน Breadboar

ใส่ RGB LED บนเขียงหั่นขนมของคุณ
ใส่ RGB LED บนเขียงหั่นขนมของคุณ

ใส่ RGB LED ลงในช่องว่างวงกลมบน breadboard ของคุณ สิ่งสำคัญคือต้องวางไว้ในกระดานตามที่แสดงไว้ที่นี่ ขายาวควรเข้าไปในรูที่ 5 จากด้านบน

ขั้นตอนที่ 4: ใส่ ATTINY85 บนเขียงหั่นขนมของคุณ

ใส่ ATTINY85 บนเขียงหั่นขนมของคุณ
ใส่ ATTINY85 บนเขียงหั่นขนมของคุณ

วาง ATTINY 85 ของคุณไว้ตรงกลางจากแถวที่ 8 ถึงแถวที่ 11 ตรวจสอบให้แน่ใจว่าจุดเล็ก ๆ อยู่ที่ด้านซ้ายบน

*ระวังอย่าให้ขาของไมโครคอนโทรลเลอร์ ATTINY85 หัก อย่าดันไมโครคอนโทรลเลอร์เข้าไปจนสุด เนื่องจากเราจะนำไมโครคอนโทรลเลอร์ออกเพื่อตั้งโปรแกรมในภายหลัง

ขั้นตอนที่ 5: ต่อไฟ LED สีน้ำเงินไปที่ Pin 0 ของ ATTiny85

ต่อไฟ LED สีน้ำเงินเข้ากับขา 0 ของ ATTiny85
ต่อไฟ LED สีน้ำเงินเข้ากับขา 0 ของ ATTiny85

เพิ่มสายไฟต่อขา LED สีน้ำเงิน เข้าขา 0 ของ ATTiny ดังรูป

หมายเหตุ* สีของเส้นลวดไม่สำคัญ แต่ควรใช้สีที่ต่างกันเพื่อให้มองเห็นสิ่งที่เชื่อมต่อได้ง่ายขึ้น

ขั้นตอนที่ 6: ต่อไฟ LED สีเขียวไปที่ขา 1 ของ ATTiny85

ต่อไฟ LED สีเขียวเข้ากับขา 1 ของ ATTiny85
ต่อไฟ LED สีเขียวเข้ากับขา 1 ของ ATTiny85

ลวดพินตามที่แสดงในภาพ

ขั้นตอนที่ 7: ต่อ LED สีแดงเข้ากับขา 2 ของ ATTiny85

ต่อ LED สีแดงเข้ากับขา 2 ของ ATTiny85
ต่อ LED สีแดงเข้ากับขา 2 ของ ATTiny85

ใส่ลวดลงในรูที่แสดงในภาพ

หมายเหตุ* สีของเส้นลวดไม่สำคัญ แต่ควรใช้สีต่างๆ เพื่อให้มองเห็นสิ่งที่เชื่อมต่อได้ง่ายขึ้น

ขั้นตอนที่ 8: ต่อสายด้านพลังงานของปุ่ม

ต่อสายไฟด้านข้างของปุ่ม
ต่อสายไฟด้านข้างของปุ่ม

เพิ่มสายสีดำที่ยาวขึ้น (0.75in) ตามที่แสดงในภาพ

ขั้นตอนที่ 9: ต่อสายกราวด์ของ RGB LED

ต่อสายกราวด์ของ RGB LED
ต่อสายกราวด์ของ RGB LED

เพิ่มตัวต้านทาน 330 โอห์ม (สีส้ม-ส้ม-น้ำตาล-ทอง) ตามที่แสดงในแผนภาพ

ขั้นตอนที่ 10: ต่อสายไฟบน ATTiny

สายไฟบน ATTiny
สายไฟบน ATTiny

ขั้นตอนที่ 11: เพิ่มสวิตช์สไลด์ไปที่ Bread Board

เพิ่มสวิตช์สไลด์ไปที่ Bread Board
เพิ่มสวิตช์สไลด์ไปที่ Bread Board

เพิ่มสวิตช์เลื่อนตามที่แสดงในภาพ

ขั้นตอนที่ 12: ใส่แบตเตอรี่เซลล์แบบเหรียญ 3V ลงในที่ใส่แบตเตอรี่

ใส่แบตเตอรี่เซลล์แบบเหรียญ 3V ลงในที่ใส่แบตเตอรี่
ใส่แบตเตอรี่เซลล์แบบเหรียญ 3V ลงในที่ใส่แบตเตอรี่

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

ขั้นตอนที่ 13: เพิ่ม Coin Cell Batter ลงใน Bread Board

เพิ่ม Coin Cell Batter ลงใน Bread Board
เพิ่ม Coin Cell Batter ลงใน Bread Board

เพิ่มสิ่งนี้ในรูที่แน่นอนตามที่แสดง ตรวจสอบให้แน่ใจว่าขั้วบวกอยู่ทางด้านขวามือ

ขั้นตอนที่ 14: ต่อ Slide Swith ไปที่ +3V

ต่อสายสไลด์กับ +3V
ต่อสายสไลด์กับ +3V

จะง่ายกว่าถ้าคุณงอลวดสีเหลืองครึ่งแรกตามที่แสดงในภาพด้านซ้าย

ขั้นตอนที่ 15: ต่อสายพิน (-) ของ ATTiny กับกราวด์

ต่อสาย (-) พินของ ATTiny กับกราวด์
ต่อสาย (-) พินของ ATTiny กับกราวด์

ตามที่แสดงในภาพด้านบน

ขั้นตอนที่ 16: เชื่อมต่อเอาต์พุตของปุ่มกับ ATTINY85 ของคุณ (พิน 3)

ต่อเอาต์พุตของปุ่มไปที่ ATTINY85 (พิน 3)
ต่อเอาต์พุตของปุ่มไปที่ ATTINY85 (พิน 3)

ซึ่งช่วยให้ ATTINY85 ตรวจพบเมื่อคุณกดปุ่ม เพิ่มลวดตรงตามที่แสดง

ขั้นตอนที่ 17: เพิ่มตัวต้านทาน 10K ระหว่างปุ่มและกราวด์

เพิ่มตัวต้านทาน 10K ระหว่างปุ่มกับกราวด์
เพิ่มตัวต้านทาน 10K ระหว่างปุ่มกับกราวด์

เพิ่มตัวต้านทาน 10 K ohm (น้ำตาล, ดำ, ส้ม, ทอง) ระหว่างกราวด์และปุ่ม นี่คือตัวต้านทานแบบดึงลง เมื่อกดปุ่ม ATTINY85 จะอ่านค่า HIGH (+3V) เมื่อไม่ได้กดปุ่ม ATTINY85 จะอ่านค่า LOW (0 V)

ขั้นตอนที่ 18: เพิ่ม Buzzer ไปที่ Bread Board

เพิ่ม Buzzer ไปที่ Bread Board
เพิ่ม Buzzer ไปที่ Bread Board

เพิ่มออดไปที่บอร์ดขนมปังของคุณ ตรวจสอบให้แน่ใจว่าได้เพิ่มตรงตามที่แสดงด้วย (+) ด้านบนทุกประการ

ขั้นตอนที่ 19: พัฒนารหัสของคุณ

  1. ดาวน์โหลดรหัส
  2. แก้ไขโค้ด

นี่คือรหัสที่ขับเคลื่อนโดยรัฐ หมายความว่า STATE (ซึ่งพิมพ์ด้วย CAPS ในรหัส เช่น RED_STATE)

หากต้องการเพิ่มสถานะ คุณต้องประกาศที่ด้านบนสุดของรหัส และอัปเดตจำนวนสถานะ

จากนั้นคุณสามารถแก้ไข Switch case เพื่อรวม STATE ใหม่ของคุณ

ขั้นตอนที่ 20: เพิ่มกระดานของ Dr. Azzy

เพิ่มบอร์ดของ Dr. Azzy
เพิ่มบอร์ดของ Dr. Azzy
เพิ่มบอร์ดของ Dr. Azzy
เพิ่มบอร์ดของ Dr. Azzy
เพิ่มบอร์ดของ Dr. Azzy
เพิ่มบอร์ดของ Dr. Azzy
เพิ่มบอร์ดของ Dr. Azzy
เพิ่มบอร์ดของ Dr. Azzy

เพิ่มบอร์ดของ Dr. Azzy ลงใน Arduino IDE ของคุณ:

  1. ภายใต้ ไฟล์ ให้ไปที่การตั้งค่า
  2. การตั้งค่า>การตั้งค่าภายใต้ผู้จัดการบอร์ดเพิ่มเติมที่ผ่านมาในลิงก์นี้:
  3. ภายใต้ เครื่องมือ ให้ไปที่ Boards Manager
  4. ติดตั้ง ATTiny Core โดย Spence Konde

ขั้นตอนที่ 21: เพิ่มไลบรารี Rttl ลงในไลบรารี Arduino ของคุณ

เพิ่มไลบรารี Rttl ลงในไลบรารี Arduino ของคุณ
เพิ่มไลบรารี Rttl ลงในไลบรารี Arduino ของคุณ

หากต้องการให้เสียงกริ่งทำงาน ให้เพิ่มไลบรารีลงในไลบรารีของ Arduino ที่นี่:

github.com/cefn/non-blocking-rtttl-arduino

ขั้นตอนที่ 22: กำหนดค่า Arduino IDE เพื่อตั้งโปรแกรม ATTiny

กำหนดค่า Arduino IDE เพื่อตั้งโปรแกรม ATTiny
กำหนดค่า Arduino IDE เพื่อตั้งโปรแกรม ATTiny

คลิกเมนูเครื่องมือและตรวจดูให้แน่ใจว่าบอร์ด นาฬิกา และชิปถูกต้อง

ขั้นตอนที่ 23: ตั้งโปรแกรม ATTiny และเชื่อมต่อ Bread Board ของคุณกับ AVR Programer

ตั้งโปรแกรม ATTiny และเชื่อมต่อ Bread Board ของคุณกับ AVR Programer
ตั้งโปรแกรม ATTiny และเชื่อมต่อ Bread Board ของคุณกับ AVR Programer
ตั้งโปรแกรม ATTiny และเชื่อมต่อ Bread Board ของคุณกับ AVR Programer
ตั้งโปรแกรม ATTiny และเชื่อมต่อ Bread Board ของคุณกับ AVR Programer
ตั้งโปรแกรม ATTiny และเชื่อมต่อ Bread Board ของคุณกับ AVR Programer
ตั้งโปรแกรม ATTiny และเชื่อมต่อ Bread Board ของคุณกับ AVR Programer
  1. นำ ATTiny ออกจากบอร์ดขนมปังของคุณแล้วใส่ลงในโปรแกรมเมอร์ AVR คุณต้องเสียบเข้ากับบอร์ดด้วยจุดเล็ก ๆ ที่มุมบนซ้ายตามที่แสดงในภาพแรก
  2. ใช้สายไฟ 3 เส้นแล้วต่อพิน 2, 1, 0 บนโปรแกรมเมอร์เข้ากับพินที่เกี่ยวข้องบนบอร์ดขนมปังของคุณ ดูภาพสำหรับรายละเอียด
  3. นำลวดเส้นหนึ่งเส้นแล้วต่อหมุด (-) บนโปรแกรมเมอร์เข้ากับกราวด์ที่สอดคล้องกันบนกระดานขนมปังของคุณ ดูภาพสำหรับรายละเอียด
  4. โหลดโค้ด Arduino ไปยัง ATTiny โดยเลือกลูกศรอัปโหลดใน Arduino IDE ของคุณ (หากคุณได้รับข้อผิดพลาดว่าเมื่ออัปโหลดโค้ด ให้ดูขั้นตอนก่อนหน้า)

ขั้นตอนที่ 24: ทำ

เสร็จแล้ว!
เสร็จแล้ว!
เสร็จแล้ว!
เสร็จแล้ว!
เสร็จแล้ว!
เสร็จแล้ว!

หากรหัสของคุณทำงานตามที่คุณต้องการเช่นกัน ถอดสายไฟที่ยืดหยุ่นออกจากขนมปังหมูป่าแล้ววางโปรแกรมเมอร์ ATTiny ไว้ในเขียงหั่นขนมของคุณ

ก่อนที่คุณจะจุดไฟฟักทองของคุณ ให้วางวงจรไว้ในถุงพลาสติกเพื่อป้องกันไม่ให้มันลัดวงจรหากมีฟักทองหล่นทับ

ขั้นตอนที่ 25: แผนภาพวงจร

แผนภูมิวงจรรวม
แผนภูมิวงจรรวม

แผนภาพวงจรที่ดีขึ้นซึ่งพัฒนาโดย Kyle Neil จะแสดงที่นี่และจะใช้ทรานซิสเตอร์เพื่อควบคุม Buzzer ที่จะนำไปใช้ในรุ่นต่อๆ ไป

แนะนำ: