สวัสดีตอนบ่าย ฉันต้องการแบ่งปันคำแนะนำในการทำนาฬิกาน่ารัก พวกเขาจะทำจากพลาสติกนม จะมีแสงไฟ หน้าจอ Bright Oled และหัวใจจะเป็น Attiny 85 หรือมากกว่า Digispark Attiny 85 board เราจะเชื่อมต่อเซ็นเซอร์อุณหภูมิ จ่ายไฟผ่าน USB คุณสามารถเชื่อมต่อกับคอมพิวเตอร์และวางไว้ใกล้กับจอภาพ และคุณสามารถใช้อุปกรณ์ชาร์จสำหรับโทรศัพท์ด้วย USB และวางไว้ที่ใดก็ได้ที่มีปลั๊กไฟ และเช่นเคยเราสามารถทำได้โดยไม่ต้องโมดูล RTC (นาฬิกาเวลาจริง) เราไม่ต้องการอะไรเพิ่มและมีขาคอนโทรลเลอร์ไม่มากนัก
เริ่มจากรายการที่จำเป็น:
- Digispark Attiny 85 Board
- เซ็นเซอร์อุณหภูมิดิจิตอล ds18b20
- หน้าจอแบบ Oled (ความละเอียด 128x64, การทำงานของโปรโตคอล I2C)
- ตัวต้านทาน 4.7 KOhm (3.3 KOhm เป็นไปได้), 0.25 W
- ตัวต้านทาน 150 โอห์มหรือตรงกับ LED ของคุณ
- ทรานซิสเตอร์ SS8050 (หรือเทียบเท่า)
- LED 5 มม. หรือ SMD 5050
- พลาสติกหนา 1-3 มม. (โปร่งแสงน้ำนม)
- โปรแกรมเมอร์ ISP (คุณสามารถแทนที่ใด ๆ Arduino ค่าบริการ)
- ปุ่ม (จำเป็นต้องตั้งเวลา)
- ตัวเชื่อมต่อ Dupont 2.54 มม. ("แม่", "พ่อ")
- กาวร้อนละลายหรืออื่น ๆ ที่เหมาะสำหรับพลาสติก
- สายเชื่อมต่อ
- หัวแร้งบัดกรีขัดสนบัดกรี
ขั้นตอนที่ 1 ปรับเปลี่ยน Digispark Attiny 85
ดังนั้นเรามีบอร์ด Digispark Attiny 85 ที่ยอดเยี่ยมบนบอร์ดมี (คุณเดาได้) Attiny 85 คุณต้องซื้อรุ่นของบอร์ดด้วย micro USB USB แบบเต็มในกรณีนี้ไม่พอดี แต่แม้ว่าคุณจะมีเวอร์ชั่นที่มี USB เต็มคุณก็สามารถเห็นส่วนที่ยื่นออกมาของบอร์ดเราจะไม่ใช้ USB นอกจากนี้ยังมีตัวปรับแรงดันไฟฟ้าและสายรัดที่จำเป็นทั้งหมด แน่นอนคุณสามารถใช้ Attiny 85 ที่เปลือยเปล่าได้ แต่จากนั้นกระบวนการบัดกรีและการประกอบจะมีความซับซ้อนมากขึ้น
คณะกรรมการอย่างที่ฉันบอกว่ายอดเยี่ยม แต่ไม่มีข้อบกพร่อง (ข้อบกพร่องสำหรับโครงการนี้ในอีกอาจเป็นคุณธรรม) ในกรณีนี้ตัวต้านทานกราวด์ PB4 (Attiny 85 ขา 3) จะรบกวนเราและ LED ที่มีตัวต้านทานบน PB1 (6 ขาของ Attiny 85) ทำเครื่องหมายไว้ในแผนภาพ:
มองไปข้างหน้าฉันจะบอกว่าทุกอย่างที่กล่าวมาจะรบกวนเรา ทรานซิสเตอร์แบ็คไลท์จะเชื่อมต่อกับ PB4 และตัวต้านทานแบบดึงขึ้นจะไม่เปิด (ตรวจสอบโดยประสบการณ์ส่วนตัว) ปุ่มจะเชื่อมต่อกับ PB1 ซึ่งจะไม่ทำงานตามปกติด้วย LED ที่แขวนอยู่บนเส้น ในทางปฏิบัติคุณต้องบัดกรีหรือขุดออก (อย่างระมัดระวังเพื่อไม่ให้เกิดความเสียหายแทร็ค) ตัวต้านทานและไฟ LED ที่ระบุไว้ในแผนภาพ
วางบอร์ดและดูแลเคส
ขั้นตอนที่ 2 กรณี
กรณีของนาฬิกาในอนาคตของเราจะทำจากพลาสติกโปร่งแสง พลาสติกนี้สามารถสั่งซื้อในร้านค้าออนไลน์หรือซื้อในร้านค้าปกติ (ถ้าคุณพบ) โดยส่วนตัวแล้วฉันเอามันมาจากแอลซีดีทีวีเก่าหรือจอมอนิเตอร์ คุณสามารถค้นหาได้โดยตรวจสอบเมทริกซ์ ใบไม้ของพลาสติกชนิดนี้มักใช้เป็นตัวกระจายแสงและอยู่ระหว่างไฟแบ็คไลท์ LED และชั้นผลึกเหลว เมื่อได้พลาสติกดังกล่าวมาแล้วเราจะดำเนินการพิจารณาคดีต่อไป กรณีของเราจะอยู่ในรูปของลูกบาศก์ (เรียบง่าย แต่มีรสนิยม) ภายในกล่องควรมีพื้นที่ 30x30x30 มม. เราตัดด้านหน้าของนาฬิกาหากคุณใช้พลาสติกหนา 2 มม. ดังนั้นสี่เหลี่ยมสำหรับด้านหน้าควรมีขนาด 34x34 มม. สี่เหลี่ยมจัตุรัสนี้จะตั้งขนาดอื่น ๆ ทั้งหมดและผนังจะติดกาวเหมือนเดิมที่อยู่ด้านหลัง หลังจากตัดสี่เหลี่ยมด้านหน้าเราสร้างช่องสำหรับหน้าจอในนั้น เราถอยห่างจากด้านบน 8 มม., 5 มม. ที่ด้านข้างตัวสล็อตควรมีขนาด 24x13 มม.
ถัดไปตัดส่วนบนและส่วนล่างออกเป็นขนาด 34x30 มม. (เรียกคืนจะได้รับขนาดสำหรับพลาสติกที่มีความหนา 2 มม.) รวมถึงสองด้านขนาด 30x30 มม. และด้านหลัง 34x25 มม. จากนั้นใช้ปืนกาวร้อนทากาวด้านหน้าด้านล่างและด้านใดด้านหนึ่ง
ในกรณีนี้เรากำลังแยกกันอยู่ตอนนี้ ชิ้นส่วนที่เหลือจะถูกติดกาวหลังจากติดตั้งส่วนภายในทั้งหมด
ขั้นตอนที่ 3 ช่างไฟฟ้าและประกอบนาฬิกา
และสิ่งที่น่าสนใจที่สุดรออยู่ข้างหน้า เราใช้ "หน้าจอ" ที่ดีของเรา OLED (ไดโอดเปล่งแสงอินทรีย์) เป็นจอแสดงผลกราฟิกแต่ละพิกเซลซึ่งเป็น LED อิสระ เส้นทแยงมุมคือ 0.96 นิ้ว การสื่อสาร - บัส I2C ความละเอียด 128x64 ในการแสดงภาพเพียงเชื่อมต่อสายสองเส้นเข้ากับคอนโทรลเลอร์ซึ่งสำคัญมากสำหรับ Attiny 85 หน้าจอมีสีพิกเซลแตกต่างกันให้เลือกตามความชอบของคุณ สิ่งที่น่าสนใจที่สุดสำหรับฉันก็คือสีน้ำเงินโดยมีแถบสีเหลืองอยู่ด้านบน
ฉันเลือกเซ็นเซอร์อุณหภูมิแบบดิจิตอลเพื่อปลดปล่อย Attiny จากการคำนวณที่ไม่จำเป็น ds18b20 เชื่อมต่อด้วยสายเดี่ยวและทำงานบนโปรโตคอล OneWire สายข้อมูลของเซ็นเซอร์นี้ต้องดึงขึ้นไปที่สายไฟ ค่าเล็กน้อยที่แนะนำคือ 4.7 kOhm แต่ใช้งานได้ดีสำหรับฉันแม้ที่ 3.3 kOhm แผนภาพการเชื่อมต่อเป็นดังนี้:
มันสามารถเชื่อมต่อในรูปแบบอื่น ๆ เช่นในโหมดของแหล่งจ่ายกาฝาก แต่ในกรณีนี้ฉันคิดว่ามันจะดีกว่าถ้าใช้ภายนอกและเชื่อมต่อตามแผนภาพด้านบน
ถัดไปในรายการคือ LED มันเป็นสิ่งจำเป็นสำหรับการแบ็คไลท์ คุณสามารถเลือกสีใดก็ได้ LED 5 มม. ใด ๆ จะทำ สำหรับการส่องสว่างที่สม่ำเสมอของเคสทั้งหมดควรใช้ LED สองดวง คุณยังสามารถผลัก 10 มม. หนึ่งอันได้ หรือไตรรงค์ นี่คือวิธีที่คุณชอบมากขึ้น ตอนแรกฉันสร้างตัวแปรด้วยไดโอด 5 มม. สีเขียวสองอัน แต่ฉันต้องการเปลี่ยนสีของแสงไฟ ดังนั้นฉันใช้สีสามสีในแพ็คเกจ SMD 5050 ต้องเลือกตัวต้านทานสำหรับไดโอดที่คุณเลือก ฉันจะแสดงตัวเลือกทั้งสองวิธีการทำเพื่อคุณ - และการตัดสินใจ
ทรานซิสเตอร์ มันเป็นสิ่งจำเป็นในการควบคุมไฟ LED เนื่องจากกระแสต่ำเกินไปเท่านั้นที่สามารถไหลผ่าน Attiny และเมื่อเชื่อมต่อโดยตรงกับคอนโทรลเลอร์ของเท้าไดโอดจะเรืองแสงสลัวมาก ไม่ว่า LED ตัวใดที่คุณเลือกหรือหลายตัวคุณต้องใช้ทรานซิสเตอร์ เหมาะ SS8050 แต่ NPN ที่ใช้พลังงานต่ำจะทำเช่นนั้น
เรารวบรวมทั้งหมดนี้ตามโครงการ:
และตอนนี้เราจะดำเนินการตามกระบวนการประกอบสด:
เราขึ้นหน้าจอก่อน
เราประสานสายไฟกับมันหากมี "หมุด" ที่สถานที่ติดต่อพวกเขาจะต้องถูกลบออก เราทำเช่นเดียวกันกับ Digispark Attiny 85
ตอนนี้ใช้เทปกาวสองหน้าหรือกาวร้อนละลายกาว Attiny และหน้าจอเข้าด้วยกัน
เราประสานส่วนประกอบอื่น ๆ ทั้งหมด (ds18b20, SS8050, LED และสิ่งเล็ก ๆ น้อย ๆ อื่น ๆ ) ดังนั้นตัวเลือกแรกคือไดโอด 5 มม.:
เราติดตั้งทรานซิสเตอร์ด้วย "วิธีการติดตั้ง" เพื่อความแข็งแรงคุณสามารถเทกาวร้อนละลาย:
เราประสานปุ่มเพื่อปรับนาฬิกาให้เหมาะกับโอกาสมันเป็นที่พึงปรารถนามากที่จะประสานตัวเก็บประจุขนาดเล็กขนานกับปุ่ม (ลดผลกระทบของ "การสะท้อนกลับ" ของผู้ติดต่อ):
เราเริ่มบรรจุทั้งหมดนี้ในกรณี ก่อนอื่นให้วางหน้าจอด้วย Attiny:
ฉันจะอธิบายตัวเลือกที่สองเล็กน้อยสำหรับแบ็คไลท์ ไดโอด SDM ร่วมกับตัวต้านทานจะต้องบัดกรีกับแผงวงจรขนาดเล็ก เราสร้างโมดูลที่เหมือนกันสองโมดูล:
เราติดกาวสองโมดูลเข้าด้วยกันและประสานเข้าที่:
หากคุณต้องการสีเดียวให้บัดกรีลวดจากทรานซิสเตอร์ผ่านตัวต้านทานไปที่ขา LED ซึ่งสอดคล้องกับสีที่ต้องการ
ในการแฟลชนาฬิกาของเรามีความจำเป็นต้องถอดสายไฟและเชื่อมต่อเข้ากับบล็อกเดียว ผู้ติดต่อต่อไปนี้ควรอยู่ในบล็อกตามลำดับนี้:
-PB0- - PB1- -PB2- - PB5- -VCC- -GND-
เรานำสายเหล่านี้ไปยังบล็อกเดียวและติดไว้ที่ด้านหลังของกล่องด้านล่าง:
ในทางตรงกันข้ามเรากาวปุ่มจากบล็อกเฟิร์มแวร์ระหว่างที่เราได้รับสาย USB สำหรับพลังงาน นอกจากนี้ในการเลือกสีของแสงไฟคุณสามารถสร้างอีกแผ่น สายไฟต่อไปนี้ควรจะแสดงอยู่ในนั้น: สายจากสีแดงสีน้ำเงินและสีเขียวของ LED และถัดจากหน้าสัมผัสเหล่านี้ผู้ติดต่อจากทรานซิสเตอร์ การควบคุมเกิดขึ้นโดยการปิด (จัมเปอร์) ของผู้ติดต่อที่เกี่ยวข้อง:
ครั้งแรกที่เราติดผนังด้านที่สองของนาฬิกา:
ก่อนติดส่วนที่เหลือของร่างกายตรวจสอบให้แน่ใจว่าทุกอย่างทำงานได้ดี ดีกว่าไปที่เฟิร์มแวร์ทันที ตรวจสอบว่าทุกอย่างทำงานได้ตามที่ควรและจากนั้นติดกาวด้านบนและด้านหลังของเคส
ขั้นตอนที่ 4 เฟิร์มแวร์
หากต้องการแก้ไขและกรอกร่าง (หรือเฟิร์มแวร์) ดาวน์โหลดจากเว็บไซต์อย่างเป็นทางการและติดตั้ง Arduino IDE รุ่นล่าสุด:
Arduino.cc
จากนั้นเราเพิ่มการสนับสนุนสำหรับชุดควบคุม Attiny ใน Arduino IDE เราเปิดตัวสภาพแวดล้อมการพัฒนาและไปที่ "ไฟล์" - "การตั้งค่า" - "URL ผู้จัดการบอร์ดเพิ่มเติม" วางลิงค์ต่อไปนี้:
https://raw.githubusercontent.com/damellis/attiny/ide-1.6.x-boards-manager/package_damellis_attiny_index.json
ตอนนี้อีกสองสามการกระทำ ไปที่“ เครื่องมือ” -“ บอร์ด” -“ บอร์ดผู้จัดการ” ในแถบค้นหาป้อน“ Attiny” และเลือก“ attiny โดย David A. Mellis” -“ ติดตั้ง” และรอการติดตั้งให้เสร็จสมบูรณ์
ตอนนี้ได้เวลาเพิ่มห้องสมุดที่จำเป็นแล้ว
สำหรับหน้าจอ
การควบคุมเซ็นเซอร์อุณหภูมิ
หลังจากดาวน์โหลดไฟล์เหล่านี้ให้คลายไฟล์เก็บถาวรในโฟลเดอร์ "libraries" โฟลเดอร์ที่ต้องการตั้งอยู่ในตำแหน่งการติดตั้ง Arduino IDE
อย่างที่ฉันพูดเซ็นเซอร์วัดอุณหภูมิทั้งหมดมีที่อยู่เฉพาะของตัวเอง คุณต้องค้นหาที่อยู่ของคุณและแก้ไขบรรทัดต่อไปนี้:
byte addr [8] = {0x28, 0xFF, 0x75, 0x4E, 0x87, 0x16, 0x5, 0x63};
นาฬิกาไม่มี RTC ดังนั้นในการปรับนาฬิกาที่คุณต้องการใช้สาย:
if (micros () - prevmicros & gt; 497000)
เปลี่ยนค่าที่เลือก ยิ่งค่านี้ยิ่งมากนาฬิกาก็ยิ่งช้าลง และในทางกลับกัน
หากคุณมีโปรแกรมเมอร์ ISP ให้ใช้เพื่อเติม ร่างในนาฬิกา.
หากไม่มีโปรแกรมเมอร์เราใช้บอร์ด Arduino เติมด้วยร่างจากตัวอย่าง ISP ISP แผ่นเชื่อมต่อสำหรับเฟิร์มแวร์:
D11 - P0
D12 - P1
D13 - P2
D10 - P5
VCC - +5
GND - GND
และเติมร่าง
เพื่อพลังงานคุณสามารถใช้พอร์ต USB ของคอมพิวเตอร์หรือชาร์จโทรศัพท์ด้วย USB:
ภาพถ่ายล่าสุด: