ชิปไมโครคอนโทรลเลอร์ ATtiny85 เป็นทางเลือกที่ประหยัดและมีประสิทธิภาพสำหรับไมโครคอนโทรลเลอร์ Arduino อื่น ๆ โดยเฉพาะอย่างยิ่งเมื่อคุณต้องการลดขนาดโครงการของคุณลง ชิปมีพิน 8 พินซึ่งหกพิน I / O (รวมรีเซ็ต) และสองพินคือพินเพาเวอร์ แต่คุณจะตั้งโปรแกรมอย่างไรเนื่องจากไม่มีอินเตอร์เฟส USB เหมือนบอร์ดไมโครคอนโทรลเลอร์อื่น ๆ ดังนั้นในบทความนี้ฉันจะแนะนำคุณตลอดกระบวนการเขียนโปรแกรม ATtiny85จาก Arduino IDE ด้วยความช่วยเหลือของ Arduino Uno โดยทั่วไปเราจะใช้ Arduino UNO เป็นโปรแกรมเมอร์ ATtiny85
ส่วนประกอบที่จำเป็นสำหรับการเขียนโปรแกรม ATtiny85
- Arduino UNO
- ไอซี ATtiny85
- LED
- ตัวต้านทาน 220 โอห์ม
- เขียงหั่นขนม
- สายจัมเปอร์
ATtiny85 Microcontroller Chip - บทนำ
ATtiny85 ของ Atmel เป็นไมโครคอนโทรลเลอร์ 8 บิตที่มีประสิทธิภาพสูงและใช้พลังงานต่ำซึ่งใช้สถาปัตยกรรมขั้นสูง RISC ชิปไมโครคอนโทรลเลอร์นี้มีหน่วยความจำแฟลช 8KB ISP, 512B EEPROM, 512-Byte SRAM, 6 บรรทัด I / O เอนกประสงค์, การลงทะเบียนสำหรับการทำงานทั่วไป 32 รายการ, ตัวจับเวลา / ตัวนับ 8 บิตหนึ่งตัวพร้อมโหมดเปรียบเทียบ, ความเร็วสูง 8 บิตหนึ่งตัว ตัวจับเวลา / ตัวนับ, USI, อินเทอร์รัปต์ภายในและภายนอก, ตัวแปลง A / D 4 ช่องสัญญาณ 10 บิต, ตัวจับเวลาจ้องจับผิดที่ตั้งโปรแกรมได้พร้อมออสซิลเลเตอร์ภายใน, โหมดประหยัดพลังงานที่เลือกได้สามซอฟต์แวร์และ debugWIRE สำหรับการดีบักบนชิป ATtiny85 Pinoutได้รับด้านล่าง:
พิน I / O ส่วนใหญ่ของชิปมีมากกว่าหนึ่งฟังก์ชัน ตรวจสอบตารางด้านล่างเพื่อ ดูรายละเอียดพิน ATtiny85สำหรับแต่ละพิน
หมายเลขพิน |
ชื่อพิน |
คำอธิบายพิน |
1 |
PB5 (PCINT5 / ADC0 / dW) |
PCINT5: Pin Change Interrupt 0, Source5 รีเซ็ต: รีเซ็ตพิน ADC0:ช่องสัญญาณเข้า ADC 0 dW:ดีบัก WIRE I / O |
2 |
PB3 (PCINT3 / XTAL1 / CLKI / ADC3) |
PCINT3: Pin Change Interrupt 0, Source3 XTAL1: Crystal Oscillator Pin 1 CLKI:อินพุตนาฬิกาภายนอก ADC3:ช่องอินพุต ADC 3 |
3 |
PB4 (PCINT4 / XTAL2 / CLKO / OC1B / ADC2) |
PCINT4: Pin Change Interrupt 0, Source 4 XTAL2:ขาออสซิลเลเตอร์คริสตัล 2 CLKO:เอาต์พุตนาฬิการะบบ OC1B: Timer / Counter1 เปรียบเทียบเอาต์พุต Match B ADC2:ช่องสัญญาณเข้า ADC 2 |
4 |
GND |
พินกราวด์ |
5 |
PB0 (MOSI / DI / SDA / AIN0 / OC0A / พื้นที่ / PCINT0) |
MOSI: SPI Master Data Output / Slave Data Input DI:อินพุตข้อมูล USI (โหมดสามสาย) SDA:อินพุตข้อมูล USI (โหมดสองสาย) AIN0: Analog Comparator, Positive Input OC0A: Timer / Counter0 เปรียบเทียบ Match A output AREF:การอ้างอิงอะนาล็อกภายนอก PCINT0: Pin Change Interrupt 0, Source 0 |
6 |
PB1 (MISO / D0 / AIN1 / OC0B / OC1A / PCINT1) |
MISO: SPI Master Data Input / Slave Data Output DO:เอาต์พุตข้อมูล USI (โหมดสามสาย) AIN1: Analog Comparator, Negative Input OC0B: Timer / Counter0 เปรียบเทียบ Match B Output OC1A: Timer / Counter1 เปรียบเทียบ Match A Output PCINT1: Pin Change Interrupt 0, Source 1 |
7 |
PB2 (SCK / USCK / SCL / ADC1 / T0 / INT0 / PCINT2) |
SCK:อินพุตนาฬิกาอนุกรม USCK:นาฬิกา USI (โหมดสามสาย) SCL:นาฬิกา USI (โหมดสองสาย) ADC1:ช่องสัญญาณเข้า ADC 1 T0:แหล่งที่มาของนาฬิกา Timer / Counter0 INT0:อินเทอร์รัปต์ภายนอก 0 อินพุต PCINT2: Pin Change Interrupt 0, Source 2 |
8 |
VCC |
ขาจ่ายแรงดัน |
ขั้นตอนที่ 1: การกำหนดค่า Arduino Uno เป็น ISP:
เนื่องจาก ATtiny85 เป็นเพียงไมโครคอนโทรลเลอร์จึงต้องใช้ ISP (In-System Programming) ในการตั้งโปรแกรม ดังนั้นในการตั้งโปรแกรม ATtiny85 เราต้องกำหนดค่า Arduino Uno เป็น ISP ก่อนเพื่อทำหน้าที่เป็นโปรแกรมเมอร์สำหรับ ATtiny85 จากนั้นให้เชื่อมต่อ Arduino Uno กับแล็ปท็อปและเปิด Arduino IDE หลังจากนั้นไปที่ ไฟล์> ตัวอย่าง> ArduinoISP และอัปโหลดรหัส Arduino ISP
ขั้นตอนที่ 2: แผนภาพวงจรสำหรับการเขียนโปรแกรม ATtiny85:
แผนผังที่สมบูรณ์สำหรับการเขียนโปรแกรม ATtiny85 กับ Arduino Uno มีดังต่อไปนี้:
ขาบวกของ LED เชื่อมต่อกับ Pin 0 ของ ATtiny85 IC ผ่านตัวต้านทาน220Ωในขณะที่พิน GND เชื่อมต่อกับ GND ของ IC การเชื่อมต่อที่สมบูรณ์มีให้ในตารางด้านล่าง:
ATtiny85 พิน |
Arduino Uno Pin |
Vcc |
5V |
GND |
GND |
พิน 2 |
13 |
พิน 1 |
12 |
ตรึง 0 |
11 |
รีเซ็ต |
10 |
ขั้นตอนที่ 3: การเขียนโปรแกรม ATtiny85 โดยใช้ Arduino IDE:
ในการตั้งโปรแกรม ATtiny85 ด้วย Arduino IDE ก่อนอื่นเราต้องเพิ่ม ATtiny85 Support ให้กับ Arduino IDE จากนั้นไปที่ ไฟล์> ค่ากำหนด และเพิ่มลิงก์ด้านล่างใน URL ตัวจัดการบอร์ดเพิ่มเติมแล้วคลิก 'ตกลง'
หลังจากนั้นไปที่ Tools> Board> Board Manager และค้นหา 'attiny' และติดตั้งเวอร์ชันล่าสุด
หลังจากติดตั้งแล้วตอนนี้คุณจะสามารถดูรายการใหม่ในคณะกรรมการเมนูชื่อ'Attiny25 / 45/85'
ตอนนี้ไปที่ ไฟล์> ตัวอย่าง> พื้นฐาน และเปิดตัวอย่างกะพริบ
เปลี่ยนหมายเลขพินจาก LED_BUILTIN เป็น 0
ตอนนี้กลับไปที่เครื่องมือ -> คณะกรรมการและเลือก“Attiny25 / 45/85” จากนั้นเลือกATtiny85ภายใต้เครื่องมือ> การประมวลผล
ตอนนี้ไปข้างหน้าและอัปโหลดรหัส หากไฟ LED ที่เชื่อมต่อกับ Pin 0 ของ Attiny85 IC กะพริบแสดงว่าอัปโหลดรหัสสำเร็จแล้ว
นี่คือวิธีที่คุณสามารถตั้งโปรแกรมชิปไมโครคอนโทรลเลอร์ ATtiny85โดยใช้ Arduino IDE และ Arduino Uno วิดีโอการทำงานได้รับด้านล่าง หากคุณมีคำถามใด ๆ ทิ้งไว้ในส่วนความคิดเห็น คุณยังสามารถโพสต์คำถามทางเทคนิคของคุณในฟอรัม Electronics ของเราเพื่อรับข้อมูลเชิงลึกที่ดีขึ้น