Jak resetovat desku Arduino

Jak Resetovat Desku Arduino



Arduino Board je užitečná vývojová deska mikrokontroléru, kterou používají fandové a profesionálové k vytváření svých projektů. Arduino Board můžete použít k vytvoření několika projektů od jednoduchého blikání LED po ovládání robotů nebo těžkých strojů. Chcete-li pracovat s deskami Arduino, musíte nahrát skicu, což je program, který informuje desku, co má dělat. Někdy však z jakéhokoli důvodu možná budete muset resetovat desku Arduino.

Tato příručka obsahuje následující osnovu:

Proč je užitečné resetovat desku Arduino







Jak resetovat desku Arduino



Závěr



Proč je užitečné resetovat desku Arduino

Resetování desky Arduino je užitečné v různých scénářích, jako jsou:





  • Pokud máte potíže s nahráváním skici, můžete svou desku Arduino resetovat.
  • Někdy nahraný náčrt nefunguje správně, v tom případě je užitečné resetovat Arduino Board.
  • Resetování desky Arduino může také odemknout desku, pokud je zablokovaná nebo nereaguje.

Jak resetovat desku Arduino

Desku Arduino můžete resetovat:

  • Pomocí tlačítka Reset
  • Pomocí Reset Pin
  • Pomocí funkce reset().
  • Použití metody Watchdog Timer
  • Resetováním náčrtu v paměti
  • Resetováním paměti EEPROM

Jak resetovat desku Arduino pomocí tlačítka Reset

Arduino Board obsahuje vestavěný Tlačítko reset které můžete použít k resetování desky. Toto tlačítko je umístěno těsně před USB portem používaným pro napájení. Stisknutím tohoto tlačítka se každá činnost na této desce zastaví a vykoná se zpět na první řádek kódu.



Jak resetovat desku Arduino pomocí Reset Pin

Pokud se na Arduino Board podíváte pozorně, všimnete si, že má také Reset pin, který lze naprogramovat tak, že dokáže resetovat desku během několika sekund. To může být užitečné v případě, že tlačítko Reset nefunguje správně. Chcete-li použít tento Reset Pin k resetování desky Arduino, musíte použít následující kroky:

Krok 1: Stáhněte a nainstalujte Arduino IDE

Nejprve si stáhněte a nainstalujte Arduino IDE do svého systému, protože jej budeme používat k nahrávání kódu. Arduino IDE si můžete stáhnout a nainstalovat do svého systému z tady .

Krok 2: Připojte desku Arduino k systému

Nyní použijte USB kabel, vložte jeden konec USB typu B do desky Arduino a druhou stranu USB typu A do počítače.

Krok 3: Vyberte Arduino Board

Otevřete Arduino IDE, přejděte na Nástroje a odtud vyberte Arduino Board. Po výběru desky byste měli také vybrat Port:

Krok 4: Přidejte kód do Arduino IDE

Nyní přidejte následující kód do Arduino IDE :

int Resetovat = 4 ;

prázdnota založit ( ) {
digitalWrite ( Resetovat, VYSOKÉ ) ;
zpoždění ( 200 ) ;
pinMode ( Resetovat, VÝSTUP ) ;
Seriál. začít ( 9600 ) ;
Seriál. println ( 'Programové resetování Arduina' ) ;
Seriál. println ( 'www.linuxhint.com' ) ;
zpoždění ( 200 ) ;
}
prázdnota smyčka ( )
{
Seriál. println ( 'A' ) ;
zpoždění ( 1000 ) ;
Seriál. println ( 'B' ) ;
zpoždění ( 1000 ) ;
Seriál. println ( 'Pojďme programově resetovat Arduino' ) ;
Seriál. println ( ) ;
zpoždění ( 1000 ) ;
digitalWrite ( Resetovat, NÍZKÁ ) ;
Seriál. println ( 'Arduino tam nedosáhne.' ) ;

}

Krok 5: Připojte drát

Vezměte propojovací vodič s otevřenými oběma konci a připojte jeden konec vodiče Pin 4 , zatímco jiný konec Resetovat pin na Arduino UNO, jak je znázorněno níže:

Krok 6: Nahrajte kód

Nahrajte kód pomocí nahrát knoflík:

Krok 7: Otevřete Serial Monitor

Přejděte na Sériový monitor volba:

Tam budete moci vidět následující výstup:

Výše uvedený výstup ukazuje, že Arduino nezobrazuje „ Arduino tam nedosáhne“ a byl resetován, poté zobrazte výsledek od začátku. To zajišťuje, že metoda úspěšně resetovala desku Arduino.

Jak resetovat desku Arduino pomocí funkce reset()

Můžete také použít reset() funkce ve vašem kódu Arduino pro resetování desky Arduino během několika sekund. Tato metoda je od té doby docela jednoduchá reset() funkce je součástí knihoven Arduino IDE. Arduino Board můžete resetovat pomocí reset() funkce z následujících kroků:

Krok 1: Otevřete Arduino IDE a napište svůj kód. Jako příklad přidávám následující kód:

prázdnota ( * resetFunc ) ( prázdnota ) = 0 ;

prázdnota založit ( ) {
Seriál. začít ( 9600 ) ;
}
prázdnota smyčka ( )
{
Seriál. println ( '1..' ) ;
zpoždění ( 1000 ) ;
Seriál. println ( '2..' ) ;
zpoždění ( 1000 ) ;
Seriál. println ( '3..' ) ;
zpoždění ( 1000 ) ;
Seriál. println ( 'Arduino Board se nyní resetuje' ) ;
Seriál. println ( ) ;
zpoždění ( 1000 ) ;
resetFunc ( ) ;
Seriál. println ( 'Pokud funkce reset() fungovala, Arduino tento výstup nezobrazí!' ) ;
}

