Arduino. Žinomas ir daugelio pamėgtas prietaisas išpopuliarėjo taip, kad net maži vaikai prieš gimdami jau bando parašyti eskizą. PS, tai pokštas... Trumpai tariant, aš nenoriu atsilikti, o šiame straipsnyje aš jums pasakysiu, kaip ATmega8A išplėtimo plokštę paversti arduino. Kas nežino, koks tai mokestis, gali jį perskaityti. Taip, suprantu, sakys daugelis, bet kur naminis. Naminis yra tai, kad Arduino jums reikia tik kelių dalykų. Pirmasis yra mikrovaldiklis. Dėl pigumo rinkitės ATmega8. Antrasis yra kvarcas, kurio dažnis yra 16 MHz. Trečia – du keraminiai vamzdžiai po 22pf. Ir ketvirtas yra USB TTL keitiklis, bet koks. Norėdami surinkti, turite pritvirtinti kvarcą prie MK XTAL1 ir XTAL2 kojų. Pritvirtinkite du conderius prie tos pačios kojos, o kitas conder kojas prie žemės ir viskas.

Dabar pereikime prie praktinių veiksmų. Derinimo plokštę paversime Arduino, bet visi veiksmai galioja paprastam MK, kvarcui ir porai conderų. Ir taip, eime.
Išplėtimo plokštėje pagal numatytuosius nustatymus kvarcas nustatytas į 7,3728 MHz. Tai neveiks Arduino. Taigi imame ir keičiame į 16 MHz.

Tada į savo lentą turime įkelti įkrovos įkroviklį. Norėdami tai padaryti, paimkite bet kurią „Arduino“ plokštę. Po ranka turiu Arduino UNO. Jei dar neturite Arduino, pats laikas jį įsigyti. Galite nusipirkti Chip Resistor parduotuvėje. Taigi, mes turime Arduino UNO. Dešinėje ant stalo priešais save padėjome Arduino UNO, o kairėje – ATmega8A išplėtimo plokštę. Dešinėje pusėje šios plokštės turi ISP jungtį su klasikiniu Atmel kištuku.

Nedvejodami paimkite laidus ir sujunkite šias jungtis vieną su viena, išskyrus 5 kaištį.


Dabar paimame laidus ir vieną galą įkišame į 5-tą ATmega8A išplėtimo plokštės kaištį, o kitą galą į Arduino UNO Digital 10 kaištį.Turėtų pasirodyti taip.

Dėl to po visų manipuliacijų turėtume atrodyti taip.

Jei viskas gerai, prisijunkite prie Kompiuterio USB. At teisingas ryšys Arduino UNO šviesos diodai ir raudonas šviesos diodas ATmega8A išplėtimo plokštėje turėtų užsidegti. (Deja, nuotraukoje laidai užblokavo šviesos diodą, bet patikėkite, jis įjungtas)

Mes kreipiamės į programinės įrangos procedūras. O štai visi ATmega8 MK gerbėjai laukia didelio Arduino gamintojų sąrankos. Šiuo metu IDE 1.6.3 versija nepalaiko šių mikrovaldiklių. Tiksliau konfigūracijos failus Ir yra įkrovos įkroviklis, bet jūs negalite jo užpildyti. Faktas yra tas, kad „Arduino“ perėjo prie minimalaus ATmega328P MK, o ši infekcija turi „Extended Byte Fuse“. Bet blogasis aštuonetas – ne. Dėl šių šiukšlių bootloader nėra užtvindytas, bet prisiekia, kad nėra šių bitų. Todėl reikia užpildyti įkrovos įkroviklį sena versija IDE. Jei jo neturite, galite atsisiųsti iš manęs. Tai 1.0.3 versija ir jos nereikia įdiegti. Tiesiog kur nors ištraukite užtrauktuką ir viskas. Tada tiesiog paleiskite programą iš šio aplanko. O dabar sukurkime savo MK užpildymo programą. Pirmiausia iš pavyzdžių pasirinkite programuotoją ArduinoISP ir įkelkite jį į „Arduino UNO“ ar bet ką, ką šiuo metu naudojate.

Išpylus reikia pakeisti Arduino UNO plokštę arba kurią turite Arduino NG ar senesnė versija su ATmega8.

