Tải bản đầy đủ (.pptx) (20 trang)

Báo cáo thực hành Hệ thống cảnh báo rò rỉ khí gas

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.8 MB, 20 trang )

Báo Cáo Thực Hành
Lập Trình Hệ Thống
ĐỀ TÀI: MẠCH CẢNH BÁO RÒ RỈ KHÍ GAS
SVTH: TRẦN VĂN THANH - 13T4
GVHD: HUỲNH HỮU HƯNG


I. Yêu cầu


Tìm hiểu về mạch Arduino Uno.



Các thiết bị điện tử và cảm biến.



Cách nối dây và đẩy code vào Arduino Uno.



Hiểu được cơ bản về lập trình Arduino Uno.


II. Giới thiệu


Giới thiệu về Arduino uno.

Vi điều khiển



ATmega328 họ 8bit

Điện áp hoạt động

5V DC (chỉ được cấp qua
cổng USB)

Tần số hoạt động

16 MHz

Dòng tiêu thụ

khoảng 30mA

Điện áp vào khuyên dùng 7-12V DC
Điện áp vào giới hạn

6-20V DC

Số chân Digital I/O

14 (6 chân hardware PWM)

Số chân Analog

6 (độ phân giải 10bit)

Dòng tối đa trên mỗi chân

30 mA
I/O
Dòng ra tối đa (5V)

500 mA

Dòng ra tối đa (3.3V)

50 mA

Bộ nhớ flash

32 KB (ATmega328) với
0.5KB dùng bởi bootloader

SRAM

2 KB (ATmega328)

EEPROM

1 KB (ATmega328)


II. Giới thiệu


Giới thiệu về Arduino uno.
1.
2.

3.
4.
5.
6.

Cổng USB
JACK nguồn
Hàng Header
Hàng header thứ hai
Hàng header thứ ba
Vi điều khiển AVR


II. Giới thiệu


Giới thiệu về Arduino uno.



Các ứng dụng của Arduino uno


Robot: Arduino được dùng để làm bộ xử lý trung tâm của rất nhiều loại robot. Đó
là nhờ vào khả năng đọc các thiết bị cảm biến, điều khiển động cơ,... của Arduino.



Game tương tác: chúng ta có thể dùng Arduino để tương tác với Joystick, màn
hình,... để chơi các trò như Tetrix, phá gach, Mario... Còn nhiều game rất sáng tạo

nữa.



Máy bay không người lái



Mô phỏng Ipod.



và nhiều nhiều ứng dụng khác nữa ...


II. Giới thiệu


Giới thiệu về Arduino uno.



Các ứng dụng của Arduino uno.



Giới thiệu đề tài và ứng dụng của đề tài.


Tên đề tài: mạch cảnh báo rò rỉ khí gas




Ứng dụng:
 Sử

dụng mạch để cảnh báo sự rò rỉ khí gas trong các phòng
bếp để đảm báo an toàn tránh sự cố đáng tiếc.


III. Linh Kiện


Modul sim 900A

 SIM900(A) là module GSM/GPRS
 Module SIM900(A) có các tính năng
cơ bản của một chiếc điện thoại
như gọi điện thoại, nhắn tin, truy
cập GPRS,...


III. Linh Kiện


Cảm biến MQ2
- Nguồn hoạt động: 5V
- Loại dữ liệu: Analog
- Phạm vi phát hiện rộng
- Tốc độ phản hồi nhanh và độ nhạy

cao
- Mạch đơn giản
- Ổn định khi sử dụng trong thời gian
dài


III. Linh Kiện


Một số linh kiện khác

Loa bip

Bản mạch tự rap


III. Linh Kiện
STT

Tên linh kiện

Số lượng

1

Arduino Uno

1

120 k


2

Cảm biến khí MQ2

1

80 k

3

Modul sim 900A

1

220 k

4

Dây nối

20

10k

5

Ốc vít

6


5k

6

loa bip

7

Và một số linh kiện
khác…

1

Tổng Tiền

Giá/ đơn vị

20k

???k


IV. Cách kết nối thiết bị và module code.


Cảm biến MQ2 & loa bip


Hướng dẫn nối dây:


Arduino

Cảm biến

VCC

5V

GND

GND

A0

Digital

Arduino

loa

GND

