Serwisy partnerskie:
Close icon
Serwisy partnerskie

Programowe resetowanie Arduino

Article Image
Kompletny samouczek wyjaśniający krok po kroku jak programowo zresetować Arduino.
1. Praktyczny Kurs Arduino - przewodnik po artykułach składających się na kurs 2. Czym jest Arduino? 3. Porównanie Arduino z Raspberry Pi 4. Instalacja sterownika Arduino w systemie Windows 5. Generowanie pliku hex w Arduino 6. Jak wgrać bootloader w Atmega328? 7. Rozpoczęcie pracy z oprogramowaniem Arduino 8. Rozpoczęcie programowania w Arduino 9. Programowe resetowanie Arduino 10. Wprowadzenie do Arduino UNO 11. Wprowadzenie do Arduino NANO 12. Wprowadzenie do Arduino Pro Mini 13. Wprowadzenie do Arduino Mega 2560 14. Wprowadzenie do Arduino Due 15. Wprowadzenie do Arduino Lilypad 16. Wprowadzenie do ATmega328 17. Biblioteka Arduino dla Proteusa 18. Projekt płytki drukowanej Arduino UNO dla Proteus ARES 19. Biblioteka Arduino Lilypad dla Proteusa 20. Odczyt z portu szeregowego Arduino 21. Projektowanie układów LCD z Arduino 22. Łączenie klawiatury z Arduino 23. Wartość ADC na LCD przy użyciu Arduino 24. Symulacja czujnika ultradźwiękowego w Proteusie 25. Połączenie czujnika ultradźwiękowego z Arduino 26. Wiele czujników ultradźwiękowych z Arduino 27. Czujnik temperatury 18B20 z Arduino 28. Jak używać 18B20 w Proteus ISIS? 29. Łączenie LM35 z Arduino w Proteusie 30. Współpraca siedmiosegmentowego wyświetlacza z Arduino w Proteusie 31. Łączenie czujnika PIR z Arduino 32. Współpraca czujnika płomienia z Arduino 33. Interfejs NRF24L01 z Arduino 34. NRF24L01+ i Arduino - Response Timed Out 35. Połączenie RFID RC522 z Arduino 36. Komunikacja Bluetooth z Arduino przy użyciu HC05 37. Sterowanie serwomotorem za pomocą Arduino w Proteusie 38. Projekt sterowania sygnalizacją świetlną przy użyciu Arduino 39. Przewijanie tekstu na matrycy LED 8×8 z użyciem Arduino 40. Inteligentny system oszczędzania energii 41. Komunikacja USB pomiędzy Androidem i Arduino 42. Automatyka domowa z użyciem XBee i Arduino 43. Domowy system bezpieczeństwa oparty na GSM 44. Wysyłanie SMS-ów za pomocą Arduino UNO i SIM900 45. Odbieranie SMS-ów za pomocą komend AT przy użyciu Arduino 46. Projekt rozpoznawania głosu przy użyciu EasyVR Shield 47. Rozpoczęcie pracy z programem EasyVR Commander 48. Połączenie EasyVR z Arduino UNO 49. Błąd szkolenia - niepowodzenie rozpoznawania w EasyVR 50. Połączenie XBee z komputerem 51. Wprowadzenie do modułu XBee 52. Interfejs XBee z Arduino 53. Rozpoczęcie pracy z kamerą Pixy 54. Jak zainstalować oprogramowanie kamery Pixy - PixyMon 55. Aktualizacja firmware kamery Pixy do najnowszej wersji 56. Jak wytrenować kamerę Pixy za pomocą komputera 57. Sterowanie kierunkiem obrotu silnika prądu stałego za pomocą Arduino 58. Sterowanie prędkością obrotów silnika prądu stałego za pomocą Arduino 59. Sterowanie kierunkiem obrotu silnika krokowego za pomocą Arduino 60. Sterowanie prędkością obrotów silnika krokowego za pomocą Arduino 61. Pobieranie danych z serwera internetowego za pomocą Arduino Wi-Fi 62. Wprowadzenie do Arduino YUN 63. Dostęp do serwera Linux Arduino YUN za pomocą Putty
Rozwiń cały spis treści Zwiń spis treści

Witajcie przyjaciele. Dzisiejszy post dotyczy programowego resetowania Arduino. Brzmi trochę dziwnie, ale dosłownie w niektórych przypadkach ta technika jest jedynym wyborem jaki pozostaje. Zdarzyło mi się to ostatnio w jednym z moich projektów, dlatego wiem, jakie to ważne. Zanim przejdziemy do szczegółów, przyjrzyjmy się najpierw funkcji resetowania Arduino.