Krok 2: Následovat Krok 4 na Krok 7 (kromě kroku 5) poskytované ve výše uvedených metodách, které zahrnují nahrání kódu a následné použití Sériový monitor pro kontrolu výstupu.

Výše uvedený výstup potvrzuje, že deska Arduino byla úspěšně resetována pomocí reset() od resetování, poté zobrazí výsledek od začátku.

Jak resetovat desku Arduino pomocí metody Watchdog Timer

The Watchdog Timer je další účinný způsob, jak resetovat desku Arduino ve vašem kódu. Umožňuje resetovat mikroprocesor po určitém časovém intervalu. Je to užitečné v případě, že se váš program během provádění zastaví a nemáte jinou možnost než resetovat desku. Chcete-li resetovat desku Arduino pomocí Metoda Watchdog Timer , postupujte podle níže uvedených kroků:

Krok 1: Otevřete Arduino IDE a vložte následující kód:

#zahrnout < avr / wdt. h >
prázdnota založit ( ) {
Seriál. začít ( 9600 ) ;
wdt_disable ( ) ; //Zakázat WDT
zpoždění ( 2000 ) ;
wdt_enable ( WDTO_2S ) ; //Povolení časového limitu WDT 2 sekundy
Seriál. println ( 'WDT je ​​povoleno' ) ;
}
prázdnota smyčka ( ) {
pro ( int i = 0 ; i < 5 ; i ++ )
{
Seriál. println ( 'pokračování' ) ;
zpoždění ( 500 ) ;
wdt_reset ( ) ; //Resetování hlídacího psa
}
zatímco ( 1 ) ; //Watchdog timer se spustí zde
}

Ve výše uvedeném kódu nejprve inicializujeme knihovnu pro Watchdog Timer metoda. Pak uvnitř kódu inicializujeme Serial a deaktivujeme Hlídací pes na startu. Po určité prodlevě povolíme Watchdog Timer 2 sekundy, což znamená, že by se měl spustit Watchdog a restartovat mikrokontrolér s časovým limitem 2 sekund. Kód poté vstoupí do smyčky a provede příkaz při resetování Watchdog Timer každou vteřinu. Poté vstoupí do nekonečné smyčky while, která spustí Watchdog a resetuje desku Arduino.

Krok 2: Nyní opakujte Krok 4 až Krok 6 (kromě kroku 5) poskytnutý v první metodě pro nahrání kódu, poté použijte Sériový monitor možnost kontroly výstupu:

Výše uvedený výstup ukazuje, že jednou Watchdog Timer je povoleno, bude pokračovat ve smyčce, potom resetujte desku Arduino a opakujte stejné kroky znovu.

Jak resetovat desku Arduino resetováním náčrtu v paměti

Arduino Board má dva typy paměti: flash paměť a RAM. Flash paměť uchovává obsah, když je zařízení vypnuto, zatímco obsah v RAM je ztracen, když je zařízení vypnuto. Skica běžící na vaší desce Arduino je uložena ve flash paměti a jakmile nahrajete novou skicu, přepíše stávající skicu ve flash paměti. Arduino Board tedy můžete snadno resetovat resetováním skici v paměti, což znamená její přepsání novou skicou. To lze provést pomocí následujících kroků:

Krok 1: Nejprve připojte desku Arduino k vašemu systému, jak bylo uvedeno výše.

Krok 2: Jít do Příklady z Soubor sekce, pak vyberte Naprosté minimum z Základy kategorie:

Krok 3: Ujistěte se, že je pro tento příklad vybrána vaše deska Arduino, což můžete potvrdit z Nástroje>Deska sekce:

Poznámka: Měli byste zkontrolovat port pro vaše Arduino UNO z Přístav pomocí stejné nabídky.

Krok 4: Nyní můžete použít nahrát možnost nahrát kód a resetovat desku Arduino:

Jak resetovat desku Arduino resetováním paměti EEPROM

Desky založené na AVR mají EEPROM, energeticky nezávislou flash paměť, která uchovává hodnoty, i když je deska vypnutá. EEPROM můžete resetovat pomocí EEPROM.write() funkce, která nastavuje bajty na nulu, resetuje desku Arduino. Následující kód by měl být nahrán do vašeho Arduino IDE tak, že nejprve připojíte Arduino UNO k vašemu systému. Poté pomocí nahrát možnost resetování desky Arduino na Arduino IDE.

#zahrnout < EEPROM. h >

prázdnota založit ( ) {
// inicializace pinu Arduino LED jako výstupu
pinMode ( 13 , VÝSTUP ) ;

pro ( int i = 0 ; i < EEPROM. délka ( ) ; i ++ ) {
EEPROM. napsat ( já, 0 ) ;
}

// zapnutí Arduino LED po dokončení
digitalWrite ( 13 , VYSOKÁ ) ;
}

prázdnota smyčka ( ) {

}

Závěr

Resetování desky Arduino je základní a široce používaný úkol pro uživatele, kteří pracují na svých projektech. Je to užitečné v případě, že se jejich kód zasekl a zbývá pouze reset desky. Desku Arduino můžete resetovat pomocí vestavěného tlačítko reset nebo pomocí resetovací kolík . Desku Arduino můžete také resetovat pomocí funkce reset , metoda hlídacího časovače , resetování náčrtu v paměti nebo Paměť EEPROM ve vašem kódu. Průvodce všemi metodami je uveden ve výše uvedené části této příručky, vyberte si metodu, která vám nejlépe vyhovuje, a začněte hladce kódovat s Arduino Board.