Visi. Galima užpildyti. Spustelėkite Įrankiai -> Rašyti įkrovos tvarkyklę ir palaukite įrašymo pabaigos.

Paruošta. Arduino gimė. Atjungiame visus laidus, o išplėtimo plokštę pakabiname ant GSMBOARD 1.1 derinimo plokštės. Toliau paimame USB-TTL išplėtimo plokštę ir sujungiame GND - GND, RXD - TXD, TXD - RXD laidais ir įjungiame maitinimą. Turėtų užsidegti žalias šviesos diodas.

Jei viskas pavyko, išjunkite seną programą ir paleiskite vyrišką Naujausia versija. Šiandien yra 1.6.3 ir mes rašome šį kodą. void setup() ( pinMode(2, OUTPUT); ) void loop() ( digitalWrite(2, HIGH); delay(2000); digitalWrite(2, LOW); while(1); ) Būtent tai, kas čia vyksta. Pirmiausia inicijuojame 2 kaištį prie išvesties. Tada ant jo rodome vienetą, palaukiame dvi sekundes ir nuspaudžiame iki nulio. Tada patenkame į nesibaigiančią kilpą. Kad būtų aišku, čia yra paveikslėlis, į ką virto derinimo lenta.

Kaip matote, antrasis kaištis yra atsakingas tik už modulio įjungimą ir išjungimą. Dabar atėjo laikas įkelti mūsų eskizą į ką tik iškeptą „Arduino“. Norėdami tai padaryti, iš naujo sukonfigūruokite IDE, pasirinkdami elementus, kaip parodyta paveikslėlyje žemiau. Ir nepamirškite pakeisti prievado į USB-TTL.

Viskas nustatyta. Spustelėkite įkelti eskizą. Viskas būtų gerai, bet klaida išnyko. Ech. Štai koks grėblys zavolyalas. „Arduino“ programoms atsisiųsti naudoja virtualų COM prievadą. Tai veikia taip. Pirma, IDE sukompiliuoja projektą, tada patraukia MK atstatymo mygtuką, o kadangi pirmiausia paleidžiamas įkrovos įkroviklis, tai pamatęs IDE pradeda pilti programą į flash. Ir jei po kompiliavimo neiš naujo nustatysite MK, tada įkrovos tvarkyklės IDE nelauks ir išmes klaidą. Norėdami atstatyti iš naujo, visi „Arduinos“ turi koją COM prievadas DTR. USB-TTL išplėtimo plokštė neturi šios kojos, todėl kai IDE sukompiliuoja projektą ir rašo Įkeliama.

Pašėlusiai paspauskite ir atleiskite ATmega8A išplėtimo plokštės atstatymo mygtuką. IDE paims įkrovos įkroviklį ir suaktyvins programą. Viskas, programa šiek tiek nusileis ir įjungs GSM modulį. Jei viskas padaryta teisingai, turėtų būti taip, kaip nuotraukoje.

Laimingiems USB-RS232 adapterių savininkams galite išvesti DTR kaištį iš prievado (žinoma, per MAX3232 lustą), kad atkurtumėte MK. Tai yra 5 kaištis IPT antraštėje per 100 nF kondensatorių. Tai yra, DTR - kondensatorius - RES. Ir tada pati IDE ištrauks atstatymą. Bet kokiu atveju tai turėtų būti paveikslėlis. Programa suveikė ir įjungė modulį.

Dabar galite dirbti su GSM moduliu. Jei turite klausimų rašykite. Pabandykime tai išsiaiškinti.

ANONIMUS 02.02.16 22:32 val

Ačiū už straipsnį. Dabar savo arduino uno galiu naudoti mega 8.

niko19 25.12.16 23:03

Kam po velnių visa tai daryti su išplėtimo plokšte ir gauti Arduino, jei ant stalo jau yra paruoštas Arduino? Kyla klausimas, kaip pasidaryti naminį Arduino, tarkime ant duonos lentos, iš Mega8 ir kvarco. Pavyzdžiui, aš turiu lygiagretųjį programuotoją, tačiau turiu ir serijinį programuotoją, o paruošto Arduino nėra ...

Aleksejus 25.12.16 23:40