Jeśli pracowałeś na dowolnej płytce Arduino, to zapewne zauważyłeś pin RESET w Arduino i możesz się zastanawiać, do czego służy ten pin. Pewnie zauważyłeś również, że po przesłaniu kodu na płytkę Arduino, Arduino resetuje się. Innym sposobem resetowania Arduino jest otworzenie terminala szeregowego w oprogramowaniu Arduino podczas podłączania płytki Arduino do komputera. Po otwarciu terminala szeregowego Arduino zostanie automatycznie zresetowany. Trzecim sposobem resetowania Arduino jest naciśnięcie przycisku. Po naciśnięciu i zwolnieniu przycisku Arduino zostaje zresetowane. Powinieneś również zajrzeć do artykułu „Jak uzyskać plik hex z Arduino?”.

Wszystkie te powyższe metody resetowania są ręczne, tzn. trzeba ręcznie nacisnąć przycisk lub otworzyć terminal szeregowy lub wgrać kod. W niektórych projektach musimy zresetować Arduino programowo, tj. automatycznie. W jaki sposób to zrobić jest temat dzisiejszego tutoriala. Opiszę dwie metody, za pomocą których programowo zresetujemy Arduino.

Resetowanie Arduino za pomocą pinu RESET

W pierwszej metodzie zresetujemy Arduino programowo za pomocą pinu RESET dostępnego na płytce Arduino.

Wykaz elementów
Ilość
Symbol
Nazwa/opis/gdzie kupić

Przede wszystkim połącz pin resetowania Arduino z dowolnym pinem cyfrowym, tak jak połączyłem go z pinem nr 4 pokazanym na poniższym rysunku:

Teraz prześlij poniższy kod na swoją płytkę Arduino:

int Reset = 4;

void setup() {  
  digitalWrite(Reset, HIGH);
  delay(200); 
  pinMode(Reset, OUTPUT);     
  Serial.begin(9600);
  Serial.println("Programowe resetowanie Arduino");
  Serial.println("www.TheEngineeringProjects.com");
  delay(200);
}
void loop() 
{
  Serial.println("A");
  delay(1000);               
  Serial.println("B");
  delay(1000);               
  Serial.println("Teraz resetujemy Arduino");
  Serial.println();
  delay(1000);
  digitalWrite(Reset, LOW);
  Serial.println("Ten napis nie zostanie wyświetlony");
}

Po przesłaniu kodu i otwarciu monitora szeregowego Arduino otrzymasz rezultaty, jak pokazano na poniższym rysunku:

Jak widać na powyższym rysunku, nasze Arduino nie wyświetla linii „Ten napis nie zostanie wyświetlony”, bo zostało wcześniej zresetowane.

Resetowanie Arduino za pomocą funkcji reset

W tej metodzie nie będziemy używać żadnego pinu sprzętowego. Zamiast tego zrobimy wszystko 
w kodzie programu.
Jeśli nie wiesz zbyt wiele o programowaniu Arduino, powinieneś zapoznać się z wprowadzeniem do programowania Arduino.
Arduino ma wbudowaną funkcję o nazwie resetFunc(), którą musimy zadeklarować pod adresem 0, 
a po jej wykonaniu Arduino zostaje automatycznie zresetowane.
Nie musisz nic robić na sprzęcie. Po prostu wgraj poniższy kod na swoją płytkę Arduino.

void(* resetFunc) (void) = 0;
 
void setup() {
  Serial.begin(9600);
  Serial.println("Programowe resetowanie Arduino");
  Serial.println("www.TheEngineeringProjects.com");
  delay(200);
}

void loop() 
{
  Serial.println("A");
  delay(1000);               
  Serial.println("B");
  delay(1000);               
  Serial.println("Teraz resetujemy Arduino");
  Serial.println();
  delay(1000);
  resetFunc();
  Serial.println("Ten napis nie zostanie wyświetlony");
}

Po przesłaniu kodu i otwarciu monitora szeregowego Arduino otrzymasz rezultaty, jak pokazano na poniższym rysunku:

W kodzie, który widziałeś, zdefiniowaliśmy funkcję resetFunc(), a następnie tam, gdzie wywołujemy tę funkcję, nasze Arduino zostaje zresetowane w tym momencie.

To wszystko na dzisiaj. Myślę, że dzisiejszy tutorial nie był zbyt trudny. Jeśli jednak nadal masz problemy to pisz w komentarzach.

Artykuł How to Reset Arduino Programmatically ??? opracowano w wersji polskiej na podstawie współpracy z portalem www.theengineeringprojects.com.

