1. Trang chủ
  2. » Giáo Dục - Đào Tạo

ĐỒ án KỸ THUẬT VI XỬ LÝ THIẾT KẾ VÀ ĐIỀU KHIỂN CẢNH BÁO độ ẩm đất QUA SMS

29 16 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 29
Dung lượng 0,97 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Title: a system and activated sim TÓM TẮT Hệ thống tự động ngày càng trở nên quan trọng trong cuộc sống con người hiện đại.Việc nghiên cứu các hệ thống tự động cũng trở nên phổ biến và

Trang 1

TRƯỜNG ĐẠI HỌC CẦN THƠ KHOA CÔNG NGHỆ

BỘ MÔN ĐIỆN TỬ VIỄN THÔNG

Sinh viên thực hiện:

NGUYỄN THỊ BẢO TRÂN

Trang 2

HỆ THỐNG KÍCH HOẠT SIM VÀ CARD

ABSTRACT

System automatic day as return and will be important in cuoc song con people Current max Failed to nghien cuu the system automatic are also return and will be popular and Multiline as higher than Following

is one of a system automatic: enabled sim Because our goal is to help save time, effort and money, while ensuring we can use the sim best way At the same time other purposes and for human applications can

be expanded scale To implement this system we use sim908 mudule Type mudule sim integrated GPRS and GPS

Keywords: automated system, activated sim

Title: a system and activated sim

TÓM TẮT

Hệ thống tự động ngày càng trở nên quan trọng trong cuộc sống con người hiện đại.Việc nghiên cứu các hệ thống tự động cũng trở nên phổ biến và đa dạng hơn Dưới đây là một hệ thống tự động:kích hoạt sim

Vì mục đích giúp ta tiết kiệm được thời gian, công sức và tiền bạc nhưng vẫn đảm bảo ta có thể sử dụng được sim 1 cách tôt nhất Đồng thời nhằm mục đích khác và ứng dụng cho con người ta có thể mở rộng qui mô lớn Để thực hiện hệ thống này ta sử dụng mudule sim908 Loại mudule sim được tích hợp GPRS và GPS

Từ khóa: Hệ thống tự động,kích hoạt sim

Trang 3

2 PHƯƠNG TIỆN VÀ PHƯƠNG PHÁP NGHIÊN CỨU

2.1 Phương tiện

Để hoàn thành đồ án này chúng ta phải sử dụng msp430 có tích hợp UART, mudule sim800L, phần mền Proteus nhằm mô phỏng kết quả, phần mền IAR Embedded Wordbech,phần mền hercules

+ USCI_Ax thì hỗ trợ các chế độ giao tiếp: UART, IrDA, SPI

Đặc điểm của UART:

-7 hoặc 8 bit data với bit kiểm tra chẵn lẽ hoặc không

- Có thanh ghi dịch, thanh ghi đệm truyền và nhận độc lập

- Bắt đầu truyền và nhận dữ liệu từ bit LSB hoặc MSB

- Có khả năng phát hiện cạnh bắt đầu được truyền đến và tự động được đánh thức từ chế độ tiết kiệm nguồn

- Tốc độ baud có thể lập trình, có sự điều chỉnh và bổ sung để nâng cao độ chính xác

- Có cờ trạng thái dùng cho phát hiện và ngăn chặn lỗi

Trang 4

-Khi UCOS16=0, dùng cho thiết lập tốc độ baud ở nguồn tần số thấp

Tốc độ baud tối đa bằng 1/3 lần tần số của nguồn xung clock

+ UCA0BRx = INT(N)

+ UCBRSx = round (( N − INT(N)) × 8 )

Với N:

-Khi UCOS16=1, dùng cho thiết lập tốc độ baud ở nguồn tần số

cao Tốc độ baud tối đa bằng 1/16 lần tần số của nguồn xung clock

+ UCBRx = INT(N/16)

