Агуулгын хүснэгт:
Видео: ATTiny85, ATTiny84 ба ATMega328P програмчлах: Arduino нь ISP: 9 алхам (зурагтай)
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:05
Оршил
Би саяхан ESP8266 дээр суурилсан хэд хэдэн IoT төслүүдийг боловсруулж байсан бөгөөд үндсэн процессор нь удирдахад шаардлагатай бүх ажлуудыг гүйцэтгэхэд хэцүү байгааг олж мэдсэн тул би тийм ч чухал биш зарим үйл ажиллагааг өөр микроконтроллерт тараахаар шийдсэн юм. ингэснээр ESP8266 -г чөлөөлж, IoT төхөөрөмж болох ажлыг үргэлжлүүлэх болно.
Би төслөө аль болох өргөн хүрээний үзэгчдэд нийтлэхийг хүсч байсан тул Arduino IDE -ийг хөгжлийн платформ болгон ашиглахыг сонгосон бөгөөд ийм олон нийтийн дэмжлэгтэй хамт олон байдаг.
Дизайн хязгаарлалт
Зорилтот төхөөрөмжүүдийн зохистой тархалтыг хангахын тулд гарын авлагад тохирох микроконтроллерыг сонгохын тулд би Atmel -ийн дараах хэсгүүдийг шийдсэн. ATMega328P, ATTiny84 ба ATTiny85. Шаардлагатай програмистын нарийн төвөгтэй байдлыг хязгаарлахын тулд би бүх төхөөрөмжийн дотоод цагийг, зөвхөн ATMega328P ба ATTiny84 -ийн хувьд 16 МГц -ийн цагийг хязгаарласан.
Дараахь зүйл бол Arduino програмчлалын талаархи тэмдэглэлүүдийн цуглуулга бөгөөд эдгээр төхөөрөмжүүдэд зориулж Arduino Uno дээр суурилсан энгийн програмист хэрхэн нэгтгэсэн тухай тайлбар юм (дээрх зургууд).
Надад ямар хэсгүүд хэрэгтэй вэ?
Программист бүтээхийн тулд танд дараах хэсгүүд хэрэгтэй болно
- Arduino Uno -оос 1 хөнгөлөлт
- 2 унтраалттай 28 зүү Zero Insertion Force (ZIF) DIP залгуур (ATMega328P, ATTiny85, ATTiny84 -ийг барих)
- Arduino прототип бамбайнаас 1 ширхэг (би эндээс авсан;
- 2 унтраалттай 5MM LED
- 2 унтраалттай 1K резистор
- 1 унтраалттай 10К эсэргүүцэл
- 4 унтраалттай 22pF керамик конденсатор
- 16 МГц давтамжтай 2 талст
- 3 унтраалттай 0.1uF керамик конденсатор
- 1 унтраалга 47uF электролитик конденсатор
- Электролитик конденсаторыг 10 фунт саванд хийнэ
- Янз бүрийн урттай утас боох утас.
Надад ямар програм хангамж хэрэгтэй вэ?
Arduino IDE 1.6.9
Надад ямар ур чадвар хэрэгтэй вэ?
- Arduino IDE -ийн талаархи мэдлэг
- Цахилгаан бараа, гагнуур хийх талаар зарим мэдлэг
- Маш их гарын авлага
- Тэвчээр, сайн хараа
Хамрах сэдвүүд
- Atmel микроконтроллер програмчлалын ерөнхий танилцуулга
- ISP эсвэл Bootloader: Энэ бүхэн жаахан ойлгомжгүй байна
- Хэлхээний тойм
- Программистаа тохируулж байна
- Arduino ISP програмистаа ашиглаж байна
- Таны зорилтот систем дээр код боловсруулж байна
- Готчас
- Дүгнэлт
- Ашигласан лавлагаа
Татгалзах
Урьдын адил та эдгээр зааврыг өөрийн эрсдэлээр ашиглах бөгөөд тэдгээр нь дэмжигдээгүй болно
Алхам 1: Atmel микроконтроллерыг програмчлах ерөнхий танилцуулга
Atmel микроконтроллерыг програмчлах хоёр арга байдаг;
- Системийн програмчлалын (ISP) хэсэгт,
- Өөрийгөө програмчлах (ачаалагч ашиглан).
Өмнөх арга (1) нь төхөөрөмжийг анхны байдалд нь оруулсны дараа микроконтроллерийг SPI интерфейсээр шууд програмчилдаг. Хэрэв өөрөөр заагаагүй бол хөрвүүлсэн эх програмыг төхөөрөмжид эхлүүлэх үед гүйцэтгэсэн газраас нь санах ойн санах ойд үе үе бичдэг. Atmel төхөөрөмжийг програмчлах чадвартай олон ISP төхөөрөмжүүд байдаг бөгөөд тэдгээрийн цөөн хэд нь (зураг 1); AVRISPmkII, Atmel-ICE, Olimex AVR-ISP-MK2, Olimex AVR-ISP500. Зураг 2 -т ISP төхөөрөмж Arduino Uno R3 самбар дээрх ATMega328P (хачин тэмдэглэгдсэн ICSP) -тэй хэрхэн холбогддогийг харуулав (3 -р зураг нь ISP -ийн зүүг гаргаж өгсөн болно). Armelino Uno ашиглан ISP интерфэйсээр дамжуулан Atmel микроконтроллерыг програмчлах боломжтой (зураг 4), энд Uno нь ATMega328P програмчлахад ашиглагддаг.
Сүүлчийн арга (2) нь гүйцэтгэгч кодын санах ойд байнга оршин суудаг "ачаалагч" гэж нэрлэгддэг жижиг кодыг ашигладаг (санамсаргүй байдлаар дахин бичихээс урьдчилан сэргийлэхийн тулд ихэвчлэн түгжигддэг). Энэ кодыг хамгийн түрүүнд асаах эсвэл төхөөрөмжийг дахин тохируулах үед гүйцэтгэдэг бөгөөд микроконтроллерийг өөр эх сурвалжаас өөр интерфэйсээр дамжуулан хүлээн авсан шинэ кодоор дахин програмчлах боломжийг олгодог. Ачаалагчийг Arduino IDE нь Arduino-г компьютер дээр USB коммандын порт болгон дахин програмчлахад ашигладаг (эсвэл MAC, Linux хайрцаг гэх мэт, Зураг 6), мөн Arduino Uno-ийн тусламжтайгаар Atmel төхөөрөмжтэй холбогддог. ATMega328P -ийн IC Pins 2 ба 3 дээрх цуваа интерфейс. Түүнчлэн Arduino Uno (ATMega328P микроконтроллерийг устгасан) нь ATMega328P -ийг ачаалагч ашиглан USB -ээс цуваа адаптер төхөөрөмж болгон үр дүнтэй програмчлахад ашиглаж болно (Зураг 7).
USB -ээс цуваа адаптер гэж юу вэ?
USB-ээс цуваа адаптер бол таны компьютерийн USB порт руу залгаж, цуваа ком порт шиг харагддаг тоног төхөөрөмж юм (компьютер нь EIA-232, V24 эсвэл RS232 гэгддэг цуваа холбооны стандартыг ашигладаг байсан үеэс уламжлагдаж ирсэн). микроконтроллерийн ижил цахилгаан түвшинд цуваа өгөгдлийг илгээх, хүлээн авах. Arduino IDE -аас Tools -> Port -> COMx -ийг сонгохдоо та компьютерээ Arduino -той холбож/холбож байна.
Ийм төхөөрөмжийг заримдаа FTDI (зураг 8, үнэндээ брэнд нэр) эсвэл CH340G гэх мэтээр нэрлэдэг. Arduino uno дээрх USB холболтыг Arduino схемийн дагуу ATMega16U2-MU (R) IC ZU4-ээр хийдэг. доор
Тодорхой болгохын тулд зураг 9 нь Armelino Uno R3 дээрх хоёр Atmel төхөөрөмж болон тэдгээрийн холбогдох ISP холбогчийг тодорхойлдог.
Тэмдэглэл 1: Хэрэв та FTDI төхөөрөмжийн маршрутаар явахаар шийдсэн бол цонхны шинэчлэлтийг ашигласнаар бүтэлгүйтсэн хямд үнэтэй хуурамч төхөөрөмж зах зээл дээр гарч байсан тул нэр хүндтэй худалдагчаас худалдаж аваарай.
Зөвлөмж болгож буй:
Attiny85 зэрэг програмчлах эсвэл олон өнгийн нүдтэй хулуу: 7 алхам
Attiny85 програмчлал эсвэл олон өнгийн нүдтэй хулуу: Энэ төсөл нь 10 мм хэмжээтэй гурван өнгийн нийтлэг анодын LED-ийг (Хулууны Halloween-ийн олон өнгийн нүд) Attiny85 чип ашиглан хэрхэн удирдахыг харуулсан болно. Төслийн зорилго нь уншигчдыг нэгэн зэрэг програмчлах урлаг, Адам Д -ийн хэрэглээнд нэвтрүүлэх явдал юм
ISP Wifi модулийг ESP8266 флаш ба програмист ашиглан ESP8266 AT програмыг хэрхэн яаж Flash хийх эсвэл програмчлах вэ: 6 алхам
ISP Wifi модулийг ESP8266 флашер ба программист ашиглан ESP8266 AT програмыг хэрхэн яаж асаах эсвэл програмчлах вэ: Тодорхойлолт: Энэхүү модуль нь ESP-01 эсвэл ESP-01S төрлийн ESP8266 модульд зориулсан USB адаптер /програмист юм. Энэ нь ESP01 -ийг залгахын тулд 2x4P 2.54 мм хэмжээтэй эмэгтэй толгойгоор тоноглогдсон болно. Мөн энэ нь ESP-01-ийн бүх тээглүүрийг 2x4P 2.54 мм хэмжээтэй эрэгтэй цоорхойгоор гаргаж авдаг
Attiny85 Arduino UNO ашиглан програмчлах (бамбай): 7 алхам
Attiny85 програмчлал (бамбай) Arduino UNO -г ашиглах нь: Arduino -тойгоо тоглох нь үнэхээр хөгжилтэй байдаг. Гэсэн хэдий ч заримдаа хэмжээ нь хамаагүй чухал байдаг. Та NANO эсвэл MINI ашиглаж үзээрэй, гэхдээ хэрэв та үнэхээр хүсч байвал
Таны Arduino -той чип програмчлах - ATTiny85, ATTiny2313 ба ATMega328: 3 алхамыг хамарсан AVR ISP
ATTiny85, ATTiny2313 ба ATMega328 -ийг хамарсан AVR ISP програмыг ашиглан програмчлалын чипс: Би үүнийг олон жилийн өмнөх ноорог гэж үзсэн. Энэ нь надад ашигтай хэвээр байгаа тул би үүнийг нийтлэх болно! Энэхүү зааварчилгаа нь "сүлжээ" болон "бүтцийн хүснэгтүүдээс" цуглуулсан мэдлэгийн цуглуулга юм. Энэ нь AVR Microco програмчлалыг хамардаг
Arduino Uno ATTINY84 (Arduino V. 1.8.5) програмчлах: 6 алхам
Arduino Uno ATTINY84 (Arduino V. 1.8.5) програмчлах: Arduino Uno ашиглан ATTINY84-20PU програмчлах (Digikey зүйл # ATTINY84-20-PU-ND). Энэхүү зааварчилгаа нь ATtiny84 (84/44/24) гэх мэт бие махбодийн хувьд жижиг процессоруудтай ажиллахын тулд Arduino платформыг хэрхэн ашиглахыг харуулж байна. Энэ жишээ нь тусгайлан зориулагдсан болно