Két módja az arduino újratöltésére a szoftver szintjén

Annak érdekében, hogy visszaállítsa az Arduino-t a reset gomb megnyomása nélkül, két lehetőség közül választhat. Mindkettőt az alábbiakban tárgyaljuk. A kivitelezéshez legalább további elektromos pántok szükségesek.

A 12. kapcsolathoz csatlakoztatott vezetéket használjuk

Ebben az esetben az Arduino 13. tüskével ellátott LED (a beépített LED használatával) villog. 12 érintkező van csatlakoztatva a Reset érintkezőhez egy vezetővel.

Két módja az arduino újratöltésére a szoftver szintjén

A szoftver szintjén további csípések nélkül nem tehetünk, mert a vázlatunk munkájának kezdetén az Arduino összes csapszege a LOW értékét veszi fel. Ennek eredményeképpen leválasztjuk a vezérlőt. De! A trükk az, hogy az első dolog, ami belül történik funkció setup (): mi biztosítja a magas 12 csap ami pin a reset (digitalWrite (resetPin, HIGH), és így biztosítja a magas jel kapcsolati Arduino RESET.

int led = 13; // a 13-as tű a PIN-OUT kimenetként működik

int resetPin = 12;

// a beállítási funkció egyszer végrehajtásra kerül, miután megnyomta a reset:

// inicializálja a digitális érintkezőt kimenetként

Serial.begin (9600); // inicializálja a kapcsolatot a soros porton

Serial.println ("reset"); // megjeleníti a visszaállító karakterláncot annak tudatában, hogy újraindítás történt, és

// újra végrehajtja a beállítási funkciót

// loop hurok újra és újra működik:

digitalWrite (led, HIGH); // világítsuk meg a LED (HIGH a tápfeszültség)

késleltetés (1000); // várjon egy másodpercet

digitalWrite (led, LOW); // kapcsolja ki a LED-et a LOW parancs használatával

késleltetés (1000); // várjon egy másodpercet

Serial.println ("ez soha nem történik");

// ez soha nem fog megtörténni, mivel az Arduino újraindul

Csak szoftveres alaphelyzetbe állítást hajtunk végre

Két módja az arduino újratöltésére a szoftver szintjén

Az alábbi példában nincs szükség további kapcsolatra. Csak inicializáljuk a reset funkciót, majd hívjuk vissza.

resetFunc (); // hívás visszaállítása

Az egész program az Arduino újraindításához:

// a beállítási funkció egyszer működik a reset gomb megnyomása után:

// inicializálja a digitális érintkezőt kimenetként.

Serial.begin (9600); // inicializálja a soros portot

void (* resetFunc) (void) = 0; // deklarálja a reset funkciót

// ezt a ciklust újra és újra átdolgozzuk:

digitalWrite (led, HIGH); // kapcsolja be a LED-et

késleltetés (1000); // várj egy pillanatot

digitalWrite (led, LOW); // kapcsolja ki a LED-et, és adja meg a LOW parancsot

késleltetés (1000); // várjon egy másodpercet

resetFunc (); // hívás visszaállítása

Miért használhatom az Arduino szoftver visszaállítását?

Az Arduino újraindítása a szoftver szintjén használható az nRF24L01 + 2,4 Hz-es adóvevővel (az RF24 könyvtárkönyvtár használatával). Ez a vázlat nagyszerű, ha az adóvevő elveszti a kapcsolatot és abbahagyja a munkát. Nagyon nehéz biztosítani a 2,4 GHz-es rádiós modulok alaphelyzetbe állítását, de az Arduino Uno vagy az Arduino Pro Mini visszaállítása nem jelent problémát. A programnak az alábbiak szerint kell működnie: "Ha 100 ms alatt nem érkezett adatcsomag, az Arduino újra kell indítania." Ennek eredményeképpen a rádiós adó modulok automatikusan újra csatlakoznak, és a kommunikáció létrejön!

Az ARDUINO-DIY.COM egy információforrás, amely tartalmazza az Arduino vezérlők használatának legjobb útmutatásait és útmutatásait.

Mindig örülünk a konstruktív együttműködésnek. Minden kérdéssel, javaslattal és javaslattal kapcsolatban kérjük, forduljon [email protected] címhez.