„Arduino“ yra „Atmel“ mikrovaldiklis su įkelta įkrovos programa, skirta darbui su „Arduino IDE“. Viskas, ko jums reikia, yra nustatyti įkrovos įkroviklio saugiklius, pasirinkti iš savo MK programinės įrangos aplanko ir užpildyti. Jei trumpai.

EGYDuino yra „Arduino“ klonas, kurį galite sukurti vienpusiame spausdintinė plokštė. Tai paprastas ir pigus sprendimas, kurį galite pasigaminti namuose ir yra 100% suderinamas su Arduino.

apibūdinimas

ATmega8 mikrovaldiklis yra atsakingas už USB nuoseklųjį ryšį. Jį galima užprogramuoti su. Prijungus įrenginį AVR-CDC sukuria virtualų COM prievadą kompiuteryje ir įdiegia atitinkamą tvarkyklę. ATmega 8.168 mikrovaldiklis turėtų būti užprogramuotas naudojant ArduinoNG boatloader. Šią operaciją galima atlikti naudojant kitą arduino plokštės(pasirinkite IPT programuotoją) ir Arduino IDE arba atskirą programuotoją (USB, nuoseklųjį arba lygiagretųjį), pvz., USBasp su tinkamu programinė įranga. Taip pat galite naudoti krautuvą Arduinoduemilanove ATmega 168 arba 328.

Plokštė turi šias charakteristikas:

Naudoja ATmega8 mikrovaldiklį kaip sąsajos IC
- USB jungtis su kompiuteriu
- Standartinis mygtukas RESET
- 100% kaištis suderinamas su Arduino
- Reguliatorius 5V
- Išėjimas 3,3V
- Suderinamas dydis ir dizainas
- Visi komponentai įkišti į plokštės tvirtinimo angas
- USB arba nuolatinės srovės maitinimo jungiklis
- LED išvesties PIN13 su trumpikliu
- Maitinimo šviesos diodas
- ICSP jungtis
- Lengva gaminti
- ATmega8 168 328 mikrovaldikliai, naudojantys arduinoNG įkrovos įkroviklį
- Standartinis nuolatinės srovės maitinimo lizdas

EGYDuino plokštė gali būti maitinama per USB jungtį arba įtampos reguliatorių iš išorinio adapterio.

Schema

Visa įrenginio schema parodyta žemiau.

Spausdintinė plokštė

Radijo elementų sąrašas

Paskyrimas Tipas Denominacija Kiekis PastabaRezultatasMano užrašų knygelė
IC1 mikrovaldiklisATmega8-P1 Į užrašų knygelę
IC2 MK AVR 8 bitų

ATmega328

1 Į užrašų knygelę
IC3 Linijinis reguliatorius

LM7805

1 Į užrašų knygelę
D1 lygintuvo diodas

1N4001

1 Į užrašų knygelę
D2, D3 zenerio diodas3,6 V2 Į užrašų knygelę
C1, C2, C5, C6 Kondensatorius22 pF4 Į užrašų knygelę
C3 Kondensatorius1000 pF1 Į užrašų knygelę
C4, C7, C10 Kondensatorius0,1 uF3 Į užrašų knygelę
C8, C9 elektrolitinis kondensatorius100uF2 Į užrašų knygelę
R1, R2 Rezistorius

68 omų

2 Į užrašų knygelę
R3 Rezistorius

1,5 kOhm

1 Į užrašų knygelę
R4, R6 Rezistorius

10 kOhm

2 Į užrašų knygelę
R5 Rezistorius

1 kOhm

1 Į užrašų knygelę
R7 Rezistorius

470 omų

1 Į užrašų knygelę
Q1, Q2 Kvarcinis rezonatorius16 MHz2 Į užrašų knygelę
LED1 Šviesos diodasRaudona1

Turiu iš karto pripažinti, kad pavadinimas skirtas pritraukti dėmesį - žinoma, jūs negalite surinkti visavertės Arduino plokštės už 3 USD, tačiau minimalus sprendimas yra visiškai įmanomas.

Lentos Arduino projektas idealiai tinka duonos lentos ir prototipų kūrimui, o baigtiems įrenginiams norėjau rasti ką nors pigesnio ir prieinamesnio. Šiame įraše bus aprašytas minimalus su Arduino suderinamas dizainas.