1. Praktyczny Kurs Arduino - przewodnik po artykułach składających się na kurs 2. Czym jest Arduino? 3. Porównanie Arduino z Raspberry Pi 4. Instalacja sterownika Arduino w systemie Windows 5. Generowanie pliku hex w Arduino 6. Jak wgrać bootloader w Atmega328? 7. Rozpoczęcie pracy z oprogramowaniem Arduino 8. Rozpoczęcie programowania w Arduino 9. Programowe resetowanie Arduino 10. Wprowadzenie do Arduino UNO 11. Wprowadzenie do Arduino NANO 12. Wprowadzenie do Arduino Pro Mini 13. Wprowadzenie do Arduino Mega 2560 14. Wprowadzenie do Arduino Due 15. Wprowadzenie do Arduino Lilypad 16. Wprowadzenie do ATmega328 17. Biblioteka Arduino dla Proteusa 18. Projekt płytki drukowanej Arduino UNO dla Proteus ARES 19. Biblioteka Arduino Lilypad dla Proteusa 20. Odczyt z portu szeregowego Arduino 21. Projektowanie układów LCD z Arduino 22. Łączenie klawiatury z Arduino 23. Wartość ADC na LCD przy użyciu Arduino 24. Symulacja czujnika ultradźwiękowego w Proteusie 25. Połączenie czujnika ultradźwiękowego z Arduino 26. Wiele czujników ultradźwiękowych z Arduino 27. Czujnik temperatury 18B20 z Arduino 28. Jak używać 18B20 w Proteus ISIS? 29. Łączenie LM35 z Arduino w Proteusie 30. Współpraca siedmiosegmentowego wyświetlacza z Arduino w Proteusie 31. Łączenie czujnika PIR z Arduino 32. Współpraca czujnika płomienia z Arduino 33. Interfejs NRF24L01 z Arduino 34. NRF24L01+ i Arduino - Response Timed Out 35. Połączenie RFID RC522 z Arduino 36. Komunikacja Bluetooth z Arduino przy użyciu HC05 37. Sterowanie serwomotorem za pomocą Arduino w Proteusie 38. Projekt sterowania sygnalizacją świetlną przy użyciu Arduino 39. Przewijanie tekstu na matrycy LED 8×8 z użyciem Arduino 40. Inteligentny system oszczędzania energii 41. Komunikacja USB pomiędzy Androidem i Arduino 42. Automatyka domowa z użyciem XBee i Arduino 43. Domowy system bezpieczeństwa oparty na GSM 44. Wysyłanie SMS-ów za pomocą Arduino UNO i SIM900 45. Odbieranie SMS-ów za pomocą komend AT przy użyciu Arduino 46. Projekt rozpoznawania głosu przy użyciu EasyVR Shield 47. Rozpoczęcie pracy z programem EasyVR Commander 48. Połączenie EasyVR z Arduino UNO 49. Błąd szkolenia - niepowodzenie rozpoznawania w EasyVR 50. Połączenie XBee z komputerem 51. Wprowadzenie do modułu XBee 52. Interfejs XBee z Arduino 53. Rozpoczęcie pracy z kamerą Pixy 54. Jak zainstalować oprogramowanie kamery Pixy - PixyMon 55. Aktualizacja firmware kamery Pixy do najnowszej wersji 56. Jak wytrenować kamerę Pixy za pomocą komputera 57. Sterowanie kierunkiem obrotu silnika prądu stałego za pomocą Arduino 58. Sterowanie prędkością obrotów silnika prądu stałego za pomocą Arduino 59. Sterowanie kierunkiem obrotu silnika krokowego za pomocą Arduino 60. Sterowanie prędkością obrotów silnika krokowego za pomocą Arduino 61. Pobieranie danych z serwera internetowego za pomocą Arduino Wi-Fi 62. Wprowadzenie do Arduino YUN 63. Dostęp do serwera Linux Arduino YUN za pomocą Putty
Rozwiń cały spis treści Zwiń spis treści
Firma:
Tematyka materiału: Kurs Arduino, pierwsze kroki z Arduino, Arduino UNO
AUTOR
Źródło
www.theengineeringprojects.com
Udostępnij
Zobacz wszystkie quizy
Quiz weekendowy
Edukacja
1/10 Jak działa rezystor LDR?
Oceń najnowsze wydanie EdW
Wypełnij ankietę i odbierz prezent
UK Logo
Elektronika dla Wszystkich
Zapisując się na nasz newsletter możesz otrzymać GRATIS
najnowsze e-wydanie magazynu "Elektronika dla Wszystkich"