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... Hiểu được cơ bản về lập trình Arduino Uno... Giới thiệu Gi
Trang 1Bá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
Trang 2I 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.
Trang 3II 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
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
EEPROM 1 KB (ATmega328)
Trang 4II Giới thiệu
Giới thiệu về Arduino uno.
1 Cổng USB
2 JACK nguồn
3 Hàng Header
4 Hàng header thứ hai
5 Hàng header thứ ba
6 Vi điều khiển AVR
Trang 5II 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
Trang 6II 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.
Trang 7III 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 ơ bản của một chiếc điện thoại ản của một chiếc điện thoại ủa một chiếc điện thoại ột chiếc điện thoại ếc điện thoại ện thoại ại
nh g i đi n tho i, nh n tin, truy ư gọi điện thoại, nhắn tin, truy ọi điện thoại, nhắn tin, truy ện thoại ại ắn tin, truy
c p GPRS, ập GPRS,
Trang 8III Linh Kiện
Cảm biến MQ2
- Ngu n ho t đ ng: 5V ồn hoạt động: 5V ại ột chiếc điện thoại
- Lo i d li u: Analog ại ữ liệu: Analog ện thoại
- Ph m vi phát hi n r ng ại ện thoại ột chiếc điện thoại
- T c đ ph n h i nhanh và đ nh y ốc độ phản hồi nhanh và độ nhạy ột chiếc điện thoại ản của một chiếc điện thoại ồn hoạt động: 5V ột chiếc điện thoại ại cao
- M ch đ n gi n ại ơ bản của một chiếc điện thoại ản của một chiếc điện thoại
- n đ nh khi s d ng trong th i gian Ổn định khi sử dụng trong thời gian ịnh khi sử dụng trong thời gian ử dụng trong thời gian ụng trong thời gian ời gian dài
Trang 9III Linh Kiện
Một số linh kiện khác
Loa bip B n m ch t rap ản của một chiếc điện thoại ại ự rap
Trang 10III Linh Kiện
7 Và một số linh kiện
khác…
Trang 11IV 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 ảm biến ến
A0 Digital
GND Đ u - ầu - Chân 6 Đ u + ầu -
Trang 12IV 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);
} }
Trang 13IV 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
TX RX(chân 4)
RX TX(chân 3)
Trang 14IV 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"); ột chiếc điện thoại delay(20000);
}
Trang 15V Code Hoàn chỉnh của sản phẩm
Lắp đặt hệ thống
Trang 16V 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);
}
Trang 17V 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); }
}
Trang 18VI Hình ảnh sản phẩm
Trang 20VI Video chạy demo sản phẩm