Kaip atspirties taškas naudoti straipsniai Minimal Arduino su ATmega8 (įspėjimas: šiame straipsnyje yra klaida, saugiklių bitų reikšmės neteisingos) ir ArduinoISP puslapis iš oficialaus wiki. Deja, nė vienas iš šių straipsnių vienu metu neatsakė į visus mano klausimus, be to, kilo noras šiek tiek „pasukti“ standartinę įkrovos programą, bet apie tai plačiau žemiau.

Naujų plokščių ir IDE palaikymas
(2012-05-01 papildymas, bylos taisytos 2012-05-27)

Šiame straipsnyje aprašyti veiksmai buvo išbandyti Arduino IDE 0023 ir klonuoti Arduino Duemilanove. Nuo šio straipsnio parašymo buvo išleistos naujos plokštės ir atnaujinta aplinka. Sprendžiant iš vartotojo komentarų apie šį įrašą, viskas veikė, jei buvo naudojama programavimo plokštė Arduino Uno ir Arduino Mega 2560. Naujai aplinkos versijai Arduino IDE 1.0.1 Paruošiau atnaujintą archyvą (straipsnio pabaigoje), atnaujinimas būtinas dėl nedidelių failo formato pakeitimų lentos.txt

Minimalus Arduino kūrimas už 3,5 USD
(2012-05-02 papildymas)

Šis metodas yra alternatyva aprašytam žemiau esančiame straipsnyje!
Įskaitant Arduino IDE 1.0 tiekiamas naujas Optiboot įkrovos įkroviklis, kuris užima tik 512 baitų (šiame straipsnyje aprašytas įkrovos įkroviklis yra dvigubai didesnis - 1 KB) ir veikia dideliu budrumu - 115200 (toliau esančiame straipsnyje - 38400). Šio įkrovos įkroviklio veikimui, be straipsnyje aprašytų komponentų, reikia išorinio 16MHz kvarco ir dviejų 22pF kondensatorių jo surišimui (tai paaiškina išlaidų padidėjimą 0,5 USD :)). „Arduino IDE 1.0“ pateikiama su sudaryta „ATmega8“ versija, jums tereikia ją pridėti prie lentos.txt sekantis ir paleiskite įkrovos tvarkyklę:
################################################# # ############ atmega8optiboot.name=ATmega8 (optiboot, 16Mhz XTAL) atmega8optiboot.upload.protocol=arduino atmega8optiboot.upload.maximum_size=7680 atmega8optiboot.=atmega8optibootspeo.1 = 0xBF atmega8optiboot.bootloader.high_fuses=0xCC atmega8optiboot.bootloader.path=optiboot atmega8optiboot.bootloader.file=optiboot_atmega8.hex atmega8optiboot.atbootloader.unlock_bits=0x3F atmega8optiboot.bootloader.lock_bits=0x0F atmega8opticobuild.fpuot.8.build. =16000000L atmega8optiboot .build.core=arduino:arduino atmega8optiboot.build.variant=arduino:standard 2012 m. liepos 14 d. straipsnio failų versijoje šio metodo nustatymai buvo įtraukti į archyvą taigi redaguoti pagrindinį lentos.txt nebereikia.



Ko prireiks:
  • Su Arduino suderinama plokštė(Naudojau kinų Arduino Duemilanove kloną, rašymo metu naujojo Arduino Uno nepalaiko ArduinoISP eskizas. Atnaujinimas: pranešama, kad ArduinoISP vartotojai iš Arduino 023 palaiko Arduino Uno). Plokštė bus naudojama kaip įkrovos įkrovos programinės įrangos programuotojas ir ateityje kaip USB-TTL konverteris;
  • Arduino IDE versija 0022 (naujausia rašymo metu);
  • mikrovaldiklis DIP-28 ATmega8 arba ATmega8A pakete ( , "A" versijos energijos suvartojimas yra mažesnis). Laikrodžiui bus naudojamas vidinis RC generatorius, kurio didžiausias dažnis yra 8Mhz.
  • laidai Norėdami visa tai prijungti įkrovos įkroviklio laikotarpiui, programinė įranga (naudojau belituojančią plokštę ir nuimtų laidų rinkinį)
