SIM800L to popularny moduł GSM/GPRS używany do komunikacji mobilnej, zdolny do wysyłania SMS -ów, wykonywania połączeń i uzyskiwania dostępu do Internetu. Jego kompaktowe wymagania dotyczące wielkości i niskiej mocy sprawiają, że jest to doskonały wybór dla projektów opartych na IoT i komunikacji. W tym samouczku pokażemy, jak połączyć SIM800L z Arduino.
Czego będziesz potrzebować
- Moduł GSM SIM800L
- Arduino Board (np. UNO, Mega, Nano)
- Tablica chleba
- Przewody zworki
- Karta SIM (odblokowana i z planem kredytu/danych)
- Zasilanie (zdolne do zapewnienia 3,7 V-4,2 V dla SIM800L)
- Komputer z zainstalowanym Arduino IDE
Krok 1: Zrozumieć szpilki SIM800L
Moduł SIM800L ma kilka pinów, ale w przypadku podstawowej operacji wystarczy użyć następujących czynności:
SIM800L PIN | Funkcjonować |
---|---|
VCC | Zasilacz (3,7 V do 4,2 V) |
GND | Grunt |
Txd | Przekazywanie danych (do Arduino Rx) |
Rxd | Odbierz dane (do Arduino TX) |
RST | Reset (opcjonalnie) |
Ważny: SIM800L wymaga stabilnego źródła zasilania między 3,7 V a 4,2 V. Nie podłącz go bezpośrednio do wyjścia 5 V Arduino, ponieważ może on uszkodzić moduł.
Krok 2: Okablowanie SIM800L do Arduino
Oto jak podłączyć moduł SIM800L z Arduino Uno:
SIM800L PIN | PIN Arduino |
---|---|
VCC | Moc zewnętrzna (3,7 V-4,2 V) |
GND | GND |
Txd | PIN 10 (oprogramowanie Serial Rx) |
Rxd | PIN 11 (oprogramowanie serial TX) |
Użyj kondensatora (np. 1000 µF) w stykach VCC i GND z SIM800L, aby zapewnić stabilne zasilanie i zapobiec nieoczekiwanym resetom.
Krok 3: Zainstaluj bibliotekę oprogramowania
SIM800L komunikuje się nad UART. Użyjemy SoftwareSerial
Biblioteka do zdefiniowania niestandardowych pinów TX i RX do komunikacji.
- Otwórz Arduino IDE.
- Idź do Naszkicować > Uwzględnij bibliotekę > Zarządzaj bibliotekami.
- Wyszukaj „SoftwaReserial” (domyślnie zawarty w IDE).
Krok 4: Prześlij kod
Poniżej znajduje się przykład szkicu, który wysyłał SMS za pomocą modułu SIM800L:
#include <SoftwareSerial.h>
SoftwareSerial sim800l(10, 11); // RX, TX
void setup() {
Serial.begin(9600); // Monitor baud rate
sim800l.begin(9600); // SIM800L baud rate
Serial.println("Initializing SIM800L...");
delay(1000);
sim800l.println("AT"); // Test communication
delay(1000);
sim800l.println("AT+CMGF=1"); // Set SMS mode to text
delay(1000);
sim800l.println("AT+CMGS=\"+1234567890\""); // Replace with recipient number
delay(1000);
sim800l.print("Hello from Arduino!");
delay(1000);
sim800l.write(26); // End SMS with CTRL+Z
delay(5000);
Serial.println("SMS sent!");
}
void loop() {
// Nothing to do here
}
Krok 5: Przetestuj konfigurację
- Włóż prawidłową kartę SIM do modułu SIM800L.
- Zasilaj SIM800L źródłem 3,7 V-4,2 V.
- Podłącz Arduino do komputera za pomocą USB.
- Otwórz Arduino IDE i wybierz poprawne Tablica I Port z Narzędzia menu.
- Prześlij kod do Arduino.
- Otwórz monitor szeregowy (Narzędzia > Monitor szeregowy) i ustaw wskaźnik transmisji na
9600
. - Sprawdź monitor szeregowy komunikatów inicjalizacyjnych i potwierdzenia SMS.
Rozwiązywanie problemów
- Moduł nie odpowiada: Upewnij się, że zasilacz jest stabilny i w wymaganym zakresie napięcia.
- Brak połączenia sieciowego: Sprawdź, czy karta SIM jest aktywna i ma wystarczający kredyt lub dane.
- Dane śmieci: Sprawdź, czy wskaźnik transmisji w kodzie odpowiada domyślnej wskaźnika Bauda SIM800L (9600).
Zastosowania SIM800L
- Zdalne monitorowanie i kontrola
- Urządzenia IoT z komunikacją GSM
- Systemy śledzenia GPS (z zewnętrznym modułem GPS)
- Zautomatyzowane alerty SMS
Wniosek
Z powodzeniem połączyłeś moduł GSM SIM800L z Arduino, aby wysłać wiadomości SMS. Dzięki możliwości wykonywania połączeń, wysyłania SMS-ów i dostępu do Internetu, SIM800L otwiera niekończące się możliwości projektów opartych na komunikacji. Przeglądaj swoje zaawansowane funkcje, aby tworzyć bardziej złożone aplikacje IoT!