Бездротова дошка оголошень є дуже вибірковим терміном для цього проекту, оскільки вона має дуже широкий обсяг, а не просто просту дошку оголошень. Спочатку ми повинні зрозуміти мету цього проекту, в цій системі ми можемо відображати повідомлення чи повідомлення на якомусь пристрої відображення, наприклад РК-дисплеї, і це повідомлення можна легко встановити або змінити з будь-якої точки світу, просто за допомогою функції SMS вашого мобільний телефон. Яке б повідомлення ми не хотіли відображати, просто надішліть SMS із цим текстом із певними префіксами та суфіксами.
Це дуже корисно в готелях, торгових центрах, коледжах, офісах і може використовуватися де завгодно, навіть удома. Як ви можете встановити повідомлення на кшталт «Не турбувати» біля входу в номер вашого готелю, можете встановити повідомлення біля дверей вашого будинку, коли вас немає, і, звичайно, воно використовується як дошка оголошень у школах, коледжах, кінозалах тощо. І так, це просто не проста дошка повідомлень, корисність цього проекту полягає в тому, що ви можете встановити або змінити повідомлення або повідомлення з будь-якого місця, просто надіславши SMS з вашого телефону. Ви також можете перевірити подібний проект, але на іншому типі дисплея: табло Arduino за допомогою зовнішнього світлодіодного матричного дисплея P10.
Раніше ми використовували SMS-засоби мобільного телефону для домашньої безпеки та дистанційного керування побутовою технікою: датчик PIR та система безпеки на базі GSM та система домашньої автоматизації на основі Arduino
U
Робоче пояснення:
У цьому проекті Arduino UNO використовується для контролю всього процесу, модуль GSM (SIM900A) для отримання SMS / повідомлення, надісланого з мобільного телефону, та РК-дисплей для відображення повідомлення.
Ми можемо надіслати якесь повідомлення або повідомлення, наприклад, “#Circuit Digest *”, “#We We Welcome You *” через SMS. Тут ми використовували префікс у рядку повідомлення, який є "#". Цей префікс використовується для ідентифікації початку повідомлення або повідомлення. А '*' використовується як суфікс для позначення кінця повідомлення або повідомлення.
Коли ми відправляємо SMS з мобільного телефону на модуль GSM, тоді GSM отримує це SMS і відправляє його на Arduino. Тепер Arduino прочитав це SMS та витягнув основне повідомлення з отриманого рядка та зберігав в іншому рядку. А потім надсилає витягнуте повідомлення на РК-дисплей 16x2 за допомогою відповідних команд.
Подальша робота цієї системи пояснюється в розділі "Опис коду" нижче. Перш ніж ми займемося деталями програмування, ми повинні знати про модуль GSM.
Модуль GSM:
Модуль GSM використовується в багатьох комунікаційних пристроях, що базуються на технології GSM (Глобальна система мобільного зв'язку). Він використовується для взаємодії з мережею GSM за допомогою комп’ютера. Модуль GSM розуміє лише команди AT і може відповідати відповідним чином. Найбільш основною командою є “AT”, якщо GSM відповідає нормально, тоді вона працює добре, інакше вона відповідає “ERROR”. Існують різні AT-команди, такі як ATA для відповіді на дзвінок, ATD для набору дзвінка, AT + CMGR для читання повідомлення, AT + CMGS для надсилання смс тощо.), наприклад “AT + CMGS \ r”. Ми можемо використовувати GSM-модуль, використовуючи такі команди:
ATE0 Для відлуння
AT + CNMI = 2,2,0,0,0
ATD
AT + CMGF = 1
AT + CMGS = "Мобільний номер"
>> Тепер ми можемо написати своє повідомлення
>> Після написання повідомлення
Ctrl + Z Команда надсилання повідомлення (26 у десяткових кодах).
ENTER = 0x0d у шістнадцятковій формі
SIM900 є повним трьохдіапазонним / GPRS, GSM модуль, який забезпечує GSM / GPRS 850/900/1800 / 1900MHz продуктивності для передачі голосу, SMS і даних з низьким енергоспоживанням.
Опис ланцюга:
Підключення бездротової дошки оголошень за допомогою GSM та Arduino прості і показані на малюнку нижче. Тут рідкокристалічний дисплей (РК-дисплей) використовується для відображення повідомлення "Повідомлення" або повідомлення, яке надсилається через мобільний телефон у вигляді SMS. Виводи даних РК-дисплея, а саме RS, EN, D4, D5, D6, D7, підключені до цифрового виводу Arduino 7, 6, 5, 4, 3, 2. А висновок Rx і Tx модуля GSM безпосередньо підключений до Tx і Rx шпилька Arduino відповідно. А живлення модуля GSM здійснюється за допомогою 12-вольтового адаптера.
Опис коду:
Код програми легко зрозумілий; новим тут є функція ініціалізації GSN gsm_init (), яка пояснюється в кінці.
У програму насамперед ми включаємо бібліотеку для рідкокристалічного дисплея (РК), а потім визначаємо дані та керуючі штифти для РК та деякі змінні.
#включати
Після цього послідовний зв'язок ініціалізується зі швидкістю 9600 біт / с і дає напрямок використаному контакту. І ініціалізуйте модуль GSM у циклі налаштування.
void setup () {lcd.begin (16,2); Serial.begin (9600); pinMode (led, OUTPUT); digitalWrite (led, HIGH); lcd.print ("Ініціалізація GSM…"); gsm_init (); lcd.setCursor (0,0); lcd.print ("Бездротове повідомлення");
Для послідовного отримання даних ми використовуємо дві функції, одна - Serial.available, яка перевіряє, чи надходять будь-які послідовні дані, а інша - Serial.read, яка зчитує дані, що надходять послідовно.
void serialEvent () {while (Serial.available ()) {char ch = (char) Serial.read (); str = ch; якщо (ch == '*') {temp = 1; lcd.clear (); lcd.print ("Отримане повідомлення"); затримка (1000); }}}
Отримавши дані послідовно, ми зберігаємо їх у рядку, і цей рядок перевіряється на '#' та '*', щоб знайти початок і кінець Повідомлення або повідомлення. Потім, нарешті, повідомлення надрукується на РК-дисплеї за допомогою lcd.print:
void loop () {for (unsigned int t = 0; t <60000; t ++) {serialEvent (); якщо (temp == 1) {x = 0, k = 0, temp = 0; в той час як (x
Тут важлива функція ініціалізації 'gsm_init () ' для GSM, де спочатку GSM-модуль перевіряється, підключений він чи ні, посилаючи команду 'AT' до GSM-модуля. Якщо отримано відповідь OK, це означає, що він готовий. Система продовжує перевіряти наявність модуля, поки він не стане готовим або поки не буде отримано 'OK'. Потім ECHO вимикається, надіславши команду ATE0, інакше модуль GSM повторить усі команди. Тоді нарешті перевіряється доступність мережі через "AT + CPIN?" команда, якщо вставлена картка є SIM-карткою та є PIN-код, вона дає відповідь + CPIN: ГОТОВО. Це також перевіряйте неодноразово, доки мережа не буде знайдена. Це можна чітко зрозуміти з відео нижче.
порожнеча gsm_init () {lcd.clear (); lcd.print ("Пошук модуля.."); логічний at_flag = 1; while (at_flag) {Serial.println ("AT"); while (Serial.available ()> 0) {if (Serial.find ("OK")) at_flag = 0; } затримка (1000); }