Hogyan állítsuk vissza az Arduino táblát

Hogyan Allitsuk Vissza Az Arduino Tablat



Az Arduino Board egy hasznos mikrokontroller-fejlesztő tábla, amelyet a hobbik és a szakemberek projektjeik elkészítéséhez használnak. Az Arduino Board segítségével számos projektet hozhat létre az egyszerű LED-villogástól a robotok vagy nehézgépek vezérléséig. Az Arduino Boards használatához fel kell töltenie egy vázlatot, amely egy olyan program, amely tájékoztatja a táblát, hogy mit kell tennie. Előfordulhat azonban, hogy néha bármilyen okból vissza kell állítania az Arduino táblát.

Ez az útmutató a következő vázlatot tartalmazza:

Miért hasznos az Arduino tábla visszaállítása?







Hogyan állítsuk vissza az Arduino táblát



Következtetés



Miért hasznos az Arduino tábla visszaállítása?

Az Arduino tábla alaphelyzetbe állítása különféle forgatókönyvekben hasznos, például:





  • Visszaállíthatja az Arduino táblát, ha gondjai vannak a vázlat feltöltésével.
  • Néha a feltöltött vázlat nem működik megfelelően, ilyenkor hasznos az Arduino tábla alaphelyzetbe állítása.
  • Az Arduino tábla alaphelyzetbe állításával is feloldható a kártya zárolása, ha az le van zárva, vagy nem válaszol.

Hogyan állítsuk vissza az Arduino táblát

Az Arduino Board alaphelyzetbe állítása:

  • A Reset gomb használata
  • A Reset Pin használata
  • A reset() függvény használata
  • Watchdog időzítő módszer használata
  • A vázlat visszaállításával a memóriában
  • Az EEPROM memória alaphelyzetbe állításával

Az Arduino alaplap visszaállítása a Reset gombbal

Az Arduino Board beépített Reset gomb amellyel visszaállíthatja a táblát. Ez a gomb közvetlenül a tápegységhez használt USB-port előtt található. A gomb megnyomásával a táblán minden tevékenység leáll, és a végrehajtás visszakerül a kód első sorába.



Az Arduino alaplap visszaállítása a Reset Pin segítségével

Ha alaposan megnézzük az Arduino táblát, akkor észrevehetjük, hogy van rajta egy Reset pin is, amely úgy programozható, hogy másodpercek alatt vissza tudja állítani az alaplapot. Ez akkor lehet hasznos, ha a Reset gomb nem működik megfelelően. Az Arduino Board alaphelyzetbe állításához ezt a visszaállító PIN-kódot a következő lépéseket kell végrehajtania:

1. lépés: Töltse le és telepítse az Arduino IDE-t

Először töltse le és telepítse az Arduino IDE-t a rendszerére, mivel azt a kód feltöltésére fogjuk használni. Letöltheti és telepítheti az Arduino IDE-t a rendszerére innen itt .

2. lépés: Csatlakoztassa az Arduino táblát a rendszerhez

Most használja az USB-kábelt, helyezze be a B típusú USB egyik végét az Arduino kártyába, az A típusú USB másik oldalát pedig a számítógépbe.

3. lépés: Válassza az Arduino táblát

Nyissa meg az Arduino IDE-t, lépjen a Eszközök szakaszt, és onnan válassza ki az Arduino táblát. A tábla kiválasztása után a Portot is ki kell választania:

4. lépés: Adjon hozzá kódot az Arduino IDE-hez

Most adja hozzá a következő kódot a Arduino IDE :

int Visszaállítás = 4 ;

üres beállít ( ) {
digitalWrite ( Reset, HIGH ) ;
késleltetés ( 200 ) ;
pinMode ( Reset, OUTPUT ) ;
Sorozatszám. kezdődik ( 9600 ) ;
Sorozatszám. println ( 'Az Arduino programozott visszaállítása' ) ;
Sorozatszám. println ( 'www.linuxhint.com' ) ;
késleltetés ( 200 ) ;
}
üres hurok ( )
{
Sorozatszám. println ( 'A' ) ;
késleltetés ( 1000 ) ;
Sorozatszám. println ( 'B' ) ;
késleltetés ( 1000 ) ;
Sorozatszám. println ( 'Állítsuk vissza az Arduino-t programozottan' ) ;
Sorozatszám. println ( ) ;
késleltetés ( 1000 ) ;
digitalWrite ( Reset, LOW ) ;
Sorozatszám. println ( – Az Arduino nem ér oda. ) ;

}

