- หน้าแรก RS
- >
- แบบบทความ
- >
- บทความทั้งหมด
- >
-
ประดิษฐ์อุปกรณ์จับเวลา/ ...
โครงงานนี้จะแสดงให้คุณเห็นว่า ฮาร์ดแวร์ขนาดเล็กตัวไหนบ้างที่นำมาประดิษฐ์อุปกรณ์จับเวลาและช่วงห่างเวลา พร้อมส่วนแสดงผล LCD ที่ใช้งานง่ายได้ ATtiny 2313 เป็นอุปกรณ์ควบคุมขนาดเล็กประเภท AVR ซึ่งจะวัดช่วงห่างเวลาเมื่อเกิดการเปลี่ยนแปลงระดับตรรกะของสัญญาณพัลส์ที่ป้อนไปยังเข็ม PD2 และ PD3 สองครั้งต่อเนื่องกัน ในการจับเวลาระดับ μs (ไมโครวินาที) ที่ช่วงห่างเวลาอยู่ระหว่าง 10 μs - 30 วินาที (!) สามารถวัดด้วยความละเอียด 1 μs แต่ในการวัดระดับms (มิลลิวินาที) นั้น ช่วงห่างเวลาจะอยู่ระหว่าง 1 มิลลิวินาที - 4 ชั่วโมงที่ค่าความละเอียด 1 มิลลิวินาที
ในวงจร S2 ซึ่งเป็นสวิตช์บล็อค DIP บล็อค จะกำหนดค่าของเครื่องมือ ดังนี้
- S2 1-8: เลือกขอบสัญญาณพัลส์ (ขาขึ้นหรือขาลง) เริ่มการวัด
- S2 2-7: เลือกขอบสัญญาณพัลส์ (ขาขึ้นหรือขาลง) ชะลอการวัด
- S2 3-6: หน่วยการวัดและความละเอียดในการวัด (μs หรือ ms)
- S2 4-5: โหมดการวัด (ต่อเนื่อง หรือครั้งเดียว/ค้างไว้)
ดูคำอธิบายเกี่ยวกับการทำงานของสวิตช์กำหนดค่าและตัวเลือกได้ในตาราง 1 เวลาที่วัดได้แสดงบนส่วนแสดงผล LCD เป็นอักขระ 16 ตัวสองแถว แถวแรกแสดงช่วงห่างเวลาหน่วยวัด และโหมดการวัดที่เลือกไว้ ส่วนแถวที่สองจะแสดงเวลาที่วัดได้
ตาราง 1 | ||||
S2 1-8 | S2 2-7 | S2 3-6 | S2 4-5 | ช่วงห่างเวลาที่วัด |
ปิด | ปิด | x | x | ตั้งแต่ขอบสัญญาณขาลง จนถึงขอบสัญญาณขาลงครั้งต่อไป |
ปิด | เปิด | x | x | ตั้งแต่ขอบสัญญาณขาลง จนถึงขอบสัญญาณขาขึ้น (ช่วงห่างเวลาระหว่างสัญญาณพัลส์ขาบวกสองครั้ง) |
เปิด | ปิด | x | x | ตั้งแต่ขอบสัญญาณขาขึ้น จนถึงขอบสัญญาณขาลง (ระหว่างสัญญาณพัลส์บวก) |
เปิด | เปิด | x | x | ตั้งแต่ขอบสัญญาณขาขึ้น จนถึงขอบสัญญาณขาขึ้นครั้งต่อไป |
x | x | เปิด | x | การวัดระดับ μs {t/ต่ำสุด) = 10μs, t(สูงสุด) =1800 วินาที (30 นาที)} |
x | x | ปิด | x | การวัดระดับ ms {t/ต่ำสุด) = 1 มิลลิวินาที, t(สูงสุด) =14400 วินาที (4 ชั่วโมง)} |
x | x | x | ปิด | วัดต่อเนื่อง เมื่อวัดเสร็จครั้งหนึ่ง จะแสดงผล จากนั้น การวัดครั้งใหม่จะเริ่มขึ้น |
x | x | x | เปิด | วัดครั้งเดียวเท่านั้น: เมื่อวัดเสร็จ โปรแกรมจะแสดงผล และหยุดค้างไว้ |
(x = เพิกเฉย) |
รายการชิ้นส่วน | |
รีซิสเตอร์ | หมายเลขสินค้า RS |
R1,R3 = 10kΩ | |
R2 = 1kΩ | |
R4 = 39Ω | |
R5 = 1kΩ8 | |
P1 = 10kΩ พรีเซ็ต | 522-2485 |
ตัวเก็บประจุ | หมายเลขสินค้า RS |
C1 = 22μF 35V เรเดียล | 707-5701 |
C2,C3,C6 = 100nF | 537-3909 |
C4 = 47pF ทริมเมอร์ | |
C5 = 22pF | 537-3634 |
สารกึ่งตัวนำ | หมายเลขสินค้า RS |
D1 = 1N4001 | 628-8931 |
D2,D3 = BAT41 | 544-4679 |
D4 = LED กระแสไฟฟ้าต่ำ | 826-492 |
IC1 = 78L05 | 398-552 |
IC2 = ATtiny2313, Elektor Shop # 080876-41 | 738-0621 |
อื่นๆ | หมายเลขสินค้า RS |
S1 = สวิตช์กดติดปล่อยดับ, รอยเท้า 6 มม. | 378-6498 |
S2 = สวิตช์ DIP แบบ 4 ทาง | 702-3331 |
K1,K2 = เทอร์มินัลบล็อก PCB, ระยะห่างลีด 5 มม. (0.2”) | 467-0388 |
K3 = บอกซ์เฮดเดอร์แบบ 10 ทาง | 251-8272 |
X1 = ผลึกควอทส์ 8MHz | 478-9347 |
LCD1 = โมดูล LCD , 2 บรรทัด, 16 อักขระ, | 294-8774 |
เฮดเดอร์ LCD แบบ 16 ทาง 1 แถว ระยะ 0.1” | 673-7499 |
เบ้าเสียบ LCD แบบแถว 16 ทาง 1 แถว ระยะห่าง 0.1” | 509-2880 |
PCB, หมายเลขอ้างอิง 080876-I |
www.elektor.com /080876 |