Neprivalomi komponentai:
  • 1 šviesos diodas ir 220–500 omų srovės ribojimo rezistorius (prijungtas prie 19 kaiščio (PB5), tai yra ta pati skaitmeninio kaiščio 13 išvestis, kuri yra prijungta prie LED daugelyje su Arduino suderinamų plokščių L);
  • 1 rezistorius 10 kOhm (prijungtas nuo RESET "mikrovaldiklio prie + 5 V, kad būtų išvengta savavališko atstatymo);
  • 1 kondensatorius 100 nF (prijungtas tarp pliuso ir minuso maitinimo šaltinio, kad būtų pašalinti trukdžiai).

ATmega8(A) pasirinkimas paaiškinamas labai paprastai: vietinėse radijo parduotuvėse nebuvo kitų valdiklių, palaikomų Arduino aplinkos. Viena vertus, tai labai apribojo kodo kiekį, kita vertus, būtent dėl ​​to, kad mano Arduino projekto kodas netilpo į valdiklio atmintį, buvau priverstas susidoroti su WinAVR ir perrašyti projektą pagal AVR-GCC. Prisiminti C ir skaityti duomenų lapus prireikė nemažai laiko, tačiau kodas pasirodė penkis kartus kompaktiškesnis ir, ko gero, vargu ar grįšiu prie programavimo Arduino aplinkoje :).

IDE paruošimas

Atsisiųskite archyvą su nustatymais ir įkrovos tvarkykle ir išpakuokite į Sketchbook aplanką (kelią galite pamatyti meniu punkte File -> Preferences Arduino IDE) Paleidus Arduino IDE iš naujo, Tools -> turėtų atsirasti naujas elementas. Lentos meniu.


Archyve yra:
  • Modifikuota ATmega8 įkrovos programa iš Arduino projekto. Originalus šaltinis galima rasti aplanke hardware\arduino\bootloaders\atmega8. Šis įkrovos įkroviklis užima tik 1 KB (512 žodžių) valdiklio atminties, skirtingai nei naujesnė hardware\arduino\bootloaders\atmega, kuris naudojamas ATmega168 ir ATmega328 plokštėms. Skirtumai nuo pradinės versijos yra tokie: atstačius mikrovaldiklį sumažėjo eskizo laukimo laikas, padidintas atsisiuntimo greitis iki 38400;
  • Failas boards.txt, kuriame aprašoma naujo tipo plokštės konfigūracija (su daugiau didelis greitis apkrova ir saugiklių bitai, skirti veikti iš vidinio RC generatoriaus 8Mhz dažniu).
Su Arduino suderinamos plokštės pavertimas programuotoju

„Arduino“ turite įkelti „ArduinoISP“ eskizą ( Failas -> Pavyzdžiai -> ArduinoISP), po to Arduino gali atlikti beveik bet kokių AVR lustų IPT programuotojo vaidmenį (išbandžiau ATmega8 ir ATtiny45).


„Programuotojo“ prijungimas prie valdiklio


Grandinė dubliuojama ArduinoISP eskizo tekste:

// šis eskizas paverčia Arduino į AVRISP // naudojant šiuos kaiščius: // 10: vergas atstatymas // 11: MOSI // 12: MISO // 13: SCK
Atnaujinimas nuo 2011-10-30:„Arduino Mega“ kaiščių priskyrimas skiriasi:

// 50 (MISO) // 51 (MOSI) // 52 (SCK) // 53 (slave reset)
Be to, galite prijungti šviesos diodus, kurie mirksi programinės įrangos metu (jų buvimas ar nebuvimas neturi įtakos funkcionalumui):

// Įdėkite šviesos diodą (su rezistoriumi) ant šių kaiščių: // 9: širdies plakimas – rodo, kad programuotojas veikia // 8: klaida – užsidega, jei kas nors nepavyksta (naudokite raudoną, jei tai prasminga) // 7: Programavimas - Bendraujant su vergu
Ryšio patikrinimas

„Arduino“ naudoja eskizams sudaryti avr-gcc, standartinė programinės įrangos programa, kurioje yra programa avrdude (esanti šiame aplanke: \hardware\tools\avr\bin\ ). Prieš darydami ką nors daugiau, turime patikrinti, ar tinkamai prijungėme valdiklį naudodami šią komandą:


avrdude -v -patmega8 -cstk500v1 -PCOM10 -b19200
Parametrų priskyrimas:
  • -v - rodyti daugiau informacijos
  • -patmega8 - valdiklio tipas (atmega8A vis tiek turite nurodyti atmega8)
  • -cstk500v1 - programuotojo tipas (ArduinoISP emuliuoja STK500)
  • -PCOM10 - COM prievado numeris (galima peržiūrėti meniu Tools -> Serial Port Arduino IDE)
  • -b19200 - perdavimo sparta, ArduinoISP eskizas veikia šiuo duomenų perdavimo greičiu
Jei viskas prijungta teisingai, valdiklis turėtų su malonumu atsakyti maždaug taip:

AVR įrenginys inicijuotas ir paruoštas priimti instrukcijas Skaitoma | ################################################# # | 100% 0.05s avrdude: Įrenginio parašas = 0x1e9307 avrdude: safemode: lfuse skaito kaip E1 avrdude: safemode: hfuse skaito kaip D9 avrdude: safemode: lfuse skaito kaip E1 avrdude: safemode: safemode aududedes done: D9modevrdudes done: . Ačiū.

Svarbu! Jei viskas prijungta tinkamai, bet vis tiek neveikia, problema gali būti avrdude versijoje. Vienoje iš mano bandomųjų plokščių susidarė tokia situacija: avrdude iš ArduinoIDE nemato "programuotojo" plokštės su ArduinoISP, bet avrdude iš WinAVR veikia gerai. Šios nesuprantamos klaidos sprendimas yra gana paprastas - kol įkrovos įkroviklis veikia „firmware, pakeiskite failą \hardware\tools\avr\bin\avrdude.exe daugiau nauja versija iš WinAVR. Bootloader gali būti paleistas ne iš pirmo, o nuo antrojo karto - forumuose taip pat yra pakankamai skundų dėl tokio elgesio. Paleidę įkrovos tvarkyklę, galite atkurti pradinę avrdude versiją.

Firmware bootloader "a

Lengviausia dalis. Turite paleisti Arduino IDE, meniu elemente Įrankiai -> lenta pasirinkite šią plokštę: ATmega8(A) (8MHz int. RC osc, trumpas įkrovos delsa, 38400 bodų sparta). Tai yra tikslinė plokštė, todėl turite pasirinkti šį elementą, o ne su Arduino suderinamos plokštės modelį, kuris veikia kaip IPT programuotojas.

Po to turite pradėti įkrovos įkrovos programinės įrangos procesą "ir su komanda Įrankiai -> Burn Bootloader -> su Arduino kaip IPT. Programinės įrangos procesas trunka 1–2 minutes.


Kas įvyko pabaigoje

Po bootloader blykstės ir įdėjus saugiklių bitus naujasis ATmega8A veiks iš įmontuoto RC osciliatoriaus 8Mhz dažniu.Valdiklio flash atmintyje programos dar nėra, todėl įkrovos įkroviklis įsijungs vėl ir vėl, ką liudija nuolatinis L LED mirksėjimas.


Bootloader laukia UART komandų maždaug pusę sekundės po mikrovaldiklio atstatymo. Norėdami įkelti programinę įrangą į valdiklį, galite naudoti:

  • USB-TTL keitiklis (galite jį sukurti arba nusipirkti);
  • Su Arduino suderinama plokštė su pašalintu valdikliu.
Kodėl man reikia įkrovos, jei yra ArduinoISP?
  • naudojant įkrovos įkroviklį „a užtikrina suderinamumą tiek su Arduino IDE, tiek su AVR Studio;
  • mažiau laidų prijungti (tik UART vietoj IPT linijų). Tuo pačiu metu UART dažnai naudojamas derinimui, todėl vis tiek turite jį prijungti.
parsisiųsti