+ UCBRFx = round (((N/16) − INT (N/16)) × 16

2.2.2 Khối Sim 800L

Mạch GSM GPRS SIM800L Mini giao tiếp với Vi điều kiển qua giao tiếp

UART (lưu ý với Vi điều khiển sử dụng 5VDC cần mắc thêm mạch chuyển

mức Logic hoặc trở phân áp sang 3.3VDC để tránh làm cháy mạch), thích

hợp với các ứng dụng gọi điện nhắn tin SMS GSM, GPSR

Thông số kỹ thuật:

Nguồn cấp: 4.2VDC , có thể sử dụng với nguồn dòng thấp từ

500mAh trở lên (như cổng USB, nguồn từ Board Arduino) Nhưng khuyên

các bạn nên dùng nguồn có dòng và áp đủ 4.2V-1A để đảm bảo mạch

Trang 5

Chức năng các chân:

 VCC: Nguồn vào 4.2V.

 TXD: Chân truyền Uart TX

 RXD: Chân nhận Uart RX

 DTR : Chân UART DTR, thường không xài

 SPKP, SPKN: ngõ ra âm thanh, nối với loa để phát âm thanh (8

Ohm-0.87W)

 MICP, MICN: ngõ vao âm thanh, phải gắn thêm Micro để thu âm

thanh

 Reset: Chân khởi động lại Sim800L (thường không xài)

 RING : báo có cuộc gọi đến

 GND: Chân Mass, cấp 0V

2.2.3 Khối Phím Điều Khiển

Các chân thường trực mức

cao, khi nhấn nút các chân sẽ trở

về mức thấp, tùy vào cách nối

chân vào msp430 mà chân có

nhiệm vụ thực hiện lệnh gọi hay

nhắn tin

2.2.4 Khối hiển thị LCD

Khối hiển thị LCD 16x2

- LCD 16x2 là một loại màn hình tinh thể lỏng hiển thị 16 kí tự và

có hai dòng hiển thị, mổi kí tự tạo nên từ ma trận điểm 5x7 hoặc 5x10

- Có thể giao tiếp ở chế độ 4bit hoặc 8 bit, tốc độ giao tiếp BUS 2MHz

Trang 6

-Sơ đồ chân của LCD:

Chân 1 - Vss điện thế 0V ;

Chân 2 - Vcc điện thế +5V;

Chân 3 - Vee chỉnh độ tương phản;

Chân 4 - RS, RS = 0 thanh ghi lệnh, RS = 1 thanh ghi dữ liệu;

Chân 5 - R/W, R/W = 0 ghi dữ liệu, R/W = 1 dọc dữ liệu

Chân 6 - E chân cho phép thực thi lệnh;

Chân 7 - DB0 đến 14-DB7 chân dữ liệu

Chân 15 - A chân Anot của đèn nền LCD;

Chân 16 - K chân Katot của đèn nền LCD

- Nguyên tắc hoạt động: các chân 1,2,3 là các chân VSS , VDD, VEE

trong đó VSS chân nối đất , VEE chân chọn độ tương phản chân này

được chọn qua 1 biến trở 10K một đầu nối VCC , một đầu nối mass

Chân VDD nối dương nguồn Chân chọn thanh ghi RS (Register

Select): Có hai thanh ghi trong LCD, chân RS(Register Select) được

dùng để chọn thanh ghi, như sau: Nếu RS = 0 ở chế độ ghi lệnh như xóa

màn hình, bật tắt con trỏ…

Nếu RS=1 ở chế độ ghi dữ liệu như hiển thị ký tự, chữ số lên màn hình

Chân đọc/ ghi (R/W): Đầu vào đọc/ghi cho phép người dùng ghi thông

tin lên LCD khi R/W=1

- Chân cho phép E (Enable): Chân cho phép E được sử dụng bởi LCD

để chốt dữ liệu của nó Khi dữ liệu được đến chân dữ liệu thì cần có 1

xung từ mức cao xuống mức thấp ở chân này để LCD chốt dữ liệu ,

xung này phải có độ rộng tối thiểu 450ns

- Chân D0-D7 : Đây là 8 chân dữ liệu 8 bit, được dùng để gửi thông tin

lên LCD hoặc đọc nội dung của các thanh ghi trong LCD Để hiển thị

Trang 7

các chữ cái và các con số chúng ta gửi các mã ASCII của các chữ cái và các con số tương ứng đến các chân này khi bật RS =1;

2.2.5 Cảm biến độ ẩm đất Soil Moisture Sensor

Cảm biến độ ẩm đất Soil Moisture Sensor thường được sử dụng trong các

mô hình tưới nước tự động, vườn thông minh, , cảm biến giúp xác định độ

ẩm của đất qua đầu dò và trả về giá trị Analog, Digital qua 2 chân tương

ứng để giao tiếp với Vi điều khiển để thực hiện vô số các ứng dụng khác

nhau

Thông số kỹ thuật:

 Điện áp hoạt động: 3.3~5VDC

 Tín hiệu đầu ra:

o Analog: theo điện áp cấp nguồn tương ứng

o Digital: High hoặc Low, có thể điều chỉnh độ ẩm mong muốn bằng biến trở thông qua mạch so sánh LM393 tích hợp

 Kích thước: 3 x 1.6cm

Sơ đồ chân:

VCC 3 3V ~ 5V

GND GND của nguồn ngoài

DO Đầu ra tín hiệu số (mức cao hoặc mức thấp)

AO Đầu ra tín hiệu tương tự (Analog)

CODE CẢNH BÁO ĐỘ ẨM ĐẤT QUA SMS

unsigned long am0;//bien lay gia tri adc10mem

float am1;//gia tri thuc

int doam;//gia tri nguyen

unsigned int getadcvalue(void);//ham lay gia tri bien doi adc

int doamset = 60;

Trang 8

unsigned int i,j,a,b,c,d,e,k,h,l;

Trang 10

P1SEL = BIT1 + BIT2 ; // P1.1 = RXD, P1.2=TXD

P1SEL2 = BIT1 + BIT2 ; // P1.1 = RXD, P1.2=TXD

UCA0CTL1 |= UCSSEL_2; // SMCLK

UCA0BR0 = 104; // 1MHz 9600

UCA0BR1 = 0; // 1MHz 9600

UCA0MCTL = UCBRS0; // Modulation UCBRSx = 1

UCA0CTL1 &= ~UCSWRST; // **Initialize USCI state machine**

Trang 11

P1IE |= 0x18; // P1.31 & P1.4 interrupt enabled

P1IES |= 0x18; // P1.3 & P1.4 Hi/lo edge

P1IFG &= ~0x18; // P1.3 & P1.4 IFG cleared

P2DIR |= BIT1 + BIT3 + BIT4 + BIT5 + BIT6 + BIT7 ;//ngo ra dieu khien lcd P2SEL &= ~(BIT6 | BIT7); // su dung chuc nang tich hop

P2SEL2 &= ~(BIT6 | BIT7); // chon bit P2.6 và P2.7 là ngõ ra,

P2OUT &= ~(BIT6 | BIT7); //bo chuc nang mac dinh là ngõ vào dao dong

//P1OUT &= ~BIT5;

Trang 12

lcd_puts("%");

lcd_gotoxy(9,0); lcd_puts("%");

//lcd_gotoxy(13,1); lcd_puts("%");

P1DIR |= BIT5; //ngo ra bat den

P1OUT &=~ BIT5;

_BIS_SR(GIE);//cho phep ngat toan cuc

// adc Cam bien do am dat

// ADC10CTL0 &=~ ENC; //xoa bit ENC de thay doi cau hinh

ADC10CTL0 =REFON + ADC10SHT_2 + ADC10ON; // dien the tham chieu avcc=3.3V, toc do lay mau va

giu mau la 16*adcclock, bat adc10

Trang 13

am0 = getadcvalue();

am1 = (float)(100-((am0-370)/6.3));

///hien thi lcd

doam = (int)am1/1;/////nt////

if(doam <0) doam=0;

else if(doam >99) doam=99;

#pragma vector = PORT1_VECTOR

interrupt void Port_1(void)

{if (P1IFG & BIT3)

Trang 14

P1IFG &= ~BIT3;}//xoa co ngat de cho phep ngat lai

if(P1IFG & BIT4)

{if(doamset<94)

{doamset ;

lcd_gotoxy(8,1); lcd_2n(doamset);

lcd_gotoxy(11,1); lcd_2n(doamset+5);

lcd_gotoxy(13,1); lcd_puts("% ");}

P1IFG &= ~BIT4;}

Trang 15

union reg* P2_DIR=(union reg*)0x2a; //khai bao dia chi o nho

union reg* P2_OUT=(union reg*)0x29;

union reg* P2_SEL=(union reg*)0x2e;

union reg* P2_IN=(union reg*)0x28;

Trang 16

union reg* P1_SEL=(union reg*)0x26;

union reg* P1_DIR=(union reg*)0x22; //khai bao dia chi o nho

union reg* P1_OUT=(union reg*)0x21;

union reg* P1_IN=(union reg*)0x20;

/* Display ON/OFF Control definitions */

#define DON 0x0F /* Display on */

#define DOFF 0x0B /* Display off */

#define CURSOR_ON 0x0F /* Cursor on */

#define CURSOR_OFF 0x0D /* Cursor off */

#define BLINK_ON 0x0F /* Cursor Blink */

#define BLINK_OFF 0x0E /* Cursor No Blink */

/* Cursor or Display Shift definitions */

#define SHIFT_CUR_LEFT 0x04 /* Cursor shifts to the left */

#define SHIFT_CUR_RIGHT 0x05 /* Cursor shifts to the right */

#define SHIFT_DISP_LEFT 0x06 /* Display shifts to the left */

Trang 17

#define SHIFT_DISP_RIGHT 0x07 /* Display shifts to the right */

/* Function Set definitions */

#define FOUR_BIT 0x2C /* 4-bit Interface */

#define EIGHT_BIT 0x3C /* 8-bit Interface */

#define LINE_5X7 0x30 /* 5x7 characters, single line */

#define LINE_5X10 0x34 /* 5x10 characters */

#define LINES_5X7 0x38 /* 5x7 characters, multiple line */

//=========================================================

=====

#define LCD_RS P2_OUT -> _BIT.b1

#define LCD_RS_DIR P2_DIR -> _BIT.b1

#define LCD_EN P2_OUT -> _BIT.b3

#define LCD_EN_DIR P2_DIR -> _BIT.b3

#define LCD_DATA_4 P2_OUT -> _BIT.b4

#define LCD_DATA_4_DIR P2_DIR -> _BIT.b4

#define LCD_DATA_5 P2_OUT -> _BIT.b5

#define LCD_DATA_5_DIR P2_DIR -> _BIT.b5

#define LCD_DATA_6 P2_OUT -> _BIT.b6

#define LCD_DATA_6_DIR P2_DIR -> _BIT.b6

#define LCD_DATA_7 P2_OUT -> _BIT.b7

#define LCD_DATA_7_DIR P2_DIR-> _BIT.b7

/****************************************************************************

* MODULE PRIVATE FUNCTIONS:

Trang 18

* void lcd_delay_us (unsigned long t);

* void lcd_delay_ms (unsigned long t);

* void lcd_put_byte(unsigned char rs, unsigned char data);

*

******************************************************************************/

//=========================================================

=====================

//CHUONG TRINH DELAY:

void delay_ms(unsigned int ms){

Trang 19

for (i = 0; i<t; i++ )

Trang 21

* void lcd_gotoxy(unsigned char col, unsigned char row)

* void lcd_putc(char c)

* void lcd_puts(const char* s)

* void lcd_clr_puts (const char* s1 , const char* s2)

* void lcd_put_num (unsigned long val, char dec, unsigned char neg)

Trang 22

lcd_delay_ms(500);

lcd_put_byte(0,0x30);

lcd_delay_ms(500);

lcd_put_byte(0,0x32);

lcd_delay_ms(500); // delay for LCD reset

lcd_delay_ms(2); // wait for LCD

lcd_put_byte(0,FOUR_BIT & LINES_5X7); // Set LCD type

lcd_delay_ms(2); // wait for LCD

lcd_put_byte(0,DOFF&CURSOR_OFF&BLINK_OFF); // display off

lcd_delay_ms(2); // wait for LCD

lcd_put_byte(0,DON&CURSOR_OFF&BLINK_OFF); // display

on

lcd_delay_ms(2); // wait for LCD

lcd_put_byte(0,0x01); // clear display and move cursor to home

lcd_delay_ms(2); // wait for LCD

lcd_put_byte(0,SHIFT_CUR_LEFT); // cursor shift mode

lcd_delay_ms(2); // wait for LCD

lcd_put_byte(0,0x01); // clear display and move cursor to home

lcd_delay_ms(2); // wait for LCD

}

//*****************************************************************************

// Clear the LCD

Trang 23

//*****************************************************************************

void lcd_clear(void)

{

lcd_put_byte(0,0x01); // display off

lcd_delay_ms(2); // wait for LCD

}

//*****************************************************************************

// Move the pointer of LCD to coordinate (column, row)

// Note that cursor is at (0,0) after reset of clear LCD

Trang 24

// Put a writable character on LCD

// If the character is '\f', clear the LCD

// If the character is '\n', move cursor to the second line

Trang 25

// Put a constant or a number stored in 'val' on LCD

// The number must be multiplied and convert in type "unsigned long"

// or "unsigned int"

// dec: amount of digits after '.'

// neg: sign of the number, neg = 0 if the number is positive

//

// Example 1: lcd_put_num(val, 3, 0); // val = 12345

Trang 26

// will put "12.345" on the LCD

// Example 2: lcd_put_num(val, 6, 1); // val = 12345

// will put "-0.012345" on the LCD

Trang 29

Khó khăn: Do lịch thi qúa nhiều nên gần báo cáo mới có thể thực hiện

đồ án, lần đầu tiếp xúc msp430 và modulesim nên có một số khó khăn nhất định

3 ĐỀ NGHỊ

Qua quá trình làm mạch và chạy thử nhận ra rằng ứng dụng mudule sim800l vào cuộc sống hiện nay là khá lớn,đề tài có thể mở rộng lên,thực hiện thêm nhiều chứa năng, khai thác tối đa chức năng mudule sim800l và msp430

TÀI LIỆU THAM KHẢO

[1] Giáo trình Kỹ Thuật Vi Điều Khiển MSP430FG4618 của thầy Trần Hữu danh

Ngày đăng: 18/11/2021, 08:05

HÌNH ẢNH LIÊN QUAN

Thứ tự các chân như hình: - ĐỒ án KỸ THUẬT VI XỬ LÝ THIẾT KẾ VÀ ĐIỀU KHIỂN CẢNH BÁO độ ẩm đất QUA SMS
h ứ tự các chân như hình: (Trang 4)
- LCD 16x2 là một loại màn hình tinh thể lỏng hiển thị 16 kí tự và có hai dòng hiển thị, mổi kí tự tạo nên từ ma trận điểm 5x7 hoặc 5x10 - ĐỒ án KỸ THUẬT VI XỬ LÝ THIẾT KẾ VÀ ĐIỀU KHIỂN CẢNH BÁO độ ẩm đất QUA SMS
16x2 là một loại màn hình tinh thể lỏng hiển thị 16 kí tự và có hai dòng hiển thị, mổi kí tự tạo nên từ ma trận điểm 5x7 hoặc 5x10 (Trang 5)
-Sơ đồ chân của LCD: - ĐỒ án KỸ THUẬT VI XỬ LÝ THIẾT KẾ VÀ ĐIỀU KHIỂN CẢNH BÁO độ ẩm đất QUA SMS
Sơ đồ ch ân của LCD: (Trang 6)
Nếu RS=1 ở chế độ ghi dữ liệu như hiển thị ký tự, chữ số lên màn hình. Chân đọc/ ghi (R/W): Đầu vào đọc/ghi cho phép người dùng ghi thông Chân đọc/ ghi (R/W): Đầu vào đọc/ghi cho phép người dùng ghi thông  - ĐỒ án KỸ THUẬT VI XỬ LÝ THIẾT KẾ VÀ ĐIỀU KHIỂN CẢNH BÁO độ ẩm đất QUA SMS
u RS=1 ở chế độ ghi dữ liệu như hiển thị ký tự, chữ số lên màn hình. Chân đọc/ ghi (R/W): Đầu vào đọc/ghi cho phép người dùng ghi thông Chân đọc/ ghi (R/W): Đầu vào đọc/ghi cho phép người dùng ghi thông (Trang 6)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w