5. lépés: Csatlakoztasson egy vezetéket

Vegyünk egy összekötő vezetéket mindkét végével, és csatlakoztassuk a vezeték egyik végét 4. tű , míg másik vége Visszaállítás pin az Arduino UNO-n, az alábbiak szerint:

6. lépés: Töltse fel a kódot

Töltse fel a kódot a Feltöltés gomb:

7. lépés: Nyissa meg a Serial Monitort

Navigáljon a Soros monitor választási lehetőség:

Ott a következő kimenetet láthatja:

A fenti kimenet azt mutatja, hogy az Arduino nem jeleníti meg a ' Az Arduino nem ér oda' és visszaállításra került, majd az eredményt az elejétől kezdve jelenítse meg. Ez biztosítja, hogy a módszer sikeresen visszaállította az Arduino táblát.

Az Arduino alaplap visszaállítása a reset() funkcióval

Használhatja továbbá a Visszaállítás() funkciót az Arduino kódban, hogy másodperceken belül visszaállítsa az Arduino táblát. Ez a módszer nagyon egyszerű azóta Visszaállítás() funkció szerepel az Arduino IDE könyvtárakban. Ezzel visszaállíthatja az Arduino Boardot Visszaállítás() funkciót a következő lépésekből:

1. lépés: Nyissa meg az Arduino IDE-t, és írja be a kódot. Példaként a következő kódot adom hozzá:

üres ( * resetFunc ) ( üres ) = 0 ;

üres beállít ( ) {
Sorozatszám. kezdődik ( 9600 ) ;
}
üres hurok ( )
{
Sorozatszám. println ( '1..' ) ;
késleltetés ( 1000 ) ;
Sorozatszám. println ( '2..' ) ;
késleltetés ( 1000 ) ;
Sorozatszám. println ( '3..' ) ;
késleltetés ( 1000 ) ;
Sorozatszám. println ( 'Az Arduino Board alaphelyzetbe áll' ) ;
Sorozatszám. println ( ) ;
késleltetés ( 1000 ) ;
resetFunc ( ) ;
Sorozatszám. println ( 'Ha a reset() függvény működött, az Arduino nem jeleníti meg ezt a kimenetet!' ) ;
}

2. lépés: Kövesse 4. lépés nak nek 7. lépés (az 5. lépés kizárása) a fent megadott módszerekkel, amelyek magukban foglalják a kód feltöltését, majd a Soros monitor hogy ellenőrizze a kimenetet.

A fenti kimenet megerősíti, hogy az Arduino tábla sikeresen visszaállításra került a Visszaállítás() funkciót, mivel visszaállításra került, akkor az eredményt az elejétől kezdve megjeleníti.

Az Arduino tábla alaphelyzetbe állítása a Watchdog időzítő módszerrel

A Watchdog Timer egy másik hatékony módja az Arduino tábla visszaállításának a kódban. Lehetővé teszi a mikroprocesszor alaphelyzetbe állítását egy bizonyos idő elteltével. Hasznos abban az esetben, ha a program leáll a futás közben, és nincs más útja a tábla visszaállításán kívül. Az Arduino Board visszaállításához a Watchdog Timer módszer , kövesse az alábbi lépéseket:

1. lépés: Nyissa meg az Arduino IDE-t, és illessze be a következő kódot:

#beleértve < avr / wdt. h >
üres beállít ( ) {
Sorozatszám. kezdődik ( 9600 ) ;
wdt_disable ( ) ; //A WDT letiltása
késleltetés ( 2000 ) ;
wdt_enable ( WDTO_2S ) ; //WDT 2 másodperces időtúllépés engedélyezése
Sorozatszám. println ( 'WDT engedélyezve van' ) ;
}
üres hurok ( ) {
számára ( int én = 0 ; én < 5 ; én ++ )
{
Sorozatszám. println ( 'Folytatás' ) ;
késleltetés ( 500 ) ;
wdt_reset ( ) ; //A watchdog visszaállítása
}
míg ( 1 ) ; //A Watchdog időzítő itt aktiválódik
}

