SMS Versturen & Ontvangen met GSM SIM900 Shield voor Arduino Mega
Onderdelen en Benodigdheden
| Arduino Mega 2560 | × | 1 |
| Seeed SIM900 GSM/GPRS Shield | × | 1 |
Apps en Online Diensten
- Visuino – Grafische Ontwikkelomgeving voor Arduino
- Arduino IDE (versie 1.6.7 of hoger vereist)
Over dit Project

Een van de essentiële elementen van IoT-projecten is de mogelijkheid om apparaten te verbinden. Wi-Fi en Bluetooth zijn goedkope opties, maar werken alleen op korte afstand of in hotspot-gebieden. Wanneer een apparaat op een remote locatie moet staan, is GSM een goede en eenvoudig in te stellen optie.
In deze tutorial laat ik zien hoe gemakkelijk je SMS-berichten kunt versturen en ontvangen via GSM met Arduino. In volgende tutorials zal ik laten zien hoe je via GSM internettoegang krijgt, servers benadert en spraakgesprekken afhandelt.
Stap 1: Componenten


- Één Arduino Mega (andere boards mogelijk, maar een board met 2+ hardware seriële poorten is aanbevolen. SoftwareSerial kan, maar hardware serial is betrouwbaarder)
- Één SIM900-gebaseerde GSM Shield of compatibele shield/module met geïnstalleerde SIM-kaart (ik gebruikte Seeed Studio V1.0 GSM/GPRS Shield)
- 2 Female-Male jumper wires
Stap 2: GSM Shield Aansluiten op Arduino





- Verwijder de jumper caps van de RX en TX selectie jumpers op de GSM Shield
- Plaats de GSM Shield op de Arduino Mega
- Verbind de male kant van een Male-Female jumper wire (oranje) met de RX1 pin van de Arduino Mega
- Verbind de male kant van een Male-Female jumper wire (bruin) met de TX1 pin van de Arduino Mega
- Verbind de female kant van de RX1-draad (oranje) met de centrale pin van de RX Selectie Jumper op de GSM Shield
- Verbind de female kant van de TX1-draad (bruin) met de centrale pin van de TX Selectie Jumper op de GSM Shield
- Afbeelding 5 toont de volledig geïnstalleerde en aangesloten GSM Shield
Stap 3: Visuino Starten & Arduino Board Type Selecteren


- Installeer Arduino IDE (versie 1.6.7 of hoger – verplicht!)
- Installeer Visuino
- Start Visuino
- Klik op de knop "Tools" bij het Arduino-component
- Selecteer "Arduino Mega 2560"
Stap 4: Seriële Poort 1 Snelheid Instellen op 19200

De GSM Shield is standaard geconfigureerd voor 19200 baud. Configureer Serial Port 1:
- In de Object Inspector, vouw "Serial" uit, dan "Item[ 1 ]", en selecteer "Speed"
- Klik op de pijl-knop naast de waarde
- Selecteer "19200" uit de dropdown
Stap 5: GSM/GPRS Serial Component Toevoegen & Verbinden

- Typ "gsm" in het filtervak van de Component Toolbox, selecteer "GSM/GPRS Serial" en sleep het in het ontwerpgebied
- Verbind de "Out" output pin van GSM1 met de "In" input pin van "Serial[ 1 ]" van het Arduino-component
- Verbind de "Power" output pin van GSM1 met de "Digital" input pin van "Digital[ 9 ]" van het Arduino-component. Deze pin schakelt de GSM-module aan/uit
Stap 6: Text Value Component Toevoegen voor "GSM Ready" Indicatie

De GSM-module heeft initialisatietijd nodig. We sturen "GSM Ready" naar de seriële poort (Serial 0) wanneer de module klaar is:
- Typ "text val" in de Toolbox, selecteer "Text Value" en sleep in het ontwerpgebied
- Stel de "Value" property in op "GSM Ready"
- Verbind "Ready" output van GSM1 met "In" van TextValue1
- Verbind "Out" van TextValue1 met "In" van "Serial[ 0 ]" (USB-seriële poort)
Stap 7: Short Message Module & Send SMS Functie Toevoegen

