Ovaj vodič pokriva sljedeći pregled:
Zašto je korisno resetirati Arduino ploču
- Kako resetirati Arduino ploču pomoću gumba za resetiranje
- Kako resetirati Arduino ploču pomoću reset pina
- Kako resetirati Arduino ploču pomoću reset() funkcije
- Kako resetirati Arduino ploču pomoću metode Watchdog Timera
- Kako resetirati Arduino ploču resetiranjem skice u memoriji
- Kako resetirati Arduino ploču resetiranjem EEPROM memorije
Zašto je korisno resetirati Arduino ploču
Resetiranje Arduino ploče korisno je u raznim scenarijima, kao što su:
- Možete resetirati Arduino ploču ako imate problema s učitavanjem svoje skice.
- Ponekad učitana skica ne radi ispravno, u tom slučaju korisno je resetirati Arduino ploču.
- Ponovno postavljanje Arduino ploče također može otključati ploču ako je zaključana ili ne reagira.
Kako resetirati Arduino ploču
Arduino ploču možete resetirati:
- Korištenje gumba Reset
- Korištenje Reset Pin
- Korištenje funkcije reset().
- Korištenje metode Watchdog Timera
- Resetiranjem skice u memoriji
- Resetiranjem EEPROM memorije
Kako resetirati Arduino ploču pomoću gumba za resetiranje
Arduino ploča uključuje ugrađeni Gumb za resetiranje koje možete koristiti za resetiranje vaše ploče. Ovaj gumb nalazi se točno ispred USB priključka koji se koristi za napajanje. Pritiskom na ovu tipku svaka aktivnost na ovoj ploči će biti zaustavljena i vratit će izvršenje na prvi redak koda.
Kako resetirati Arduino ploču pomoću reset pina
Ako pažljivo pogledate Arduino ploču, primijetit ćete da također ima Reset pin, koji se može programirati na takav način da može resetirati ploču u roku od nekoliko sekundi. Ovo može biti korisno u slučaju da tipka Reset ne radi ispravno. Da biste koristili ovaj Pin za resetiranje za resetiranje Arduino ploče, morate upotrijebiti sljedeće korake:
Korak 1: Preuzmite i instalirajte Arduino IDE
Prvo preuzmite i instalirajte Arduino IDE na svoj sustav budući da ćemo ga koristiti za učitavanje koda. Možete preuzeti i instalirati Arduino IDE na svoj sustav s ovdje .
Korak 2: Povežite Arduino ploču sa sustavom
Sada upotrijebite USB kabel, umetnite jedan kraj USB-a tipa B unutar Arduino ploče, a drugu stranu USB-a tipa A u svoje računalo.
Korak 3: Odaberite Arduino ploču
Otvorite Arduino IDE, idite na Alati odjeljak i tamo odaberite Arduino ploču. Također biste trebali odabrati Port nakon odabira ploče:
Korak 4: Dodajte kod u Arduino IDE
Sada dodajte sljedeći kod u Arduino IDE :
int Resetiraj = 4 ;poništiti postaviti ( ) {
digitalWrite ( Reset, VISOKO ) ;
odgoditi ( 200 ) ;
pinMode ( Reset, IZLAZ ) ;
Serijski. početi ( 9600 ) ;
Serijski. println ( 'Resetiranje Arduina programski' ) ;
Serijski. println ( 'www.linuxhint.com' ) ;
odgoditi ( 200 ) ;
}
poništiti petlja ( )
{
Serijski. println ( 'A' ) ;
odgoditi ( 1000 ) ;
Serijski. println ( 'B' ) ;
odgoditi ( 1000 ) ;
Serijski. println ( 'Resetirajmo Arduino programski' ) ;
Serijski. println ( ) ;
odgoditi ( 1000 ) ;
digitalWrite ( Reset, LOW ) ;
Serijski. println ( 'Arduino neće stići tamo.' ) ;
}
Korak 5: Spojite žicu
Uzmite spojnu žicu s oba otvorena kraja i spojite jedan kraj žice na Pin 4 , dok je drugi kraj do Resetiraj pin na Arduino UNO, kao što je prikazano u nastavku:
Korak 6: Učitajte kod
Učitajte kod pomoću Učitaj dugme:
Korak 7: Otvorite serijski monitor
Idite do Serijski monitor opcija:
Tamo ćete moći vidjeti sljedeći izlaz:
Gornji izlaz pokazuje da Arduino ne prikazuje ' Arduino tamo neće stići” i dobio reset, a zatim prikazati rezultat od početka. Ovo osigurava da je metoda uspješno resetirala Arduino ploču.
Kako resetirati Arduino ploču pomoću reset() funkcije
Također možete koristiti reset() funkciju u vašem Arduino kodu za resetiranje Arduino ploče u roku od nekoliko sekundi. Ova metoda je prilično jednostavna jer reset() funkcija je uključena u Arduino IDE biblioteke. Arduino ploču možete resetirati pomoću reset() funkcionirati iz sljedećih koraka:
Korak 1: Otvorite Arduino IDE i napišite svoj kod. Kao primjer, dodajem sljedeći kod:
poništiti ( * resetFunc ) ( poništiti ) = 0 ;poništiti postaviti ( ) {
Serijski. početi ( 9600 ) ;
}
poništiti petlja ( )
{
Serijski. println ( '1..' ) ;
odgoditi ( 1000 ) ;
Serijski. println ( '2..' ) ;
odgoditi ( 1000 ) ;
Serijski. println ( '3..' ) ;
odgoditi ( 1000 ) ;
Serijski. println ( 'Arduino ploča se sada resetira' ) ;
Serijski. println ( ) ;
odgoditi ( 1000 ) ;
resetFunc ( ) ;
Serijski. println ( 'Ako je funkcija reset() radila, Arduino neće prikazati ovaj izlaz!' ) ;
}
Korak 2: slijediti Korak 4 do Korak 7 (isključite korak 5) navedenim u gore navedenim metodama, koje uključuju učitavanje koda, zatim korištenje Serijski monitor za provjeru izlaza.
Gornji izlaz potvrđuje da je Arduino ploča uspješno resetirana pomoću reset() funkciju otkako je resetirana, zatim prikazuje rezultat od početka.
Kako resetirati Arduino ploču pomoću metode Watchdog Timera
The Watchdog Timer je još jedan učinkovit način za resetiranje Arduino ploče u vašem kodu. Omogućuje resetiranje mikroprocesora nakon određenog vremenskog intervala. Korisno je u slučaju da se vaš program zaustavi tijekom izvođenja i nemate drugog načina osim resetiranja ploče. Za resetiranje Arduino ploče pomoću Watchdog Timer metoda , slijedite dolje navedene korake:
Korak 1: Otvorite Arduino IDE i zalijepite sljedeći kod:
#uključi < avr / wdt. h >poništiti postaviti ( ) {
Serijski. početi ( 9600 ) ;
wdt_onemogući ( ) ; //Onemogući WDT
odgoditi ( 2000. godine ) ;
wdt_omogućiti ( WDTO_2S ) ; //Omogućivanje isteka WDT-a od 2 sekunde
Serijski. println ( 'WDT je omogućen' ) ;
}
poništiti petlja ( ) {
za ( int ja = 0 ; ja < 5 ; ja ++ )
{
Serijski. println ( 'Nastavak' ) ;
odgoditi ( 500 ) ;
wdt_reset ( ) ; //Resetiranje psa čuvara
}
dok ( 1 ) ; //Ovdje će se pokrenuti Watchdog mjerač vremena
}
U gornjem kodu prvo inicijaliziramo biblioteku za Watchdog Timer metoda. Zatim unutar koda inicijaliziramo Serial i onemogućujemo Pas čuvar na početku. Nakon određenog kašnjenja, omogućujemo Watchdog Timer od 2 sekunde, što znači da bi se Watchdog trebao pokrenuti i ponovno pokrenuti mikrokontroler s timeoutom od 2 sekunde. Kod zatim ulazi u petlju i izvršava naredbu dok ponovno postavlja Watchdog Timer svake sekunde. Zatim ulazi u beskonačnu while petlju koja pokreće Watchdog i resetira Arduino ploču.
Korak 2: Sad ponovi Korak 4 do Korak 6 (isključite Korak 5) navedeno u prvoj metodi za učitavanje koda, a zatim upotrijebite Serijski monitor opcija za provjeru izlaza:
Gornji izlaz pokazuje da jednom Watchdog Timer omogućeno, nastavit će petlju, zatim resetirati Arduino ploču i ponovno ponoviti iste korake.
Kako resetirati Arduino ploču resetiranjem skice u memoriji
Arduino ploča ima dvije vrste memorije: flash memoriju i RAM. Flash memorija zadržava sadržaj kada se uređaj isključi, dok se sadržaj u RAM-u gubi kada se uređaj isključi. Skica koja se izvodi na vašoj Arduino ploči pohranjuje se u flash memoriju i nakon što postavite novu skicu, ona prepisuje postojeću skicu u flash memoriji. Dakle, Arduino ploču možete jednostavno resetirati resetiranjem skice u memoriji, što znači da ćete je prepisati novom skicom. To se može učiniti pomoću sljedećih koraka:
Korak 1: Prvo povežite svoju Arduino ploču sa svojim sustavom kao što je ranije spomenuto.
Korak 2: Ići Primjeri od Datoteka odjeljak, a zatim odaberite Najniži minimum od Osnove kategorija:
Korak 3: Provjerite je li vaša Arduino ploča odabrana za ovaj primjer, što možete potvrditi na Alati>Ploča odjeljak:
Bilješka: Trebali biste provjeriti priključak za vaš Arduino UNO iz Luka opciju pomoću istog izbornika.
Korak 4: Sada možete koristiti Učitaj opcija za učitavanje koda i resetiranje Arduino ploče:
Kako resetirati Arduino ploču resetiranjem EEPROM memorije
Ploče temeljene na AVR-u imaju EEPROM, trajnu flash memoriju koja čuva vrijednosti čak i ako je ploča isključena. Možete resetirati EEPROM pomoću EEPROM.write() funkcija koja postavlja bajtove na nulu, resetirajući Arduino ploču. Sljedeći kod treba učitati na vaš Arduino IDE tako da prvo povežete Arduino UNO sa svojim sustavom. Zatim, pomoću Učitaj mogućnost resetiranja Arduino ploče na Arduino IDE.
#uključi < EEPROM. h >poništiti postaviti ( ) {
// inicijaliziranje Arduino LED pina kao izlaza
pinMode ( 13 , IZLAZ ) ;
za ( int ja = 0 ; ja < EEPROM. duljina ( ) ; ja ++ ) {
EEPROM. pisati ( ja, 0 ) ;
}
// uključivanje Arduino LED-a kada je gotovo
digitalWrite ( 13 , VISOKO ) ;
}
poništiti petlja ( ) {
}
Zaključak
Resetiranje Arduino ploče osnovni je i široko korišten zadatak za korisnike koji rade na svojim projektima. Korisno je u slučaju da je njihov kod zapeo i jedini preostali način je resetirati ploču. Arduino ploču možete resetirati putem ugrađene gumb za resetiranje ili pomoću reset pin . Također možete resetirati Arduino ploču pomoću funkcija resetiranja , metoda čuvara vremena , ponovno postavljanje skice u memoriju ili EEPROM memorija u vašem kodu. Vodič za sve metode nalazi se u gornjem odjeljku ovog vodiča, odaberite metodu koja vam najbolje odgovara i počnite neprimjetno kodirati s Arduino pločom.