LED D4 จะเปิดทำงานขณะที่วงจรจับเวลา และจะปิดทำงานระหว่างการจับเวลาในแต่ละครั้ง รวมทั้งตอนที่วงจรอยู่ในสถานะ 'ค้างไว้' จุดประสงค์หลักของเครื่องมือตัวนี้คือบอกว่า 'กำลังมีบางสิ่งเกิดขึ้น' ระหว่างการจับเวลาที่กินเวลานาน คุณอาจตัด LED และ R5 ออกไปได้ตามต้องการ
ในการจับเวลาระดับ μs นั้น Timer2Counter0 แบบ 8 บิต ที่อยู่ใน ATtiny2313 จะถูกตั้งค่าให้อยู่ในโหมดปกติ โดย Compare Match Output B จะเปิดใช้งาน และนับสัญญาณพัลส์ของนาฬิการะบบซึ่งได้กำหนดค่าเอาไว้แล้ว เนื่องจากมีการใช้ผลึกควอทซ์ 8-MHz และกำหนดตัวหารเท่ากับ 8 ดังนั้น Timer2Counter0 จะเพิ่มขึ้น 1 ทุกๆ ไมโครวินาที Output Compare Register B ถูกกำหนดค่าเท่ากับ 255 โดยจะสลับเข็ม Output Compare (OC0B) ทุกสัญญาณพัลส์ที่ 226 เข็ม OC0B นี้จะเชื่อมต่อภายในกับอินพุต Timer/Counter1 และ Timer2Counter1 จะนับสัญญาณพัลส์เหล่านี้บนเข็ม OC0B ด้วยความละเอียด 16 บิต ฉะนั้น เราจะได้อุปกรณ์นับ 25 บิต ( T/C1 16 บิต + OC0B บิต + T/C0 8 บิต)
ความละเอียดจะเพิ่มอีก 6 บิตในซอฟต์แวร์ ระหว่างการจับเวลา โปรแกรมจะทำงานเป็นวงวน (loop) โดยจะรอคำสั่งหยุดการวัดและรวบรวมสัญญาณ Timer/Counter1 Overflow Flag (TOV1) อย่างสม่ำเสมอ หาก TOV1 ถูกกำหนดค่าไว้ โปรแกรมจะเพิ่มวงจรนับ SW 6 บิตครั้งละ 1 และล้าง TOV1 จะไม่มีการขัดจังหวะในขั้นตอนนี้ เนื่องจากอาจส่งผลให้เกิดการหน่วงการรับรู้เงื่อนไข 'หยุด' ได้ วงจรนับ 31 บิตสามารถนับได้สูงสุด 2,147,483,647 μs
ในการวัดระดับ μs เวลาวัดสูงสุดคือ 1,800,000,000 μs ส่วนการวัดระดับ ms นั้น จะใช้หลักการเดียวกัน ยกเว้นในกรณีที่มีการตั้งค่านาฬิการะบบให้ใช้ 8 เป็นตัวหาร หลังจากที่วัดเวลาเรียบร้อยแล้ว ค่าที่ได้จะถูกนำมาหารด้วย 125 ทำให้ค่าสูงสุดที่ได้เท่ากับ 17,179,869 แต่เพื่อความแม่นยำในการวัด 14,400,000 ms (สี่ชั่วโมง) คือ เวลาสูงสุดในการวัดระดับ ms การวัดจะเริ่มต้นขึ้นเมื่อวงจรจับการขึ้นหรือลงของขอบสัญญาณพัลส์ได้ที่เข็ม ATtiny PD2 (สโลปกระตุ้นสัญญาณ (Triggering Slope) จะขึ้นอยู่กับการตั้งค่า S2 1-8) เมื่อมีการส่งเวกเตอร์สัญญาณการขัดจังหวะจากภายนอก INT0 การวัดจะหยุดลงเมื่อตรวจพบขอบสัญญาณขาขึ้นหรือขาลงที่เข็ม PD3 (สโลปกระตุ้นสัญญาณจะขึ้นอยู่กับการตั้งค่า S2 2-7) เมื่อมีการส่งเวกเตอร์การขัดจังหวะจากภายนอก INT0
โปรแกรมที่พัฒนาขึ้นมาสำหรับใช้ในโครงงานนี้ดาวน์โหลดได้ฟรีจาก [1] โปรแกรมดังกล่าวจะเขียนไว้ใน BascomAVR ด้วยรหัสแอสเซมเบอร์แบบฝังในส่วนของสัญญาณขัดจังหวะและชุดคำสั่งในเวลาวิกฤติ ในของลูปหลัก (main loop) นั้น โปรแกรมจะตรวจสอบสวิตช์ต่างๆ ใน S2 ซ้ำๆ กัน จากนั้นจึงเริ่มทำการวัด และแสดงค่าที่วัดได้ หากการตั้งค่าสวิตช์เปลี่ยนแปลงไปจากค่าก่อนหน้า จะมีการกำหนดช่วงการวัด โหมด และ/หรือ สโลปการเริ่ม/การหยุดใหม่ และอัปเดตการแสดงผลในบรรทัดแรก
เมื่อเริ่มการจับเวลา ข้อมูลรีจิสเตอร์การนับของ Timer/Counter และรีจิสเตอร์การนับของซอฟต์แวร์ (สำหรับบิตที่ 26-31) จะถูกล้าง มีการกำหนดค่าบิต OC0B ใหม่ และเปิดสัญญาณการขัดจังหวะภายนอก INT0 หลังจากนั้น โปรแกรมจะทำงาน โดยจะรอสัญญาณการขัดจังหวะ INT0 ซึ่งจะไปกระตุ้นชุดคำสั่งขัดจังหวะ INT0 ในชุดคำสั่งนี้ Timer/Counter0 จะเริ่มทำงาน วงจรนับบางตัวจะถูกกำหนดค่าเริ่มต้น LED D3 จะเปิดทำงาน สัญญาณขัดจังหวะ INT0 จะปิดทำงานและป้องกันไม่ให้ส่งสัญญาณการขัดจังหวะซ้ำ แต่จะกระตุ้นสัญญาณขัดจังหวะ INT1 แทน หลังจากนั้นโปรแกรมจะทำงานวนซ้ำ โดยจะรอสัญญาณการขัดจังหวะ INT1 ซึ่งจะไปกระตุ้นชุดคำสั่งขัดจังหวะ INT1 ในชุดคำสั่งนี้ Timer/Counter0 จะหยุดทำงาน และสัญญาณขัดจังหวะภายนอกจะถูกปิดลง
Timer/Counter1 จะเริ่มทำงานเมื่อเปิดโปรแกรมในตอนแรก ดังนั้นจึงไม่จำเป็นต้องหยุดและรีสตาร์ทใหม่ระหว่างที่กำลังใช้งานโปรแกรม เนื่องจาก Timer/Counter1 จะนับสัญญาณพัลส์จาก Timer/Counter0 โดยจะเริ่มและหยุดทำงานพร้อมกัน
การวัดจะสิ้นสุดลงเมื่อชุดคำสั่งจับเวลาตรวจพบว่าสัญญาณขัดจังหวะภายนอกทั้งสองหยุดลง โปรแกรมจะรวบรวมค่าทั้งหมดจากรีจิสเตอร์ฮาร์ดแวร์ (HW) และรีจิสเตอร์ซอฟต์แวร์ (SW) ส่วน LED D3 จะปิดการทำงาน เมื่อคำนวณค่าบางอย่างเสร็จสิ้นแล้ว ช่วงห่างเวลาที่วัดได้จะแสดงผลในบรรทัดที่สองของส่วนแสดงผล
ในส่วนของความแม่นยำนั้น ส่วนฮาร์ดแวร์ของวงจรนับจะนับสัญญาณพัลส์นาฬิกา ดังนั้นจึงไม่มีทางที่จะนับพลาด วงจรนับในส่วนของซอฟต์แวร์จะนับส่วน Overflow ของ Timer/Counter1 โดยมีเวลาดีเลย์สองสามรอบ (cycles) อย่างไรก็ตาม เมื่อตัวจับเวลาหยุดลง ส่วนซอฟต์แวร์จะซิงโครไนซ์กับส่วนฮาร์ดแวร์ ชุดคำสั่งการขัดจังหวะ INT0 และ INT1 นั้นเขียนขึ้นด้วยความระมัดระวัง และมีส่วนดีเลย์เท่ากันตั้งแต่ชุดคำสั่งเริ่มทำงาน ไปจนกระทั่ง Timer/Counter0 เริ่มทำงานในชุดคำสั่งหนึ่งและหยุดทำงานในอีกชุดคำสั่งหนึ่ง นับจากตอนที่สัญญาณขัดจังหวะภายนอกถูกกระตุ้น จนกระทั่งสัญญาณขัดจังหวะเริ่มทำงาน จะมีการดีเลย์เล็กน้อย การดีเลย์ดังกล่าวจะขึ้นอยู่กับคำสั่งซึ่งทำงานตอนสัญญาณการขัดจังหวะถูกกระตุ้น คำสั่งจะทำงานภายใน 1-4 วงจรนาฬิกา ดังนั้น ส่วนต่างสูงสุดคือ 3 รอบ (cycles) แต่เนื่องจาก Timer/Counter0 นับนาฬิการะบบที่ถูกหารด้วย 8 ดังนั้น จะทำให้เกิดข้อผิดพลาดขึ้น ±1 บนตัวเลขหลักสุดท้ายในการวัดทั้งสองระดับ (μs และ ms) ดังนั้น ตัวแปรเดียวที่จะส่งผลต่อความแม่นยำโดยรวมก็คือ ความถูกต้องของผลึก ซึ่งจะเกิดขึ้นเมื่อคุณเห็น 't=123456789 μs' บนส่วนแสดงผล
ข้อควรพิจารณาประการที่สองคือเวลาในการวัด ซึ่งอาจนานหลายชั่วโมงในกรณีที่จับเวลาระดับมิลลิวินาที ดังนั้น วงจรนับพิเศษในส่วนของซอฟต์แวร์จะเปิดทำงานระหว่างลูปรอคอย (waiting loop - ระหว่างวัดเวลาจะมีลูปรอคอยสองครั้ง ได้แก่ รอสัญญาณเริ่ม และรอสัญ ญาณหยุด) วงจรนับนี้จะนับเวลาได้สูงสุดเท่ากับเวลาสูงสุดที่กำหนดเอาไว้ หากนับพ้นเวลาสูงสุดไป วงจรนับจะหยุดการนับและแสดง 't>14400000' ตอนแรกนั้น เวลาสูงสุดในการนับนั้นจะกำหนดไว้เป็นค่าสูงสุดเช่น 30 นาทีสำหรับการนับในระดับ μs และ สี่ชั่วโมงสำหรับการวัดในระดับ ms
เช่นเดียวกับสวิตช์แบบอื่นๆ โปรแกรมจะอ่านค่าสวิตช์ S2 4-5 ก่อนเริ่มทำการวัด อย่างไรก็ตาม โปรแกรมอาจจะทำงานต่างออกไปหากสวิตช์ตัวนี้ปิดทำงานอยู่ (และโหมดนับครั้งเดียว/ค้างไว้ เปิดทำงาน)
วงจรนับซึ่งทำหน้าที่นับเวลาสูงสุดในการวัดจะถูกบล็อคไว้ขณะรอสัญญาณเริ่ม แต่จะกลับมาทำงานอีกครั้งขณะรอสัญญาณหยุด (จึงรอสัญญาณพัลส์แบบไม่ซ้ำกัน (non-repetitive pulse) ได้โดยไม่จำกัดเวลา ถึงแม้ว่าจะระยะสัญญาณพัลส์จะจำกัดไว้ไม่เกินเวลาสูงสุดในการวัด)
เมื่อโปรแกรมแสดงผลค่าที่วัดได้ โปรแกรมจะรอ และตรวจสอบสวิตช์ S2 4-5 อย่างสม่ำเสมอ โดยจะทำงานต่อทันทีที่มีการเปิดสวิตช์
ก่อนใช้งานครั้งแรก ควรติดตั้งโปรแกรม Tmeter.Elektor.bas สำหรับโครงงานนี้เข้าไปในอุปกรณ์ควบคุมขนาดเล็ก ATtiny2313 โดยจะต้องตรวจสอบให้แน่ใจว่าได้ตั้งค่า Flash Fuse bits CKSEL3...0 เป็นค่าที่เหมาะสมสำหรับคริสตัลรีโซเนเตอร์ (CKSEL3...1, 0=111) เนื่องจากโปรแกรมจะเลือก RC Oscillator ภายในตามค่าเริ่มต้น ดังนั้นจึงควรกำหนดความถี่ของผลึกคริสตัลเท่ากับ 8.000 MHz พอดี เพราะเป็นปัจจัยที่ส่งผลต่อความแม่นยำโดยรวม ตัวทริมเมอร์ C4 จะทำหน้าที่ปรับความถี่ของผลึกคริสตัล หากคุณพอใจกับความแม่นยำของผลึกคริสตัลแล้ว ให้เปลี่ยนมาใช้ตัวเก็บประจุแบบติดแน่นแทน C4 นอกจากนี้ คุณยังสามารถใช้ออสซิลเลเตอร์ควอทส์ขับอุปกรณ์ควบคุมขนาดเล็กได้เช่นกัน ในกรณีนี้ ไม่จำเป็นต้องใช้ C4, C5 และ X1 โดยให้เชื่อมต่อเอาท์พุตของออสซิลเลเตอร์เข้ากับอินพุต XTAL1 จากนั้นปรับ P1 ให้ได้คอนทราสต์การแสดงผลที่เหมาะสม
ในโปรแกรม เวลาสูงสุดในการวัดจะกำหนดเป็นคงที่ในตอนแรก
-
Const Tmax_us_default = 1800
'เวลาสูงสุดในการวัดสำหรับการวัดระดับ μs
-
Const Tmax_ms_default = 14400
'เวลาสูงสุดในการวัดสำหรับการวัดระดับ ms
ค่าที่แสดงคือเวลาสูงสุดในการวัดที่เราแนะนำ อย่างไรก็ตาม ผู้ใช้งานอาจใช้ค่าที่ต่ำกว่านี้ได้ตามความเหมาะสม เช่น
-
Const Tmax_us_default = 60
'เวลาสูงสุดในการวัดสำหรับช่วงการวัดระดับ μs -
Const Tmax_ms_default = 300
'เวลาสูงสุดในการวัดสำหรับช่วงการวัดระดับ ms
การกำหนดค่าใหม่ข้างต้นจะย่นเวลาสูงสุดในการวัดให้เหลือ 60 วินาที และ 300 วินาทีในช่วงการวัดระดับ μs และ ms ตามลำดับ ซึ่งแน่นอนว่าคุณจำเป็นต้องปรับโปรแกรมและทำการโปรแกรมอุปกรณ์ควบคุมขนาดเล็กใหม่อีกครั้งให้เหมาะกับการเปลี่ยนค่าดังกล่าว สิ่งสำคัญคือ เลือกเวลาสูงสุดในการวัดให้เหมาะสม เนื่องจากโปรแกรมจะวนซ้ำและรอให้พ้นเวลาสูงสุดในการวัดหากระดับอินพุตคงที่ (หรือหากการเปลี่ยนระดับเกิดขึ้นช้ามาก ต้องรอเป็นเวลา 2x เวลาสูงสุดในการวัด)
การเปลี่ยนเวลาสูงสุดในการวัดทำได้อีกวิธีหนึ่งคือ โปรแกรมค่าที่เหมาะสมเป็นเลขฐานสองแบบไม่คิดเครื่องหมาย (unsigned binary values) 16 บิต ใน EEPROM ของอุปกรณ์ควบคุมขนาดเล็ก โปรดดูตาราง 2 ค่าดังกล่าวควรกำหนดเป็นวินาที ตรรกะของโปรแกรมจะเป็นไปดังนี้: หาก EEPROM ว่าง (FFh) จะใช้เวลาสูงสุดในการวัดที่กำหนดไว้ในโปรแกรม แต่หากค่า EEPROM สำหรับการวัดระดับ μs มากกว่า 1800 การวัดระดับ μs จะใช้เวลาสูงสุดในการวัดตามที่กำหนดไว้ในโปรแกรม หากค่า EEPROM สำหรับการวัดระดับ ms มากกว่า 14400 การวัดในระดับ ms จะใช้เวลาสูงสุดตามที่กำหนดไว้ในโปรแกรม โปรแกรมจะใช้ค่า EEPROM แทนเวลาสูงสุดในการวัดที่กำหนดไว้ในโปรแกรม หากค่า EEPROM นั้นอยู่ภายในช่วงพิกัดที่กำหนด
ตาราง 2 | ||||
ที่อยู่ EEPROM | ค่า EEPROM | |||
000 0000 | LSB | เวลาสูงสุดในการวัดสำหรับช่วงการวัดระดับ μs | ||
000 0001 | MSB | |||
000 0010 | LSB | เวลาสูงสุดในการวัดสำหรับช่วงการวัดระดับ ms | ||
000 0011 | MSB |
โปรแกรมจะอ่านสวิตช์กำหนดค่าขณะที่โปรแกรมเริ่มลูปหลัก ซึ่งอาจทำให้สับสนกับการจับเวลานานๆ ได้ เนื่องจากการตั้งค่าเก่าและค่าที่วัดได้ครั้งก่อนจะแสดงผลไว้จนกว่าการวัดค่าครั้งใหม่จะเสร็จสิ้นลง คุณสามารถเร่งความเร็วในการวัดได้หากรีเซ็ตอุปกรณ์ควบคุมขนาดเล็กทันทีที่ตั้งค่าสวิตช์ใหม่เสร็จ ในการรีเซ็ตอุปกรณ์ควบคุมขนาดเล็ก ให้กดสวิตช์รีเซ็ต
ในโหมดการวัดแบบครั้งเดียว/ค้างไว้ เริ่มการวัดครั้งใหม่ได้ด้วยวิธีต่อไปนี้
เปิด S2 4-5 เพื่อรีสตาร์ทการวัดแบบต่อเนื่อง หรือรีเซ็ตอุปกรณ์ควบคุมขนาดเล็กเพื่อทำการจับเวลาในโหมดจับเวลาครั้งเดียว/ค้างไว้ (คุณจะไม่สามารถเปิดและปิดสวิตช์ S2 4-5 ได้เร็วพอที่จะรีสตาร์ทโหมดค้างไว้ด้วยวิธีนี้)
สุดท้าย สัญญาณพัลส์อินพุตควรมีระดับตรรกะที่ทำงานร่วมกับตรรกกะ TTL หรือ CMOS ได้ นอกจากนี้จะต้องกำหนดขอบสัญญาณไว้ให้ชัดเจน กล่าวคือ ไม่มีการเด้งกลับและสั่น (bouncing and ringing) (080876-I)
ลิงก์อินเตอร์เน็ต |
[1] www.elektor.com/080876 |
ดาวน์โหลดและผลิตภัณฑ์ |
PCB: 080876-1 PCB, ดาวน์โหลดได้จาก www.elektor.com/080876 |
อุปกรณ์ควบคุมที่โปรแกรมแล้ว: 080876-41 ATtiny 2313, โปรแกรมเรียบร้อยแล้ว |
ซอฟต์แวร์: 080876-11 Bascom & ชุดรหัสโปรแกรม |
กลับสู่ด้านบน