
Tartalomjegyzék:
2025 Szerző: John Day | [email protected]. Utoljára módosítva: 2025-01-23 14:48


Előszó
Nemrégiben kifejlesztettem néhány ESP8266 alapú IoT projektet, és azt tapasztaltam, hogy a központi processzor nehezen tudja elvégezni az összes olyan feladatot, amelyre szükségem volt, hogy kezeljem, ezért úgy döntöttem, hogy a kevésbé fontos tevékenységek egy részét elosztom egy másik mikrokontrollernek. így felszabadítva az ESP8266 -ot, hogy folytathassa IoT -eszközét.
Tekintettel arra, hogy a projektemet a lehető legszélesebb közönségnek akartam közzétenni, úgy döntöttem, hogy az Arduino IDE -t választom fejlesztési platformként, mivel ilyen széles körben támogatott közössége van.
Tervezési korlátozások
Annak érdekében, hogy a céleszközök ésszerű terjedését lehetővé tegyék, lehetővé téve a megfelelő mikrokontroller kiválasztását az adott alkalmazáshoz, a következő Atmel alkatrészekre támaszkodtam; ATMega328P, ATTiny84 és ATTiny85. A szükséges programozó összetettségének korlátozása érdekében korlátoztam az óra kiválasztását minden eszköznél belső, és 16 MHz -es külsőt csak az ATMega328P és ATTiny84 készülékeknél.
A következőkben az Arduino programozásával kapcsolatos megjegyzések gyűjteménye és annak leírása, hogyan állítottam össze egy egyszerű Arduino Uno alapú programozót ezekhez az eszközökhöz (képek fent).
Milyen alkatrészekre van szükségem?
A programozó elkészítéséhez a következő alkatrészekre lesz szüksége
- 1 kedvezmény Arduino Uno
- 2 ki 28 tűs Zero Insertion Force (ZIF) DIP foglalat (ATMega328P, ATTiny85, ATTiny84 tartására)
- 1 db Arduino prototípuspajzs (itt kaptam az enyémet;
- 2 db 5 mm -es LED
- 2 db 1K ellenállás
- 1 off 10K ellenállás
- 4 db 22pF kerámia kondenzátor
- 2 db 16MHz -es kristály
- 3 db 0,1uF kerámia kondenzátor
- 1 off 47uF elektrolit kondenzátor
- 1 db 10uF elektrolit kondenzátor
- Különböző hosszúságú huzal tekercselő huzal.
Milyen szoftverre van szükségem?
Arduino IDE 1.6.9
Milyen készségekre van szükségem?
- Az Arduino IDE ismerete
- Némi ismerete az elektronikáról és a forrasztásról
- Nagyon sok kézügyesség
- Türelem és jó látás
Érintett témák
- Általános bevezetés az Atmel mikrovezérlők programozásához
- ISP vagy Bootloader: Az egész egy kicsit zavaros
- Áramkör áttekintés
- A programozó beállítása
- Az Arduino internetszolgáltató programozójának használata
- Kód fejlesztése a célrendszeren
- Gotchas
- Következtetés
- Felhasznált hivatkozások
Jogi nyilatkozat
Mint mindig, ezeket az utasításokat saját felelősségére használja, és azok nem támogatottak
1. lépés: Általános bevezetés az Atmel mikrovezérlők programozásáról



Az Atmel mikrokontrollerek programozására két módszer áll rendelkezésre;
- A rendszerprogramozásban (ISP),
- Önprogramozás (rendszerbetöltőn keresztül).
Az előbbi módszer (1) közvetlenül az SPI interfészen keresztül programozza a mikrokontrollert, miután először visszaállította a készüléket. Hacsak másképp nem írják elő, akkor egy lefordított végrehajtható forrásprogramot fokozatosan írnak az eszközre a kódmemóriába, ahonnan indításkor végrehajtják. Sok internetszolgáltató képes Atmel eszközök programozására, ezek közül néhány (1. kép); AVRISPmkII, Atmel-ICE, Olimex AVR-ISP-MK2, Olimex AVR-ISP500. A 2. kép azt mutatja, hogy az internetszolgáltató hogyan csatlakozik az ATMega328P -hez (furcsán megjelölt ICSP) az Arduino Uno R3 táblán (a 3. képen látható az internetszolgáltató csapja). Lehetőség van egy Atmel mikrokontroller programozására is az SPI interfészén keresztül, Arduino Uno internetszolgáltatóként (4. kép), itt az Unot használják ATMega328P programozására.
Az utóbbi módszer (2) egy kis kódcsonkot használ, amelyet „bootloader” néven ismerünk, és amely állandóan a végrehajtható kódmemóriában található (általában zárolva, hogy megakadályozzák a véletlen felülírást). Ez a kód először a bekapcsoláskor vagy az eszköz visszaállításakor kerül végrehajtásra, és lehetővé teszi a mikrokontroller számára, hogy újraprogramozza magát új kóddal, amelyet az interfészein keresztül kapott, önmagától külső forrásból. A rendszerbetöltő módszert az Arduino IDE használja a számítógép USB-portjaként leképezett Arduinos újraprogramozására (vagy MAC, Linux box stb., 6. kép), és az Arduino Uno esetén az Atmel eszközzel kommunikál soros interfész az ATMega328P 2. és 3. IC -n. Az Arduino Uno (eltávolítva az ATMega328P mikrovezérlővel) használható az ATMega328P programozására a rendszerbetöltő módszerrel, amely hatékonyan működik USB -soros adapter eszközként (7. kép).
Mi az USB -soros adapter?
Az USB-soros adapter olyan hardver, amely a számítógép USB-portjához csatlakozik, és úgy néz ki, mint egy soros port (örökség a korábbi időkből, amikor a számítógépek EIA-232, V24 vagy RS232 néven ismert soros kommunikációs szabványt használtak), amely lehetővé teszi, hogy soros adatokat küldhet és fogadhat a mikrokontroller azonos elektromos szintjein. Ha az Eszközök -> Port -> COMx lehetőséget választja az Arduino IDE -ből, akkor csatlakoztatja/illeszti a számítógépet az Arduino -hoz.
Az ilyen eszközöket néha FTDI-nek (8. kép, ami valójában márkanév) vagy CH340G-nek vagy másnak nevezik, vagy CH340G, stb. lent.
Az egyértelműség kedvéért a 9. kép azonosítja a két Atmel eszközt és a hozzájuk tartozó ISP csatlakozókat az Arduino Uno R3 készüléken.
1. megjegyzés: Ha az FTDI eszköz útvonalát választja, győződjön meg arról, hogy jó hírű eladótól vásárol, mivel sok olcsó hamisított eszköz volt a piacon, amelyek meghibásodtak a Windows frissítésének alkalmazásakor.
Ajánlott:
Önálló Arduino 3.3V W / külső 8 MHz -es óra programozása az Arduino Uno -tól az ICSP / ISP -n keresztül (soros megfigyeléssel!): 4 lépés

Önálló Arduino 3.3V W / külső 8 MHz -es óra programozása az Arduino Uno -tól az ICSP / ISP -n keresztül (soros felügyelet mellett!): Célok: Egy önálló Arduino felépítése, amely 3,3 V -on működik 8 MHz -es külső óra mellett. Programozása ISP-n keresztül (más néven ICSP, áramkörön belüli soros programozás) egy Arduino Uno-ról (5 V-on fut) A rendszerbetöltő fájl szerkesztéséhez és az égetéshez
Az ATtiny85 programozása és rendszerbetöltése USBasp segítségével: 5 lépés

Az ATtiny85 programozása és indítása USBasp segítségével: Ebben az utasításban pontosan megtudhatja, hogyan kell betölteni és programozni egy ATtiny85 mikrochipet a legegyszerűbb módon. Ez az első utasításom, így ha bármilyen tanácsa vagy tippje van a jobb útmutatók készítéséhez, kérjük, bátran
Dirt Olcsó ATtiny-85 Tv-B-Gone (kikapcsol minden TV-t!), Plusz Arduino mint Isp: 4 lépés

Dirt Olcsó ATtiny-85 Tv-B-Gone (kikapcsol minden TV-t!), Plusz Arduino mint Isp: Jelentkezzen az „Elektronika dióhéjban” tanfolyamomra itt: https://www.udemy.com/electronics-in-a -nutshell/? couponCode = TINKERSPARK További projektekért és elektronikai oktatóanyagokért nézd meg itt a youtube csatornámat is: https://www.youtube.com/channel/UCelOO
Chipek programozása az Arduino -val - AVR ISP, amely lefedi az ATTiny85, az ATTiny2313 és az ATMega328: 3 lépést

Chipek programozása az Arduino -val - AVR ISP, amely lefedi az ATTiny85, ATTiny2313 és ATMega328 programokat: Ezt sok évvel ezelőtti vázlatként találtam. Ez még mindig hasznos számomra, ezért közzé fogom tenni! Ez az Instructable a net és az nstructables körül gyűjtött ismeretek gyűjteménye. Ez magában foglalja az AVR Microco programozását
Olcsó (mint az ingyenes [mint a sörben]) Többméteres állvány: 4 lépés
![Olcsó (mint az ingyenes [mint a sörben]) Többméteres állvány: 4 lépés Olcsó (mint az ingyenes [mint a sörben]) Többméteres állvány: 4 lépés](https://i.howwhatproduce.com/images/004/image-11898-43-j.webp)
Olcsó (mint az Ingyenes [mint a Sörben]) Többméteres állvány: Bosszantott, hogy meg kell emelnem a nyakamat, vagy bizonytalanul kell egyensúlyoznom az olcsó 4 dolláros többméteres valahol, ahol valóban elolvashatom a kijelzőt. Ezért úgy döntöttem, hogy a saját kezembe veszem a dolgokat! Ez egyben az első strukturálható, tehát ha valakinek van hasznos megjegyzése