A fenti kódban először inicializáljuk a könyvtárat a Watchdog Timer módszer. Ezután a kódon belül inicializáljuk a sorozatot, és letiltjuk a Őrkutya az elején. Némi késleltetés után engedélyezzük a Watchdog Timer 2 másodpercig, ami azt jelenti, hogy a Watchdog-ot be kell kapcsolni, és 2 másodperces időkorláttal újra kell indítani a mikrokontrollert. A kód ezután belép a ciklusba, és végrehajtja az utasítást, miközben visszaállítja a Watchdog Timer minden másodperc. Ezután belép egy végtelen while ciklusba, amely elindítja a Watchdog-ot és alaphelyzetbe állítja az Arduino táblát.

2. lépés: Most ismételje meg 4. lépés – 6. lépés (az 5. lépés kizárása) az első módszerben megadott kód feltöltéséhez, majd használja a Soros monitor opció a kimenet ellenőrzésére:

A fenti kimenet azt mutatja, hogy egyszer Watchdog Timer be van kapcsolva, folytatja a ciklust, majd alaphelyzetbe állítja az Arduino táblát, és ismételje meg ugyanazokat a lépéseket.

Az Arduino tábla visszaállítása a vázlat visszaállításával a memóriában

Az Arduino Board kétféle memóriával rendelkezik: flash memória és RAM. A flash memória megőrzi a tartalmat az eszköz kikapcsolásakor, míg a RAM tartalma elveszik, ha az eszközt kikapcsolják. Az Arduino kártyán futó vázlat a flash-memóriában tárolódik, és miután feltölt egy új vázlatot, felülírja a meglévő vázlatot a flash memóriában. Így könnyen visszaállíthatja az Arduino táblát, ha visszaállítja a vázlatot a memóriában, ami azt jelenti, hogy felülírja egy új vázlattal. Ezt a következő lépésekkel teheti meg:

1. lépés: Először csatlakoztassa az Arduino táblát a rendszeréhez, ahogy korábban említettük.

2. lépés: Menj Példák tól Fájl szakaszt, majd válassza ki A minimum tól Alapok kategória:

3. lépés: Győződjön meg róla, hogy az Arduino tábla van kiválasztva ehhez a példához, amelyet megerősíthet a következőből Eszközök > Tábla szakasz:

Jegyzet: Ellenőrizze az Arduino UNO portját a következőből Kikötő opciót ugyanazon menü használatával.

4. lépés: Most már használhatja a Feltöltés lehetőség a kód feltöltésére és az Arduino tábla visszaállítására:

Az Arduino kártya visszaállítása az EEPROM memória alaphelyzetbe állításával

Az AVR-alapú kártyák EEPROM-mal, nem felejtő flash memóriával rendelkeznek, amely akkor is megtartja az értékeket, ha a kártya ki van kapcsolva. Az EEPROM alaphelyzetbe állításához használja a EEPROM.write() funkció, amely a bájtokat nullára állítja, visszaállítva az Arduino táblát. A következő kódot kell feltölteni az Arduino IDE-re úgy, hogy először csatlakoztatja az Arduino UNO-t a rendszeréhez. Ezután a Feltöltés lehetőség az Arduino Board alaphelyzetbe állítására az Arduino IDE-n.

#beleértve < EEPROM. h >

üres beállít ( ) {
// az Arduino LED lábának inicializálása kimenetként
pinMode ( 13 , KIMENET ) ;

számára ( int én = 0 ; én < EEPROM. hossz ( ) ; én ++ ) {
EEPROM. ír ( én, 0 ) ;
}

// az Arduino LED bekapcsolása, ha kész
digitalWrite ( 13 , MAGAS ) ;
}

üres hurok ( ) {

}

Következtetés

Az Arduino Board alaphelyzetbe állítása alapvető és széles körben használt feladat a projektjeiken dolgozó felhasználók számára. Hasznos abban az esetben, ha a kódjuk elakad, és az egyetlen út marad az alaplap újraindítása. Az Arduino táblát a beépítetten keresztül állíthatja vissza reset gomb vagy a reset pin . Az Arduino táblát a következővel is visszaállíthatja reset funkció , watchdog időzítő módszer , a vázlat visszaállítása a memóriában vagy EEPROM memória a kódodban. Az összes módszerre vonatkozó útmutató az útmutató fenti szakaszában található, válassza ki az Önnek legmegfelelőbb módszert, és zökkenőmentesen kezdje el az Arduino Board kódolását.