- Selecteer GSM1 in het ontwerpgebied
- In Object Inspector, klik op "..." bij "Module" property
- Selecteer "Short Message" en klik op "+" om toe te voegen
- Klik op "..." bij "Functions" van de "Short Message" module
- Selecteer "Send SMS" en klik op "+"
Stap 8: Send SMS Configureren & Ontvangen Berichten Doorsturen

- Stel "Address" in op het telefoonnummer waar je de SMS naartoe wilt sturen (voor test: je eigen SIM-nummer, dan ontvang je je eigen berichten terug)
- Selecteer "Text" property, klik op de "Pin" knop, selecteer "String SinkPin" – dit voegt een "Text" input pin toe aan de "Send SMS" functie
- Sluit de element-editor dialogen
- Verbind "Out" van "MessageInfo" blok van GSM1 met "In" van "Serial[ 0 ]" – dit stuurt ontvangen SMS-info naar de seriële monitor
Stap 9: Char To Text Component Toevoegen

De seriële poort ontvangt één karakter per keer. Om een volledige SMS te versturen, moeten we karakters verzamelen tot een tekst:
- Typ "char" in de Toolbox, selecteer "Char to Text" en sleep in het ontwerpgebied
- Verbind "Out" van "Serial[ 0 ]" met "In" van CharToText1
- Verbind "Out" van CharToText1 met "Text" input pin van "Send SMS" van GSM1
Stap 10: Delay Component Toevoegen voor Betrouwbare Verzending

- Typ "delay" in de Toolbox, selecteer "Delay" en sleep in het ontwerpgebied
- Stel "Interval" in op "100" (ms)
- Verbind "Out" van CharToText1 met "In" van Delay1
- Verbind "Out" van Delay1 met "Clock" input pin van "Send SMS" van GSM1
Stap 11: Arduino Code Genereren, Compileren & Uploaden

- In Visuino: druk F9 of klik op de generatie-knop om Arduino-code te genereren en Arduino IDE te openen
- In Arduino IDE: klik op Upload om te compileren en uploaden
Stap 12: En Spelen!





Gefeliciteerd! Je hebt het project voltooid.
- Afbeelding 1: Aangesloten en gevoed project
- Afbeelding 2: Volledig Visuino-diagram
- Afbeelding 3: Na ~30 seconden verschijnt "GSM Ready" in de seriële terminal
- Afbeelding 4: Type tekst, klik "Send" – de tekst wordt als SMS verstuurd
- Afbeelding 5: Als je je eigen nummer als bestemming instelde, ontvang je het bericht terug en wordt het getoond in de terminal
Je kunt ook SMS-berichten van andere telefoons sturen naar het nummer – ze verschijnen in de seriële terminal.
Het Visuino-projectbestand is bijgevoegd: F1FP7L0IQS4L35B.zip – download en open in Visuino.
Productieproces
- Betrouwbaar Arduino RFID Aanwezigheidssysteem Aangedreven door Python
- DHT11 Temperatuur- & Vochtigheidsensor Project met LED-indicatoren en Piezo-luidspreker
- Arduino Temperatuurbewaking & Realtime Klok met 3.2" TFT-display
- Bestuur Je Roomba Create 2 Met Arduino En Android: Stapsgewijze Handleiding
- Bouw een DIY Voltmeter met Arduino en Nokia 5110 Display – Stap-voor-Stap Handleiding
- Arduino & MPU6050: Precieze Servomotor Besturing met SG90 & MG996R
- Real-time Bosbrandbewakingssysteem met SMS-alarmen
- u-blox LEA‑6H GPS Module: Arduino & Python Integratie Handleiding
- Temperatuur en Vochtigheid met DHT11 op Blynk - Stap-voor-Stap Arduino Tutorial
- Spraakherkenning & Synthese Meesteren op Arduino Due
- Bouw een 4x4x4 LED-kubus met Arduino Uno & 1Sheeld – Interactief LED-project