Đầu -

Chân 6

Đầu +



IV. Cách kết nối thiết bị và module code.


Cảm biến MQ2 & loa bip


Code demo mẫu:

void setup() {
pinMode(A0, INPUT_PULLUP);
pinMode(6, OUTPUT);
}
void loop() {
if (digitalRead(A0) == 0)
digitalWrite(6, HIGH);
}
else
{
digitalWrite(6, LOW);
}
}


IV. Cách kết nối thiết bị và module code.


Modul sim 900A


Hướng dẫn nối dây

arduino

Modul sim 900A

5V

VCC

GND

GND

TX

RX(chân 4)

RX

TX(chân 3)


IV. Cách kết nối thiết bị và module code.


Modul sim 900A


Code demo mẫu:

#include <SoftwareSerial.h>

SoftwareSerial SIM900(4, 3);
void setup()
{
delay(5000);
SIM900.begin(57600);
SIM900.println("AT+CSCS=\"GSM\"");
delay(200);
}

void sendSMS(String mes)
{
SIM900.println("AT+CMGF=1\r");
delay(200);
SIM900.println("AT + CMGS
= \"+84xxxxxxxxx\"");
delay(200);
SIM900.println(mes);
delay(200);
SIM900.println((char)26);
delay(200);
SIM900.println();
}
void loop()
{
sendSMS(“nội dung SMS");
delay(20000);
}


V. Code Hoàn chỉnh của sản phẩm

Lắp đặt hệ thống


V. Code Hoàn chỉnh của sản phẩm
#include <Servo.h>
Servo servo_x,servo_lx,servo_tl,servo_k;
//Chân 3 cho servo xoay của cánh tay
const int servo_xPin = 3;
//Chân 10 cho servo lên xuống của cánh tay
const int servo_lxPin = 10;
// Chân 5 cho servo tới lui
const int servo_tlPin = 5;
//Chân 6 cho servo kẹp sản phẩm
const int servo_kPin = 6;
//Chân A0 chân input cảm biến
const int analogInpin = A0;
//Biến lưu giá trị cảm biến
static int sensorValue = 0;
// Chân điều khiển motor băng chuyền
const int role = 7;
// Biến đếm hàng
static int count = 0;
//Một số chân cài đặt led.
const int latchPin = 8;
const int clockPin = 12;
const int dataPin = 11;
const int Seg[10] = {
0b11000000,//0 - các thanh từ a-f sáng
0b11111001,//1 - chỉ có 2 thanh b,c sáng
0b10100100,//2

0b10110000,//3
0b10011001,//4
0b10010010,//5
0b10000010,//6
0b11111000,//7
0b10000000,//8
0b10010000,//9
};
//Hàm đọc giá trị cảm biến
void readSensor();
//Hàm hiển thị led theo số đếm count
void LED(int count);
//Hàm đieuè khiển cánh tay
void control_aim( );
//Hàm điều khiển băng chuyền
void motor(int sensorValue);
//Hàm cài đặt các giá trị ban đầu
void setup() {
//Hàm chính
}
void loop() {
readSensor();
if(sensorValue > 500){
//Nếu có hàng
motor();
control_aim(sensorValue);
}
else motor(sensorValue);
delay(50);
}



V. Code Hoàn chỉnh của sản phẩm
#include <SoftwareSerial.h>
SoftwareSerial SIM900(4, 3);
String textSMS = "RO RI KHI GAS";
void setup(){
delay(5000);
SIM900.begin(57600);
SIM900.println("AT+CSCS=\"GSM\"");
delay(200);
pinMode(A0, INPUT_PULLUP);
pinMode(6, OUTPUT);
}
void sendSMS(String mes)
{
SIM900.println("AT+CMGF=1\r");
delay(200);
SIM900.println("AT+CMGS=\"+841679911638\"
");
delay(200);

SIM900.println(mes);
delay(200);
SIM900.println((char)26);
delay(200);
SIM900.println();
}
void loop() {
if (digitalRead(A0) == 0)

{
digitalWrite(6, HIGH);
sendSMS(textSMS);
delay(20000); }
else
{
digitalWrite(6, LOW);
}
}


VI. Hình ảnh sản phẩm


VI. Hình ảnh sản phẩm


VI. Video chạy demo sản phẩm



×