Xem Nhiều 5/2022 # Hướng Dẫn Lập Trình Module Sim900A Và Arduino # Top Trend

Xem 9,801

Cập nhật thông tin chi tiết về Hướng Dẫn Lập Trình Module Sim900A Và Arduino mới nhất ngày 20/05/2022 trên website Ifdvietnam.org. Hy vọng nội dung bài viết sẽ đáp ứng được nhu cầu của bạn, chúng tôi sẽ thường xuyên cập nhật mới nội dung để bạn nhận được thông tin nhanh chóng và chính xác nhất. Cho đến thời điểm hiện tại, bài viết này đã đạt được 9,801 lượt xem.

--- Bài mới hơn ---

  • Học Arduino Bài 2 : Những Điều Cơ Bản Về Arduino
  • Cách Tự Học Đàn Guitar Điệu Bolero
  • Hướng Đẫn Chơi Guitar Điệu Bolero Chỉ Với 3 Bí Quyết Đơn Giản Sau
  • Tạo Usb Boot Cài Windows 10 Với Rufus
  • Tạo Usb Boot Bằng Rufus
  • Xin chào các bạn!

    Hôm nay, mình hướng dẫn các bạn cách lập trình Arduino Uno (Trong bài mình sử dụng mạch module Sim900A với Uno VN01)

    Cụ thể, bài viết hướng dẫn các bạn các phần sau:

    • 1 số lệnh AT cơ bản thường dùng với Module Sim900A,
    • Cách kết nối Module Sim900A với Arduino và module Relay để điều khiển bật /tắt 1 thiết bị điện
    • Code tham khảo trên Arduino, để điều khiển bật/tắt thiết bị bằng cách gửi tin nhắn tới Module Sim900A

    Một số lện AT thường dùng với module Sim900A

    1.Lệnh chung

    Mô tả : Kiểm tra đáp ứng của Module Sim 900A, nếu trả về OK thì Module hoạt động

    Mô tả : Chế độ echo là chế độ phản hồi dữ liệu truyền đến của module Sim 900A,

    x = 1 bật chế độ echo , x = 0 tắt chế độ echo (bạn nên tắt chế độ này)

    Mô tả : cài đặt tốc độ giao tiếp dữ liệu với module Sim 900A, chỉ cài được các tốc độ sau

    baud rate : 0 (auto), 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200

    2.Lệnh điều khiển cuộc gọi

    Mô tả : Lệnh thực hiện cuộc gọi

    Mô tả : Lệnh thực hiện kết thúc cuộc gọi , hoặc cúp máy khi có cuộc gọi đến

    Mô tả : Lệnh thực hiện chấp nhận khi có cuộc gọi đến

    Chú ý: khi nhân được cuộc gọi đến thì Module Sim 900A sẽ phản hồi về như sau

    RING

    RING

    Nếu muốn hiển thị thông tin người gọi đến các bạn thực hiên thêm lệnh sau

    3.Lệnh điều khiển tin nhắn

    Mô tả : Lệnh đưa SMS về chế độ Text , phải có lệnh này mới gửi nhận tin nhắn dạng Text

    Cấu trúc gửi tin nhắn

    Gửi nội dụng tin nhắn : ” This is a test

    Gửi mã Ctrl+Z hay 0x1A để kết thúc nội dung và gửi tin nhắn

    Mô tả : Đọc một nhắn vừa gửi đến, lệnh được trả về nội dung tin nhắn, thông tin người gửi, thời gian gửi

    Chú ý: Nếu Module Sim 900A nhận được một tin nhắn bất kỳ, thì nó gửi về cụm “+CMTI ” để thông báo

    Trong trường hợp bạn muốn hiển thị trực tiếp nội dung tin nhắn(không lưu vào bộ nhớ của sim) bạn gửi lệnh sau

    nếu các bạn test trên máy tính sau mỗi lệnh các bạn chỉ cần ấn phím Enter

    Ví dụ : gõ AT rồi ấn Enter

    Chuẩn bị phần cứng và kết nối

    1 Nguồn 12VDC/1A

    http://mlab.vn/1272384-adapter-dc-12v-1a.html

    1 Sim900A Shield

    http://mlab.vn/408321-module-sim900a.html

    1 Uno VN01

    http://mlab.vn/1697809-uno-vn01-arduino-uno-phien-ban-viet-nam.html

    http://mlab.vn/186624-module-relay-12vdc.html

    1 thiết bị điện mà bạn muốn điều khiển. Trong bài hướng dẫn này mình sử dụng bóng đèn 12V.

    Dây kết nối

    Bạn có thể xem hình sẽ thấy trực quan hơn

    Quy trình kết nối ,

    Đơn giản, chỉ cần cắm Shield Sim900A lên kit Arduino Uno

    Lúc này ác dây chân Gnd, Rx, Tx, PWR_KEY được kết nối giữa Module Sim900A và Arduino

    Tiếp theo dùng dây để kết nối các thành phần còn lại (bạn kết nối như hình mô tả trên cùng)

    Cắm dây USB 5V vào Arduino , Cắm nguồn 12V vào Shield Sim900A để cấp nguồn cho module Sim900A hoạt động

    Như vậy ta đã chuẩn bị xong phần cứng

    Phần lập trình , các bạn mở Arduino IDE lên và copy đoạn code dưới vào

    Trong code mình đã ghi chú khá chi tiết

    ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

    // Bai toan : nhan tin dieu khien bat tat bong den

    // Neu noi dung tin nhan la : LAMP_ON thi bat bong den

    // Neu noi dung tin nhan la : LAMP_OFF thi tat bong den

    const String myphone = “01689951815”; // Thay so cua ban vao day

    const int PWR_KEY = 9; // Chan so 9 arduino uno dung lam chan dieu khien bat tat module sim900A

    const int RELAY = 12; // Chan so 12 arduino uno dung lam chan dieu khien dong/cat Relay de On/Off den

    String RxBuff = “”; // Khai bao bo dem nhan du lieu

    // Tat ca du lieu nhan ve tu module sim deu duoc luu trong day

    int Index_Lamp_On = -1; // vi tri cua chuoi “LAMP_ON”

    int Index_Lamp_Off = -1; // vi tri cua chuoi “LAMP_OFF”

    void Gsm_Power_On(); // Bat module Sim 900A

    void Gsm_Init(); // Cau hinh Module Sim 900A

    void Gsm_MakeCall(String phone); // Ham goi dien

    void Gsm_MakeSMS(String phone,String content); // Ham nhan tin

    Serial.begin(9600); // Cau hinh UART de giao tiep module Sim 900A

    digitalWrite(RELAY, LOW); // Khai bao chan de dieu khien dong cat RELAY

    digitalWrite(PWR_KEY, LOW); // Khai bao chan PWR_KEY de dieu khien bat bat module Sim 900A

    Gsm_Power_On(); // Bat Module Sim 900A

    Gsm_Init(); // Cau hinh module Sim 900A

    Gsm_MakeCall(myphone); // Test cuoc goi

    Gsm_MakeSMS(myphone,”I’m a test”); // Test tin nhan

    delay(1000); // tre 1s

    Index_Lamp_On = RxBuff.indexOf(“LAMP_ON”); // Tim vi tri cua chuoi “LAMP_ON” trong bo dem nhan RxBuff

    RxBuff = “”; // Xoa bo dem

    digitalWrite(RELAY, HIGH); // Dong Relay de bat den // Bat bong den

    { // Neu khong tim thay “LAMP_ON” thi tiep tuc tim “LAMP_OFF”

    Index_Lamp_Off = RxBuff.indexOf(“LAMP_OFF”); // Tim vi tri cua chuoi “LAMP_OFF” trong bo dem nhan RxBuff

    RxBuff = “”; // Xoa bo dem

    digitalWrite(RELAY, LOW); // Cat Relay de tat den

    void serialEvent() { // Chuong trinh ngat nhan du lieu

    while (Serial.available()) { // Doi den khi co du lieu nhan ve

    char inChar = (char)Serial.read(); // Doc mot byte du lieu vua nhan ve

    RxBuff += inChar; // Ghi byte do vao bo dem nhan RxBuff (ta se xu ly RxBuff trong vong loop())

    digitalWrite(PWR_KEY, HIGH); // Du chan PWR_KEY len cao it nhat 1s

    delay(1500); // o day ta de 1,5s

    digitalWrite(PWR_KEY, LOW); // Du chan PWR_KEY xuong thap

    delay(100); // cac ban xem trong Hardware designed sim900A de hieu ro hon

    Serial.println(“ATE0”); // Tat che do phan hoi (Echo mode)

    Serial.println(“AT+IPR=9600”); // Dat toc do truyen nhan du lieu 9600 bps

    Serial.println(“AT+CMGF=1”); // Chon che do TEXT Mode

    Serial.println(“AT+CLIP=1”); // Hien thi thong tin nguoi goi den

    Serial.println(“AT+CNMI=2,2”); // Hien thi truc tiep noi dung tin nhan

    void Gsm_MakeCall(String phone)

    Serial.println(“ATD” + phone + “;”); // Goi dien

    delay(10000); // Sau 10s

    Serial.println(“ATH”); // Ngat cuoc goi

    void Gsm_MakeSMS(String phone,String content)

    Serial.println(“AT+CMGS=”” + phone + “””); // Lenh gui tin nhan

    Serial.print(content); // Gui noi dung

    Serial.print((char)26); // Gui Ctrl+Z hay 26 de ket thuc noi dung tin nhan va gui tin di

    delay(5000); // delay 5s

    ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

    – Nạp chương trình xuống Chip

    – Giao tiếp Module Sim900A

    Cú pháp ” LAMP_ON” bật đèn

    Chúc các bạn thành công!

    --- Bài cũ hơn ---

  • Giới Thiệu Về Lập Trình Arduino
  • Hướng Dẫn Lập Trình Arduino Cơ Bản
  • So Sánh Yamaha Nvx 125 Với Nvx 155
  • Làm Nồi Xe Tay Ga Nvx Uy Tín Tại Tp.hồ Chí Minh
  • Đánh Giá Xe Tay Ga Yamaha Nvx 125
  • Bạn đang xem bài viết Hướng Dẫn Lập Trình Module Sim900A Và Arduino trên website Ifdvietnam.org. Hy vọng những thông tin mà chúng tôi đã chia sẻ là hữu ích với bạn. Nếu nội dung hay, ý nghĩa bạn hãy chia sẻ với bạn bè của mình và luôn theo dõi, ủng hộ chúng tôi để cập nhật những thông tin mới nhất. Chúc bạn một ngày tốt lành!

  • Web hay
  • Links hay
  • Push
  • Chủ đề top 10
  • Chủ đề top 20
  • Chủ đề top 30
  • Chủ đề top 40
  • Chủ đề top 50
  • Chủ đề top 60
  • Chủ đề top 70
  • Chủ đề top 80
  • Chủ đề top 90
  • Chủ đề top 100
  • Bài viết top 10
  • Bài viết top 20
  • Bài viết top 30
  • Bài viết top 40
  • Bài viết top 50
  • Bài viết top 60
  • Bài viết top 70
  • Bài viết top 80
  • Bài viết top 90
  • Bài viết top 100