Šį kartą papasakosiu, kaip savo rankomis ir net be lituoklio pasidaryti Arduino. Šio paprasto Arduino klono grandinė vadinama krevetėmis. Naminės krevetės yra visiškai suderinamos su Arduino IDE, todėl galite lengvai paleisti bet kokius eskizus. Reikėtų iš karto pažymėti, kad norint sukurti krevetes nuo nulio, jums reikės Arduino darbo lentos. Būtina įdiegti įkrovos įkroviklį ant tuščio mikrovaldiklio. Jei po ranka nėra „Arduino“, galite įsigyti jau suaktyvintą mikrovaldiklį ir iškart pereiti prie 2 skyriaus. Norėdami sukurti krevetes, mums reikia:

  • mikrovaldiklis ATMEGA328P-PU;
  • rezistorius 10 kΩ;
  • kondensatorius 10-100 uF, elektrolitinis;
  • kondensatorius 22 pF, keraminis - 2 vnt;
  • kondensatorius 100 nF, keraminis - 4 vnt;
  • laikrodžio mygtukas;
  • kvarcas 16 MHz;
  • Bandomoji Lenta;
  • džemperių rinkinys duonos lentai;
  • USB į UART keitiklis, pagrįstas FT232R, CP2102 arba CH340.

1. Įkrovos įkėlimo programos kopijavimas į tuščią mikrovaldiklį

Paprastai norint parašyti programą į mikrovaldiklį, reikia naudoti atskirą įrenginį – programuotoją. Arduino yra geras, nes jam nereikia programuotojo. Vietoj to naudojama speciali programinė įranga, vadinama įkrovos įkrovikliu. Ši įkrovos programa gali priimti programas iš išorės ir įrašyti jas į mikrovaldiklio „flash“ atmintį. Taigi, įkrovos įkroviklis yra įrašytas į mikrovaldiklį gamykloje. Ir kad mūsų krevetės veiktų, turime pakartoti šią procedūrą. Čia mums reikia kitos Arduino plokštės, kuri buvo paminėta pačioje pradžioje. Įkrovos įkrovos diegimo procedūra susideda iš trijų žingsnių. 1 veiksmas. Įdiegimas ant Arduino darbo plokštės speciali programa- OptiLoader Atidaryti programą OptiLoader leidžia įkelti optiboot įkrovos programą į mūsų Shrimp mikrovaldiklį. Rašymo metu OptiLoader palaiko mikrovaldiklius: ATmega8, ATmega168, ATmega168P, ATmega168PB, ATmega328, ATmega328P, ATmega328PB. Atsisiųskite archyvą iš vienos iš nuorodų:
  • iš oficialios saugyklos: https://github.com/WestfW/OptiLoader
  • iš mūsų svetainės:
Išpakuokite archyvą ir atidarykite eskizą „Arduino IDE“. Eskizo įkėlimas į Arduino plokštę. Atjunkite Arduino nuo USB maitinimo. Pastaba. Jei atsisiųsite programą iš github, turėsite pervadinti aplanką „optiLoader-master“ į tiesiog „optiLoader“. 2 veiksmas. Švaraus mikrovaldiklio prijungimas Arduino darbo plokštę sujungiame su švariu mikrovaldikliu pagal aukščiau pateiktą schemą. Čia viskas labai paprasta. Atidžiai žiūrime į paveikslėlį, įkišame laidus, patikriname septynis kartus. grandinės schema Išdėstymo išvaizda
3 veiksmas. Firmware bootloader (bootloader) Dabar prijunkite Arduino prie USB maitinimo. Iš karto po įjungimo programa pradės kopijuoti įkrovos įkroviklį į švarų mikrovaldiklį. Dėl to RX ir TX šviesos diodai ims aktyviai mirksėti. Kai šviesos diodai nustoja mirksėti, kopijavimas baigtas. Jei kažkas nutiko ir šviesos diodai nemirksi, galite atidaryti COM monitorių. „OptiLoader“ rodo visą įkroviklio kopijavimo procesą. Jei pavyks, procedūros ataskaita atrodys taip.

2. Programų įkėlimas į Shrimp

Taigi, dabar turime naminį „Arduino“ su „flashed bootloader“. Norėdami įkelti į jį tam tikrą eskizą, turėsime iš dalies išardyti ankstesnę grandinę ir papildyti ją naujais elementais.Ypač pridėtas atstatymo mygtukas ir apsauginės maitinimo grandinės.

Kūrimo lenta ATMEGA8 anti-arduino-odurino

Vienas destruktyviausių dalykų, turėjusių įtakos mėgėjiškos radijo elektronikos populiarėjimui, buvo masinis Arduino (odurino) platinimas. Tai baigta plokštė su lituotu mikrovaldikliu ir minimaliais laidais. Atrodytų patogus ir naudingas dalykas? Neskubėkite daryti tokios išvados.

