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
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.
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
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
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:
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
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
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);
}
{
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