สวัสดีครับ วันนี้ช่วงนี้ไม่ได้ลองเล่นกับ arduino มานาน จนกระทั่งเจอเพื่อนสมาชิก brogile จาก electoday เอาไอซี Attiny45 มาใช้งานได้ ผ่าน arduino ได้ ช่วงนี้เปลี่ยนนโนบาย จับอะไรรีบๆทำเลยดีกว่า เดี่ยวดองอีก สำหรับบทความของท่าน brogile ดูที่นี้เลย Funduino VS ATtiny45
Attiny45/85 เป็นไมโครคอนโทรลเลอร์รุ่นเล็กสุด อยู่ใน Package DIP8 ขา ถึงจะเล็กก็เล็กพริกขี้หนูแท้ๆเลย เพราะว่า Atmel จับยึดทุกอย่างเข้าไปครบเครื่องอย่างกับสินค้าค้างปี ต้องรีบขาย มีทั้ง Digital ,Analog ,PWM กินไฟต่ำถึง 1.8 โวลต์ และที่สำคัญ ราคา 30 บาท มันจะถูกกว่าวงจร gate อีก ผมว่าดีกว่า เราเปลี่ยนโปรแกรมเองได้
ช่วงนี้ ES เริ่มกลับมา stock ไอซีของ atmel อีกครั้ง ผมจึงถือโอกาสอันดี ทำ Review แบบกากๆ กับเขาบ้าง กล้องสั่นบ้าง มืดบ้างนะครับ ที่อยากให้ชม ดูกันว่า Attiny ทำอะไรได้บ้าง
สำหรับโปรเจคนี้ เป็นโปรเจคต่อเพิ่มมาจาก Arduino IDE เดิม พัฒนา core ไอซี Attiny มาเพิ่มเติม โดยรายละเอียดโปรเจคเข้าไปอ่านได้ที่นี้ Programming an ATtiny w/ Arduino ซึ่งเข้าจะมี core ตัวใหม่ให้ download เพิ่มเติม
โดยไอซีที่ผมได้มา มีสองรุ่นครับ ไอซี ATtiny 84 กับ ATtiny85 นะครับ โดยความจุ 8kb อยู่ในรูปแบบ Package DIP ผมเสียดายที่ ES ไม่เอาแบบ DIP มาขายบ้าง มีแต่ SMT คนอื่นใช้ยาก แต่เอาครับระดับ Advance อย่างเรา ทำได้อยู่แล้ว มาดู Review ผมไปก่อน แล้วคุณอาจจะชอบ Attiny มากขึ้น
คุณสมบัติทางกายภาพ
สเป๊กเบื้องต้นของ AtTiny 45/85
- มีความจุ 4k ในไอซี ATtiny45 และ 8k ในไอซี ATtiny85
- รันด้วย Internal Clock ความเร็ว 1MHz
- มีช่อง digital I/O 5 ช่อง เป็นช่อง D0-D5
- มีช่อง PWM 2 ช่อง ใช้ร่วมกับ digital I/O ที่เป็นขา D0,D1
- มีช่อง ADC 3 ช่อง ใช้ร่วมกับ digital I/O เป็นขา 1,2,3
วิธีการติดตั้งโปรแกรม เข้าไปดูได้จาก MAKE
แนะนำให้รู้จัก TINY กับ ลอง Blinking LED
เอาล่ะครับ มาดูหน้าตาของไอซี กับ วิธีการใช้งานก่อนนะครับ ผมอาจจะไม่ได้ลง รายละเอียดมากนะครับ คิดว่า คนที่จะใช้น่าจะมีพื้นฐานกับ Arduino มาพอสมควรแล้ว ผมลง Review เป็น guide line คร่าวๆ เท่านั้น สำหรับโปรแกรมแรก ทดลองทำไฟกระพริบจิ๋ว
โดยการใช้งานมันก้อเหมือนตัวใหญ่ทุกประการ แต่เราต้องนับขาไอซีเอง กับ map ขาไอซีใหม่ สำหรับขาดิจิตอล มีให้ใช้ตั้งแต่ D0-D4 ครับ โดยที่ขา D0,D1 เป็น PWM ได้
ลอง Toggle Switch
อยากกับ Digital Input กับ อยากรู้ว่า เขียนโปรแกรมเข้าไปอีกนิด มันจะเป็นอย่างไง ผมเลยลองเอาโค๊ดเดิม ใช้ตอนอบรม มาลองครับ เป็นโปรแกรม ควบคุม LED ผ่าน switch กดหนึ่งจะติด กดอีกที่มันจะดับ
LED Fadeing ลองใช้ PWM กับ Tiny
ตามปกติไอซีจิ๋วๆ จะไม่ค่อยใส่ PWM มาให้ตัวนี้จัดมาด้วย ผมก้อลองไปด้วย
ลองใช้ Pot ควบคุม LED ดูบ้าง
เช่นกัน อยากลองเฉยว่า Analog Input ทำงานได้เหมือนเดิมไหม ก็ทุกอย่างใช้งานได้เหมือน Arduino ตัวใหญ่ครับ
คงได้เห็น VDO Review แบบกากๆ กันไปแล้วนะครับ หลังจากที่ได้มา 1 วัน ผมสรุปได้ว่า
- Tiny Arduino รันความเร็ว 1MHz ใช้ Internal Clock ถ้าใช้งานแบบ digital I/O ปกติ ใช้งานได้
- สามารถใช้คำสั่งพื่นฐานของ arduino
- เจ้า tiny ไม่มี Bootloader นะครับ รอมมี 8k ก้อใช้ 8k เลยเต็มๆครับ
- จะ upload code ต้องมีเครื่องโปรแกรม (isp programming) ซึ่งจะใช้บอร์ด Arduino หรือ จะใช้เครื่องโปรแกรม stk500,MKII ที่ ett ขายได้เช่นกัน
- สำหรับ ATtiny45 ที่ ES มีนะครับ ตัว 30 บาท ตัวอื่นอย่าง Attiny85 /84 ต้องสั่งนอก ที่ผมมีไม่มาก เอาไว้ทำอะไรเล่นๆ
สำหรับข้อจำกัด
- ไม่มี Hardware Serial (อาจใช้ Software Serial ได้ต้องลองก่อน)
- ความเร็ว 1MHz (น่าจะเพราะว่าไม่ได้ set fuse bit ใหม่ จริงน่าจะรันได้ 8MHz)
เอาล่ะครับ คงได้เห็นพลังจิ๋วของเจ้า Tiny กันไปแล้ว เดี่ยวรอบหน้ามีโปรเจคอะไรจิ๋ว ผมจะมานำเสนอใหม่ สำหรับใครอยากลอง ไอซีหาซื้อได้ที่ ES เลยครับ เห็นมีเยอะ (ไม่แน่เจอแบบนี้อาจจะหมด)
น่าจะใช้เบอร์โหลๆที่เป็น DIP อย่าง 12, 13 ได้มั่งนะ
ประหยัดตังประหยัดเวลาดี ไม่ต้องนั่งดู register มากมาย
ผมซื้อมาได้แต่ Attiny45 คุณซื้อ85จากที่ให้ครับ แถมได้เป็น DIP ด้วย ช่วยแนะนำร้านด้วย ขอบคุณครับ
(เดฟ..)
ซื้อจาก ต่างประเทศครับ
mouser.com
น่าจะเอา attiny85 มาขาย
สุดยอดเลยครับ ขอบคุณครับ