สร้าง Arduino Timer: 4 ขั้นตอน

สร้าง Arduino Timer: 4 ขั้นตอน

สารบัญ:

Anonim

สวัสดีฉันและเพื่อนของฉันกำลังตั้งค่าเพื่อให้เราสามารถสร้าง PCB ของ ขณะนี้เรากำลังสร้างกล่องแสดงรังสียูวี (อาจเป็นคู่มืออื่น) และสำหรับกล่องนี้เราต้องการตัวจับเวลาดังนั้นนี่คือสิ่งที่เราได้ทำไปแล้วและสิ่งที่เรากำลังจะทำ

โครงการนี้ขึ้นอยู่กับ ardweeny จาก solarbotics เนื่องจากราคาถูก (10 $) และขนาดเล็ก (28 DIP)

มันนับถอยหลังจาก 999 เป็น 0 (วินาที)

มันมีรีเลย์ 250V 10A

นี่คือวิดีโอสั้น ๆ ของมันนับถอยหลังจาก 30 เป็น 0:

วัสดุ:

ขั้นตอนที่ 1: รายการอะไหล่

ตกลงดังนั้นนี่คือรายการชิ้นส่วน:

สำหรับรายการทั้งหมดนี้เป็นคำแนะนำ

* หนึ่ง Ardweeny (หรือชิป ATmega168 / 328 ที่มี chrystal, apropriate, ตัวต้านทานและตัวเก็บประจุ)

* ตัวแปลง USB เป็น FTDI หนึ่งตัวสำหรับการเขียนโปรแกรม ardweeny (หากคุณยังไม่มี)

* 8 NPN ทรานซิสเตอร์สามารถขับได้ 30 mA (เราใช้ BC547 (คำนึงถึงข้อผิดพลาด!)

* 3 PNP ทรานซิสเตอร์สามารถขับ 200mA ได้ (เราใช้ BD136 (พินพิศแปลกนี่ด้วย!)

* 3 การแสดงผล 7 ส่วน (เราใช้ขั้วบวกทั่วไป KINGBRIGHT SA52-11EWA)

* ตัวต้านทาน 11 ตัวสำหรับฐานทรานซิสเตอร์ (ฉันใช้ตัวต้านทาน 200 โอห์ม (!!! OBS เหล่านี้ไม่ได้อยู่ในภาพพิมพ์ดูขั้นตอน: กำลังมาเร็ว ๆ นี้)

* ตัวต้านทาน 7 ตัวสำหรับเซกเมนต์ (150 โอห์มสำหรับเอาต์พุตประมาณ 20 mA)

* 2 10 พิน

* 2 2 หัวเข็ม

* 1 28 ซ็อกเก็ต DIP แคบ (คุณสามารถประสานชิปได้ แต่ฉันเกลียดที่จะต้องบัดกรีมันถ้ามีอะไรบางอย่างไหม้!)

* 1 รีเลย์ 6V (หากคุณต้องการสิ่งนี้เพื่อเปิดและปิดสิ่งต่าง ๆ)

* หนึ่งไดโอดป้องกัน (เราใช้ 1N4007 อันที่เรานอนอยู่)

* 1 โพเทนชิออมิเตอร์ (เราใช้ 4k7 เพราะเรามีหนึ่งรอบ)

* สาย … สายมากมาย

* อุปกรณ์บัดกรี

ที่ควรจะเป็น ไปยังขั้นตอนต่อไป

ขั้นตอนที่ 2:

ตกลงดังนั้นเราจึงทำสิ่งนี้บน perfboard (ไม่มี PCB's ใด ๆ)

เราได้ทำการพิมพ์ที่คุณสามารถใช้กับ PCB ของคุณ

มันอยู่ใน. fzz ดังนั้นคุณจะต้อง fritzing (โปรแกรมที่ยอดเยี่ยมฟรี) เพื่อเปิด

มันมีเค้าโครง

โปรดจำไว้ว่าใน pcb นี้ทรานซิสเตอร์ทั้งหมดจะถูกจัดวางเป็น Emitter Base Collector อย่างไรก็ตามเมื่อใช้ทรานซิสเตอร์ BC547 และ BD136 pinouts จะแตกต่างกัน

หากคุณทำสิ่งนี้ใน perfboard คุณสามารถใช้วิธีที่เราทำ:

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

บัดกรีสิ่งของของคุณลงบนกระดานและเมื่อเสร็จแล้วให้ใส่ arduino (ardweeny)

จำ resisters สำหรับทรานซิสเตอร์ (ลืมผู้ที่อยู่ใน fritzing

ฉันแนบของฉันเช่นนี้:

ขั้นตอนที่ 4:

จากนั้นรหัส!

รหัสอยู่บน pastebin:

เพียงคัดลอกสำเนาดิบ / วางที่ด้านล่าง

ในส่วนบนคุณจะต้องติดตั้งพินที่คุณจะใช้

เพียงแค่เปลี่ยนตัวแปร disp1 ด้วยพินที่ขั้วบวกแสดงผลครั้งแรกของคุณ

เนื่องจากรหัสอยู่ในขณะนี้มันเพิ่งเริ่มต้นหลังจาก 10 วินาทีอย่างไรเคยลบบรรทัด: ล่าช้า (10,000); จะลบการหน่วงเวลานั้นและเพิ่มเติมการลบทั้งสอง // หน้าของบรรทัด:

// currentButton = deBounce (lastButton); // การใช้ฟังก์ชั่น debounce เพื่อดูว่ามีการกดปุ่มหรือไม่

// ถ้า (lastButton == LOW && currentButton == สูง)

//{

และในที่สุด

//}

จะช่วยให้คุณใช้ปุ่มได้โดยเปิดตัวต้านทานแบบเลื่อนลง

หวังว่าคุณจะสามารถใช้สิ่งนี้ได้สันติสุข: D