Serwisy partnerskie:
Close icon
Serwisy partnerskie

Odczyt z portu szeregowego Arduino

W tym artykule dowiesz się w jaki sposób odczytywać dane z portu szeregowego w Arduino.
Article Image
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
Rozwiń cały spis treści Zwiń spis treści

Witajcie przyjaciele, mam nadzieję, że wszyscy macie się dobrze.

Co to jest port szeregowy?

Napisałem już o tym szczegółowy tutorial, który możesz przeczytać na tej stronie.

Port szeregowy jest używany do komunikacji pomiędzy dwoma modułami elektronicznymi.

Port szeregowy posiada 9 pinów używanych do różnych celów.

Dwa z tych pinów najczęściej używane są jako TX (nadajnik) i RX (odbiornik).

Tak więc, używając tych dwóch pinów przesyłamy nasze dane z jednego miejsca do drugiego.

Port szeregowy w Arduino

Prawie wszystkie płytki Arduino obsługują port szeregowy.

Jeśli mówimy o Arduino UNO, ma ono jeden port szeregowy i jest on zlokalizowany na pinach 0 i 1.

Jeśli przyjrzysz się dokładnie płytce Arduino UNO, możesz zobaczyć, że na pinie nr 1 jest napisane TX, a na pinie nr 0 jest napisane RX, jak pokazano na poniższym rysunku:

Jak odczytywać dane z portu szeregowego ?

Załóżmy, że masz jakiś moduł szeregowy, powiedzmy moduł GPS (większość modułów GPS działa na porcie szeregowym).

Kiedy łączysz moduł GPS z Arduino, musisz połączyć pin TX GPS z pinem RX Arduino.

Pin TX GPS będzie wysyłał dane, a ponieważ ten pin jest połączony z pinem RX Arduino, Arduino będzie odbierać dane.

Wiemy jak dane przychodzą do Arduino, ale trzeba napisać kod, aby odczytać je, a następnie zapisać w jakiejś zmiennej.

W celu odczytania danych, musimy użyć specjalnej funkcji o następującej składni:

char data = Serial.read();

Ważne jest, aby najpierw zainicjować port szeregowy w Arduino, jak pokazano poniżej:

Serial.begin(9600);

Uwaga: Port Arduino USB, który jest wpinany do komputera i służy do wgrywania kodu, działa również na tym samym porcie szeregowym.

Jeśli masz coś podłączonego do pinu # 0 Arduino, nie możesz przesłać kodu w Arduino.

Teraz zaprojektujmy prosty przykład, w którym będziemy odbierać dane z portu szeregowego, a następnie zapisywać je w jakiejś zmiennej.

Podłącz urządzenie szeregowe do płytki Arduino i wgraj poniższy kod do płytki Arduino:

void setup() {
  Serial.begin(9600); // inicjalizacja portu
}

void loop() {
  if(Serial.available()) // sprawdź dostępność danych do odczytu
  {
    char data = Serial.read(); // odczyt i zapis w zmiennej
    Serial.print(data); // wyświetlenie odczytanych danych
  }
}

Teraz należy otworzyć monitor szeregowy Arduino, który jest używany do debugowania.

W ten sposób, za każdym razem gdy piszesz coś na porcie szeregowym, jest to drukowane na monitorze szeregowym.

Tak więc, cokolwiek będziesz otrzymywał na porcie szeregowym, otrzymasz w monitorze szeregowym.

Oto kilka losowych danych z modułu GSM przychodzących na port szeregowy i pokazujących się w monitorze szeregowym:

Jak odczytywać dane z portu szeregowego w Proteusie?

Zaprojektujmy teraz małą symulację Proteusa, w której zobaczymy jak odczytywać dane z portu szeregowego.

Proteus nie ma wbudowanych płytek Arduino, więc musisz najpierw ściągnąć bibliotekę Arduino dla Proteusa i wtedy będziesz mógł symulować swoją płytkę Arduino w Proteusie.

Zbuduj układ, jak pokazano na poniższym rysunku:

Na powyższym rysunku umieściłem wyświetlacz LCD i będę pobierał dane z portu szeregowego, a następnie będę drukował te dane na wyświetlaczu LCD.

Tak więc, najprościej mówiąc, cokolwiek wpiszę do wirtualnego terminala, zostanie wyświetlone na LCD.

Aby uzyskać ten niesamowity wyświetlacz LCD w Proteusie, należy pobrać bibliotekę z tej strony.

Następnie użyj poniższego kodu i pobierz swój plik Hex z oprogramowania Arduino:

#include <LiquidCrystal.h>

// inicjalizacja pinów wyświetlacza LCD

LiquidCrystal lcd(13, 12, 11, 10, 9, 8);

void setup() {

// ustaw liczbę kolumn i wierszy na wyświetlaczu LCD:

lcd.begin(20, 4);

// umieść napis na wyświetlaczu

lcd.setCursor(1,0);

lcd.print("www.TheEngineering");

lcd.setCursor(4,1);

lcd.print("Projects.com");

lcd.setCursor(1,0);

Serial.begin(9600);

}

void loop() {

if(Serial.available()) // sprawdź dostępność danych do odczytu

{

char data = Serial.read(); // odczyt i zapis w zmiennej

Serial.print(data);

lcd.print(data); // wyświetlenie odczytanych danych

}

}

Gdy uruchomisz symulację Proteusa, pierwszy ekran będzie wyglądał tak, jak poniżej:

Cokolwiek wpiszemy do portu szeregowego, pojawi się na wyświetlaczu LCD, jak pokazano na poniższym rysunku:

Możesz pobrać symulację Proteusa i kod Arduino klikając przycisk podany na początku tego postu. Tak więc, to jest jak możesz używać polecenia Arduino Serial Read i możesz wykonać swoje zadanie. To wszystko na dzisiaj. Mam nadzieję, że podobał wam się ten krótki tutorial. Jeśli macie jakieś pytania, to piszcie w komentarzach.

Artykuł How to use Arduino Serial Read ? 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
Rozwiń cały spis treści Zwiń spis treści
Tematyka materiału: Kurs Arduino, port szeregowy, Symulator Arduino, Symulacja w Proteus
AUTOR
Źródło
www.theengineeringprojects.com
Udostępnij
UK Logo
Elektronika dla Wszystkich
Zapisując się na nasz newsletter możesz otrzymać GRATIS
najnowsze e-wydanie magazynu "Elektronika dla Wszystkich"