Sisukord:
- Samm: eraldiseisva Arduino ehitamine
- Samm: Interneti -teenuse pakkuja juhtmestik
- Samm: redigeerige alglaaduri faili, põletage alglaadur ja laadige üles oma visand
- 4. samm: jadaühendus
Video: Eraldiseisev Arduino 3.3V W / väline 8 MHz kell programmeeritakse Arduino Uno kaudu ICSP / ISP kaudu (jadaseirega!): 4 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:47
Eesmärgid:
- Eraldiseisva Arduino ehitamiseks, mis töötab 3,3 V toitel 8 MHz välisel kellal.
-
Selle programmeerimiseks Interneti-teenuse pakkuja (tuntud ka kui ICSP, ahelasisene jadaprogrammeerimine) kaudu Arduino Unost (töötab 5 V juures)
Alglaadimisfaili muutmine ja alglaaduri põletamine (Interneti -teenuse pakkuja kaudu)
-
Et oleks võimalik lugeda eraldiseisvast Arduino -st jadateavet FTDI -kaabli kaudu
Et oleks võimalik lugeda eraldiseisvast Arduino jadateavet ilma FTDI -kaablita
Preambul:
Proovisin ehitada oma eraldiseisvat projekti, kuid ei näinud ühtegi põhjalikku juhendit iseseisva Arduino käitamise, programmeerimise ja jälgimise kohta - eriti seda, mis töötab 8Mhz välise kellaga ja 3,3V ning mille programmeeris Arduino UNO. Olen kokku pannud mitu eraldi juhendit ja püüdnud viidata sellele, kust ma selle teabe sain, et anda krediiti, kui seda tuleb tasuda. See juhend on paljude päevade tulemus, mille jooksul otsisin lahendusi ja leidsin selle osi samal ajal, kui ma oma projekti koostasin. Lisaks olen linkinud mitmeid kasulikke tooteid, mis tulevad käepärast mitte sellepärast, et olen seotud ühegi ettevõtetele, vaid seetõttu, et on asjakohane lisada konkreetsed üksused, millele ma viitan.
Tavalised küsimused enne alustamist:
Miks peate selle programmeerima Interneti -teenuse pakkujaga ja jälgima FTDI kaudu? Miks ei saa seda lihtsalt FTDI kaudu programmeerida?
Peame kaitsesätteid muutma, käivitades uue alglaaduri ja te ei saa seda teha jadaühenduse kaudu. Peate alglaaduri põletama Interneti -teenuse pakkuja kaudu. See on kasulik ka neile, kellel pole eellaaditud ATMEGA328 kiipi.
Miks ma ei kasuta lihtsalt ISP -kaablit jadaseirega, nagu see?
Võib -olla, nagu minul, sul lihtsalt ei ole seda ja selle asemel, et oodata, kuni saadetakse, meeldib sulle kasutada seda, mis sul on! Mul on juhtumisi FTDI -kaabel (kuigi leiate, et lõpuks pole seda isegi vaja: see teeb teie elu lihtsamaks).
Kas ma ei vaja loogika taseme nihutamist Unost iseseisva Arduino juurde?
Jah, sa teed, aga ma näitan sulle, kuidas seda ise teha. Nagu ISP -kaablil, pole mul seda juhtumisi.
Ma tahan selle välise toite eest ära ajada. Kuidas seda teha?
Seal on palju juhendeid, mis näitavad, kuidas iseseisvat Arduino akutoitest välja lülitada. Kirjutan, kuidas ma seda tegin, ja linkin siia [lisan hiljem].
GIID
Samm: eraldiseisva Arduino ehitamine
1) Ehitage sellest lingist eraldiseisev Arduino. Ainus juhend, mida vajate, on "ATMEGA8/168/328 põhitõed".
- saate eraldiseisva Arduino toita Arduino Uno 3.3V -st. (Võite vahele jätta õpetuse esimese jaotise pealkirjaga "Toiteallika vooluahela lisamine".
- Asenda 16 MHz kell 8 Mhz kellaga.
-
Lisage 0,1 uF korki: VCC ja Gnd (mõlemad pooled) VRef ja Gnd.
- Mul pole neid pildil, kuid mul on neid oma projektides!
- Ma tean, et see on fotol 16 MHz ostsillaator. Tegin foto enne, kui sain aru, mida kõike juhendis tegin!
ATMEGA328p pinout -pildi allikas siin.
Tavalised tõrkeotsingu näpunäited
- Veenduge, et olete lähtestanud kõrge väärtuse 10 k takisti kaudu VCC -st ATMEGA tihvti 1 külge. Kui tihvt on maandatud või ujuv, ei tööta see.
- Kontrollige, kas olete juhtmed ja ostsillaatori õigesti sisestanud.
- Veenduge, et kasutate 8 MHz ostsillaatori jaoks 22pF kondensaatoreid. See ei tööta teisiti.
- Veenduge, et seade oleks toitega.
Samm: Interneti -teenuse pakkuja juhtmestik
2) Looge Interneti -teenuse pakkuja osa
Järgite seda juhendit siin väikese, kuid väga olulise sammuga.
Põhjus, miks te ei saa lihtsalt juhendit järgida, on see, et teil on puudu oluline osa: te ei saa programmeerida 3,3 V seadet otse 5 V ühendustest. (Vähemalt ma ei suutnud: see ei tööta enne, kui ma seda tegin). Peate sisestama loogilise taseme nihke, mis nihutab 5 V signaale UNO -lt 3,3 V eraldiseisvale Arduinole.
Kui teil pole loogilise taseme käiguvahetusplaati, saate selle teha takistite abil. Kõik loogilise taseme nihutajad tegelikult on (nii kaua, kui liigute allapoole) pingejagur. Teil on vaja 6 ühesugust takistit, mitte midagi liiga kõrget ega liiga madalat. Kasutasin 220 oomi takistit, kuid olen kindel, et isegi 10k takistid toimiksid.
SCK (digitaalne tihvt 13) ja MOSI (digitaalne tihvt 11) puhul kasutage pingejaoturit, et vähendada pinget ühe kolmandiku võrra. Sisuliselt on teil üks Uno SCK ja MOSI, seejärel takisti (220 oomi), seejärel SCK ja MOSI, mis on ühendatud eraldiseisva Arduinoga, ja 2 takistit (kokku 440 oomi) maandusega.
Niisiis, lugege selle jaotise alguses lingitud juhendit, kuid lisage SCK ja MOSI vahele pingejagurid. Pidage meeles, et SCK, MISO, MOSI ja RESET on Uno tihvtid 13, 12, 11 ja 10, kuid need on tihvtid 19, 18, 17 ja 1 eraldiseisval Arduino -l!
Tavalised tõrkeotsingu näpunäited
-
Kontrollige juhtmeid
- Kui saate programmi kirjutamisel seadme allkirja kõigi 0 -de kohta, on teie juhtmestik peaaegu kindlasti välja lülitatud või eraldiseisev Arduino ei saa voolu.
- Veenduge ka, et teil on lähtestustraat Uno 10 -st kuni eraldiseisva Arduino 1 -ni
-
Kontrollige pingejagureid
Veenduge, et teil on nii SCK kui ka MOSI takistite jaoks pingejagurid suhtega 1: 2 (kõrge külg: madal pool). Nt. 220 takisti +5 V küljel ja seejärel 2 220 oomi takistit (kokku 440 oomi) maapinna poole, kusjuures signaal on keskel eraldiseisva Arduino poole
Samm: redigeerige alglaaduri faili, põletage alglaadur ja laadige üles oma visand
3] Muutke alglaaduri (boards.txt) faili ja põletage alglaadur eraldiseisvaks Arduinoks. Laadige oma visand üles
Alglaaduri faili muutmine
Eraldiseisva Arduino käivitamiseks peate muutma alglaaduri pruunikaitsmete seadeid. Vastasel juhul saate sellele alglaaduri põletada, kuid ei saa visandeid käivitada.
Pruunistamise tuvastamise saate täielikult eemaldada, kuid ma ei soovita seda. Selle asemel langetame selle 2,7 V -lt (mis minu kiibil vaikimisi tuli) ja asendame selle 1,8 V -ga. Lõppkokkuvõttes saate aga siin valida kaitsmekalkulaatori abil soovitud pruunistusseaded.
Minu plaatide fail oli järgmises asukohas:
C: / Program Files (x86) Arduino / hardware / arduino / avr
Siiski võib teie riistvara kaustas olla mitu faili.txt, välja arvatud /arudino /. Redigeerite faili boards.txt failis / arduino / asukohas, kuna kavatsete muuta jaotist ATMEGA328p (3.3V, 8 MHz).
Arduino IDE uuesti installimisel või värskendamisel (vastavalt sellele postitusele) võite redigeeritud faili boards.txt kaotada. See tähendab, et kui värskendate Arduino IDE -d, peate neid seadeid uuesti muutma, kui soovite luua teise sama eraldiseisva Arduino.
Kerige failis boards.txt alla või otsige sõna „Pro Mini”. Jaotise pealkiri on "pro.name = Arduino Pro või Pro Mini". Kerige alla alajaotiseni "pro.menu.cpu.8MHzatmega328 = ATmega328P (3,3 V, 8 MHz)".
Otsige rida "pro.menu.cpu.8MHzatmega328.bootloader.extended_fuses = _"
Muutke seaded xFE -ks. (pro.menu.cpu.8MHzatmega328.bootloader.extended_fuses = 0xFE).
Salvesta ja välju.
Bootloaderi põletamine
Kui olete seda teinud, saate järgida Interneti -teenuse pakkuja juhendi jaotist „Juhised” 1. – 5.
Mõned asjad selgitamiseks:
-
Kui laadite üles visandi "Arduino kui Interneti -teenuse pakkuja", peate veenduma, et valitud on õige COM -port ja protsessor.
Sel juhul tähendab see, et olete valinud oma Arduino COM-pordi menüüs Tööriistad-> Port: COM X (Arduino Uno) ja plaat on Arduio Uno
-
Valige õige programmeerija: Interneti-teenuse pakkujana valige Tööriistad-> Programmeerija-> Arduino.
EI ArduinoISP ega ArduinoISP.org
-
Enne alglaaduri põletamist vahetage plaat "Pro või Pro Mini" ja protsessor asendiks "ATMEGA328p (3,3 V, 8 MHz)".
Te ei näe protsessori sektsiooni enne, kui valite õige plaaditüübi
Põletage alglaadur eraldiseisvale Arduinole ENNE kui proovite sellele visandeid kirjutada.
Visandi üleslaadimine
See on väga oluline. Nüüd saate programmeerida kas Arduino: Uno ja Standalone. Kui te ei lae üles õigesse seadmesse, peate ülaltoodud jaotist korrata ja Arduino ISO -programmina Uno -le ümber kirjutama.
Visandi üleslaadimisel klõpsake kindlasti nuppu Tööriistad -> Laadi üles programmeerija abil VÕI klõpsake Ctrl+Tõstuklahv+U. Võite hoida all ka tõstuklahvi ja klõpsata nooleikoonil, kuid ärge klõpsake nooleikooni ilma tõstuklahvi all hoidmata.
Tavalised tõrkeotsingu näpunäited
- Lülitage tõrkeotsinguks sisse paljusõnaline väljund.
-
"Seadme allkiri on kõik 0!" [See juhtub väga tõenäoliselt.]
- vaadake jaotist ISP juhtmestik. Kas olete eraldiseisva Arduino juhtme valesti ühendanud või pole see sisse lülitatud.
- Veenduge, et olete valinud õige COM -pordi ja plaadi / protsessori. Kui laadite alglaadurit, peate veenduma, et põletate sellel Pro Mini 3.3V 8 MHz alglaadurit, vastasel juhul ei tööta kaitsmed õigesti.
-
"Olen toimetanud faili boards.txt, kuid ei näe muudatusi"
Veenduge, et olete muutnud õiget boards.txt -faili. Proovige Arduino IDE -d värskendada, kui muudatused ei tööta, või eemaldage ajutiselt oma / riistvara / kausta muud kaustad
-
"Ma ei leia board.txt -i mini -sektsiooni!"
Te ei otsi õiget faili boards.txt. Kontrollige kausta Arduino // hardware/arduino/
4. samm: jadaühendus
4) Jälgige eraldiseisvat seadet jadaühenduse kaudu
Seda saate tõesti teha kahe meetodi abil, nii et kui teil pole isegi FTDI kaablit / katkestusplaati, pole see maailma lõpp. Ja pidage meeles, et eraldiseisvasse Arduinosse üles laaditud visandil peavad olema lugemiseks Serial.print avaldused: kui te seda programmi ei kirjutanud, ei näe te midagi!
Kui teil pole FTDI -kaablit
Pärast alglaaduri põletamist ja soovitud programmi kirjutamist saate (väga hoolikalt ja meeles pidades, millises suunas see tagasi läheb) ATMEGA328 DIP kiibi Arduino Uno -st eemaldada. Soovitan selleks kasutada lameda peaga.
Saate ühendada eraldiseisva Arduino RX Uno RX -iga ja TX -i TX -iga. Jah, tavaliselt on see vastupidi, kuid võite mõelda Unole kui teabe edastamisele IDE jadamonitorile. Sellepärast ei ühenda te sel juhul RX -i TX -ga ja TX ro RX -iga. Kui käivitate oma programmi, veenduge, et olete valinud Arduino Uno COM -pordi ja avage jadamont. Näete eraldiseisvat Arduino jadaväljundit.
(See lahendus krediteeritakse siin Robin2 -le.)
Kui teil on FTDI -kaabel / -plaat
(Ma kasutan Sparkfuni FTDI -plaati, mille olen tagaküljel oleva jootmispadja abil muundanud 3,3 V -ks)
Lihtsalt ühendage eraldusplaadi GND eraldiseisva Arduino maaga ja ühendage purunemisplaadi RX Arduino TX -ga ja TX RX -iga. (Kui jälgite JUST seeriat ja ei kirjuta midagi tagasi, võite lihtsalt ühendada leivalaua RX Arduino TX -iga).
Pidage meeles, et sel hetkel on teil võimalus eraldiseisev Arduino toita Uno või FTDI -kaabli kaudu. Ärge ühendage mõlemat toiteallikat korraga! Pange tähele, et peate muutma COM -porti, kuna see erineb Arduino Uno COM -portist.
Tavalised tõrkeotsingu näpunäited
-
"Ma ei näe midagi!"
- Kontrollige, kas õige COM -port on lubatud.
- Kontrollige, kas teil on uusimad FTDI draiverid.
- KINDLUSTAGE, ET PÕHJUS ON ÜHENDATUD.
-
"Kõik, mida ma näen, on prügiväljund seeriamonitoris!"
- Saate midagi, mis on hea märk.
- Kontrollige siiski FTDI -plaadi pinget.
- Iseseisev Arduino väljastab oma TX -le 3,3 V ja FTDI -plaat ei pruugi seda vastu võtta, kui see ootab 5 v.
- Kontrollige edastuskiirust.
- Veenduge, et maandus on ühendatud ja ühendatud on ainult üks toiteallikas! (St ärge lülitage Uno AND FTDI plaadilt sisse eraldi Arduino toiteallikat.
Soovitan:
Retro CP/M eraldiseisev emulaator: 8 sammu
Retro CP/M eraldiseisev emulaator: see projekt kasutab kombinatsiooni käitamiseks VGA32 ESP v1.4 moodulit või RunCPM ja FabGL, et pakkuda eraldiseisvat arvutit, mis töötab samaväärse süsteemiga kui CP/M 2.2. 1980ndatel populaarne väikeste arvutite operatsioonisüsteemina. Võite tagasi minna
C51 4 -bitine elektrooniline kell - puidust kell: 15 sammu (piltidega)
C51 4 -bitine elektrooniline kell - puidust kell: sellel nädalavahetusel oli vaba aega, nii et läksite kokku ja panite kokku selle 2,40 AU $ 4 -bitise isetegija elektroonilise digitaalse kella, mille ostsin mõni aeg tagasi AliExpressist
Gixie kell: ilusaim helendavate torude kell: 4 sammu
Gixie kell: kõige ilusam helendavate torude kell: Mulle meeldib Nixie Tube väga, kuid see on liiga kallis, ma ei saa seda endale lubada. Nii et ma veetsin selle Gixie kella loomisel pool aastat. Gixie kell saavutatakse akrüülvalguse saamiseks valguse ws2812 abil. Annan endast parima, et muuta RGB -toru õhemaks
Võimas eraldiseisev koduautomaatikasüsteem - Pi, Sonoff, ESP8266 ja Node -Red: 9 sammu (koos piltidega)
Võimas eraldiseisev koduautomaatikasüsteem - Pi, Sonoff, ESP8266 ja Node -Red: see juhend peaks viima teid esimesesse baasi, kus saate valguse või seadme sisse/välja lülitada mis tahes seadme kaudu, mis saab teie kohaliku võrguga ühenduse luua, ja suurepärane kohandatav veebiliides. Funktsioonide laiendamise/ lisamise ulatus on suur, sealhulgas
Eraldiseisev akvaariumi ujukandur: 4 sammu (piltidega)
Eraldiseisev akvaariumi ujukiandur: TL; DRSee juhend on pühendatud teadmisele, kui vesi on liiga madal, ja teavitab mind sellest. Selle keskmes on ainult riistvara, praegu pole tarkvara juurutamist. LAHTIÜTLUS: mõõtmised puuduvad ja pole täpsed. See oli idee ja ma lihtsalt viskasin selle