Asmuo, kuris nėra susipažinęs su radijo elektronika, gavęs tokį dalyką, pradeda ja naudotis. Tai vienas pirmųjų ir svarbiausių trūkumų: žmogus nesuvokia pagrindų ir net neišmoksta lituoti.

Visos arduino jungtys atliekamos laidais su antgaliais. Tai patogu, tačiau yra ir reikšmingas trūkumas: grandinės, taip sakant, naudojant arduino, atrodo negražiai - spalvotų linijų krūvos pavidalu. Tai antras svarbus minusas: žmogus neišmoksta grandinės raštingumo.


„Arduino“ turi savo kūrimo aplinką su primityvia kalba, kuria mėgėjai parašė krūvą neprofesionalių, kaip jie vadino, eskizų – paruoštų sprendimų daugumai programų. Jas naudojant, atsiranda trečias trūkumas: žmogus nesimoko programavimo, kokybiškai netobulina žinių ir netobulina programavimo įgūdžių, būdamas įspraustas į siaurus primityvios kūrimo aplinkos rėmus.

Tiesą sakant, arduino trūkumų yra daug daugiau, ir nėra prasmės jų visų išvardyti. Kalbama apie tai, ką daryti, kad gautumėte naudos.

Viskas labai paprasta. Jei norite užsiimti radijo elektronika, išmokite lituoti: surinkite savo vystymo plokštę su minimaliu, bet pakankamu korpuso komplektu. Pasinaudokite arduino pranašumais ir nesiimkite trūkumų. Periferiniams įrenginiams prijungti naudokite laidus su antgaliais ir nenaudokite arduino ide.

Dėl to jūs gausite visus pagrindinius arduino pranašumus be beveik jokių minusų. Kaip premiją pridėsite daug savo pliusų. Jei ši lyriška įžanga jus įtikino, tęskime.

Taigi, mūsų kūrimo lentoje yra:

  • mikrovaldiklis ATMEGA8
  • jungtys grafiniams ir simbolių ekranams atitinkamai populiariuose valdikliuose SED1520 ir HD44780
  • kiekvienas mikrovaldiklio išėjimas yra dubliuojamas trimis kaiščiais
  • yra populiariojo ICSP (ISP) USBASP programavimo grandinėje esanti jungtis
  • +5 voltų linijos ir įžeminimas išvedami iki kelių kontaktų skirtingos vietos mokesčiai
  • trys įvairiaspalviai šviesos diodai ir vienas mygtukas, taip pat RESET mygtukas
  • 7,5-20 voltų maitinimo jungtis ir LDO stabilizatorius
  • grafiniam ekranui yra neigiamos įtampos tvarkyklė su reguliavimu ICL7660
  • ADC grandinės maitinamos per filtrą
  • yra kvarcinis rezonatorius, bet jo naudoti nereikia
Kaip matote, rinkinys yra daugiau nei minimalus. Lentos dydis 10*10 cm Patogiau dirbti dideliame plote. Beje, viską, ko norite, galite pertvarkyti, kad atitiktų jūsų poreikius. Kadangi projektas dar nebaigtas, jis bus toliau plėtojamas. Todėl galite išsakyti savo pastabas ir pasiūlymus dėl tobulinimo.

Programos gali būti parašytos bet kuria kalba.

Schema v1.0b:


Spustelėkite norėdami padidinti
Mygtukas S1 – RESET, skirtas mikrovaldikliui iš naujo nustatyti. S2, jei reikia, jungiasi prie bet kurio kaiščio. 1.0b versijos plokštėje ji yra sujungta iš apatinės plokštės pusės dviem laidais prie VCC ir GND linijų. Jei simbolių ekrane reikia reguliuoti kontrastą, JP6 CONTR trumpiklis turi būti uždarytas. kintamasis rezistorius R6. Jei kontrastas jau nustatytas pačiame ekrane su lituotais rezistoriais, atsidaro trumpiklis. Veikimo metu trumpiklis JP5 PROG turi būti uždarytas. Programuojant jis atsidaro, o maitinimas tiekiamas tik MK ir tik iš ICSP jungties. Grafinio ekrano kontrastą reguliuoja kintamasis rezistorius R7.

PCB v1.0b.