TIỂU LUẬN vẽ sơ đồ mạch điện (trên proteus…), viết chương trình trên arduino IDE mô phỏng mạch hiển thị “tên của bạn” và xây dựng một ứng dụng đếm số người ra vào phòng và hiển thị lên màn hình LED sử dụng mạch

21 261 2
TIỂU LUẬN vẽ sơ đồ mạch điện (trên proteus…), viết chương trình trên arduino IDE  mô phỏng mạch hiển thị “tên của bạn” và xây dựng một ứng dụng đếm số người ra vào phòng và hiển thị lên màn hình LED sử dụng mạch

Đ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

TRƯỜNG ĐẠI HỌC MỎ – ĐỊA CHẤT BỘ MÔN MẠNG MÁY TÍNH TIỂU LUẬN MÔN HỌC KIẾN TRÚC VÀ HẠ TẦNG MẠNG IOT - 7080713 Cán giảng dạy Sinh viên thực GV.Ths Trần Thị Thu Thúy Họ tên: Đào Thị Thắm Bộ mơn: Mạng máy tính Mã số sinh viên: 1921050555 Lớp: CNPM A – K64 Nhóm mơn học: 04 HÀ NỢI – 2021 MỤC LỤC I MỞ ĐẦU Trong trình phát triển người, cách mạng cơng nghệ đóng vai trò quan trọng, chúng làm thay đổi ngày sống người, theo hướng đại Đi đơi với q trình phát triển người, thay đổi tác động người tự nhiên, môi trường sống diễn ra, tác động trở lại chúng ta, nhiễm mơi trường, khí hậu thay đổi….Dân số tăng, nhu cầu tăng theo, dịch vụ, tiện ích từ hình thành phát triển theo Đặc biệt áp dụng công nghệ ngành điện tử, công nghệ thông tin truyền thông vào thực tiễn sống người Cơng nghệ Internet of Things (IoT) nói chung cơng nghệ cảm biến khơng dây (Wireless Sensor) nói riêng tích hợp từ kỹ thuật điện tử, tin học viễn thông tiên tiến vào mục đích nghiên cứu, giải trí, sản xuất, kinh doanh, v.v , phạm vi ngày mở rộng, để tạo ứng dụng đáp ứng cho nhu cầu lĩnh vực khác Hiện nay, khái niệm IoT công nghệ cảm biến không dây trở nên quen thuộc ứng dụng nhiều lĩnh vực đời sống người, đặc biệt nước phát triển có khoa học công nghệ tiên tiến Tuy nhiên, công nghệ chưa áp dụng cách rộng rãi nước ta, điều kiện kỹ thuật, kinh tế, nhu cầu sử dụng Song hứa hẹn đích đến tiêu biểu cho nhà nghiên cứu, cho mục đích phát triển đầy tiềm Được định hướng dẫn giảng viêng giảng day, em chọn đề “Vẽ sơ đồ mạch điện (trên proteus…), viết chương trình arduino IDE ; mô phỏng mạch hiển thị “Tên bạn” Xây dựng ứng dụng đếm số người vào phịng hiển thị lên hình LED sử dụng mạch Arduino” II NỘI DUNG II.1 Vẽ sơ đồ mạch điện (trên proeteus…), viết chương trình arduino IDE; mô mạch hiển thị “Dao Thi Tham” hiển thị hình tinh thể lỏng (LCD) II.1.1 Viết chương trình Arduino IDE: a Viết chương trình: #include LiquidCrystal lcd(12, 11, 5, 4, 3, 2); void setup() { lcd.begin(16, 2); } void loop(){ lcd.clear(); lcd.setCursor(0,0); lcd.print("Dao Thi Tham"); delay(2000); } b Giải thích chương trình: #include // Khai báo thư viện LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // Thiết lập chân cho lcd Void setup(){ // Hàm chạy lần bắt đầu chương trình lcd.begin(16, 2); //Thơng báo LCD 1602 } void loop(){ lcd.clear(); // Xóa hình cho vịng lặp lcd.setCursor(0,0); // Hiển thị nội dung dòng thứ lcd.print("Dao Thi Tham"); //In nội dung “Dao Thi Tham delay(2000); // Chậm trễ 2s } TieuluanC1.ino c Các thiết bị chọn bài: STT TÊN THIẾT BỊ Arduino Uno R3 SÓ LƯỢNG LM016L Output Ground Bảng II.1.1.c Các thiết bị d Chương trình viết Arduino IDE: Hình II.1.1.d – Chương trình viết Arduino IDE II.1.2 Vẽ sơ đồ mạch kết proteus: a Vẽ sơ đồ mạch Hình II.1.2.a Sơ đồ mạch proteus b Kết hiển thị: Hình II.1.2.b Kết hiển thị Proteus II.2 Xây dựng ứng dụng đếm sớ người vào phịng hiển thị lên hình LED sử dụng mạch arduino mà em lựa chọn * Cách hiểu 1: Đếm số người vào phòng hiển thị Led II.2.1 Viết chương trình Arduino IDE: a Viết chương trình #define sensor int mysensor; int latchPin = 8; int clockPin = 12; int dataPin = 11; const int Seg[10] = { 0b11000000, 0b11111001, 0b10100100, 0b10110000, 0b10011001, 0b10010010, 0b10000010, 0b11111000, 0b10000000, 0b10010000, }; void setup() { pinMode(sensor, INPUT); pinMode(latchPin, OUTPUT); pinMode(clockPin, OUTPUT); pinMode(dataPin, OUTPUT); } void loop() { mysensor = digitalRead(sensor); static int point = 0; digitalWrite(latchPin, LOW); shiftOut(dataPin, clockPin, MSBFIRST, Seg[point]); digitalWrite(latchPin, HIGH); if(mysensor == 1){ point = (point + 1) % 10; delay(1000); } } b.Giải thích chương trình: #define sensor int mysensor; int latchPin = 8; //chân ST_CP 74HC595 int clockPin = 12; //chân SH_CP 74HC595 int dataPin = 11; //Chân DS 74HC595 const int Seg[10] = //Mảng có 10 sơ từ (0-9) { 0b11000000,//0 //sángthanh từ a-f sáng 0b11111001,//1 //chỉ có b,c sáng 0b10100100,//2 // sáng a,b,d,e,g 0b10110000,//3 // sáng a,b,c,d,g 0b10011001,//4 // sáng b,c,f,g 0b10010010,//5 // sáng a,c,d,f,g 0b10000010,//6 // sáng a,c,d,e,f,g 0b11111000,//7 // sáng a,b,c 0b10000000,//8 // sáng từ a-f 0b10010000,//9 // a,b,c,d,f,g }; void setup() { pinMode(sensor, INPUT); //Thiết đặt chân sensor INPUT pinMode(latchPin, OUTPUT); //Thiết đặt chân latch OUTPUT pinMode(clockPin, OUTPUT); //Thiết đặt chân clockPin OUTPUT pinMode(dataPin, OUTPUT); //Thiết đặt chân dataPin OUTPUT } void loop() { mysensor = digitalRead(sensor); // Câu lệnh dùng để đọc tín hiệu điện từ chân sensor static int point = 0; digitalWrite(latchPin, LOW); // Đọc tín hiệu từ digital latchPin trả giá tri LOW shiftOut(dataPin, clockPin, MSBFIRST, Seg[point]); //Xuất ký tự cho Module LED digitalWrite(latchPin, HIGH); //Đọc tín hiệu từ digital latchPin trả giá tri HIGH if(mysensor == 1) { point = (point + 1) % 10; // Vịng tuần hồn từ delay(1000); //Đợi 0.5 s cho lần tăng số } } TieuluanC2.ino c Các thiết bị chọn bài: * Các thiết bị lựa chọn sử dụng bài: Hình II.2.1.c:Các thiết bị * Giải thích lựa chọn Arduino UNO R3: kit Arduino UNO hệ thứ 3, với khả lập trình cho ứng dụng điều khiển phức tạp trang bị cấu hình mạnh cho loại nhớ ROM, RAM Flash, ngõ vào digital I/O có nhiều ngõ có khả xuất tín hiệu PWM, ngõ đọc tín hiệu analog chuẩn giao tiếp đa dạng UART, SPI, TWI (I2C) Arduino Uno R3 bạn ứng dụng vào mạch đơn giản mạch cảm biến ánh sáng bật tắt đèn, mạch điều khiển động cơ, cao bạn làm sản phẩm như: máy in 3D, Robot, khinh khí cầu, máy bay khơng người lái, ứng dụng lớn khác 74HC595: ghi dịch (shift register) hoạt động giao thức nối tiếp vào song song (Serial IN Parallel OUT) Nó nhận liệu nối tiếp từ vi điều khiển sau gửi liệu qua chân song song Có thể tăng chân đầu cách sử dụng chip đơn 7SEG-COM-ANODE (hay gọi led đoạn): thiết kế để hiển thị số số ký hiệu khác Sự phát xạ photon xảy mà tiếp giáp diode bị lệch phía trước nguồn điện áp bên ngồi cho phép dịng điện chạy qua gọi q trình phát quang IR OBSTACLE SENSOR: Cảm biến vật cản hồng ngoại sử dụng để nhận biết vật cản ánh sáng hồng ngoại, cảm biến có cách sử dụng đơn giản với biến trở chỉnh khoảng cách nhận biết vật cản, ngõ dạng Digital dễ dàng giao tiếp lập trình với Vi điều khiển, thích hợp để làm ứng dụng Robot tránh vật cản, báo trộm, mơ hình cửa tự động, LOGICSTATE: cổng logic thực hàm Boole lý tưởng hóa Có nghĩa là, thực phép toán logic nhiều logic đầu vào, tạo kết logic nhất, với thời gian thực lý tưởng hóa khơng có trễ d Chương trình viết Arduino IDE 10 Hình II.2.1.d: Chương trình viết Arduino IDE II.1.2 Vẽ sơ đồ mạch kết proteus: 11 a Vẽ sơ đồ mạch Hình II.2.2.a Sơ đồ mạch proteus b Kết hiển thị: Hình II.1.2.b Kết hiển thị Proteus c Nguyên lý hoạt động 12 II.3 Xây dựng hệ thống chống trộm sử dụng mạch Arduino mà em lựa chọn - Mô tả tốn chức ( u cầu tới thiểu có chức năng): phát chuyển động báo cịi nháy đèn báo hiệu người khuyến khích sáng tạo xây dựng module hợp lý khác - Lựa chọn thiết bị, giải thích lựa chọn - Vẽ sơ đồ đấu nới chi tiết, mô tả nguyên tắc hoạt động sơ đồ Giải thích hoạt động - Viết chương trình Arduino IDE giải thích code II.3.1 Viết chương trình Arduino IDE: a Viết chương trình #include LiquidCrystal lcd(12, 11, 5, 4, 3, 2); #define CAMBIEN 13 #define LOA #define LED void setup() { lcd.begin(16, 2); pinMode(CAMBIEN, INPUT); pinMode(LED, OUTPUT); pinMode(LOA, OUTPUT); lcd.clear(); lcd.setCursor(1,1); lcd.print("Xin chao!"); delay(100); } void loop(){ int status = digitalRead(CAMBIEN); if (status == HIGH) { lcd.setCursor(1,1); lcd.print("Hien dang co nguoi vao"); digitalWrite(LOA, HIGH); digitalWrite(LED, HIGH); delay(100); lcd.clear(); delay(100); } else { lcd.setCursor(1,1); digitalWrite(LOA, LOW); digitalWrite(LED, LOW); } } b Giải thích chương trình: #include LiquidCrystal lcd(12, 11, 5, 4, 3, 2); //Thiết lập chân 12, 11, 5, 4, 3, lcd #define CAMBIEN // Cambien kết nối với chân digital #define LOA // Loa kết nối với chân digital #define LED // LED kết nối với chân digital 14 void setup() { lcd.begin(16, 2); // Thông báo LCD 1602 pinMode(CAMBIEN, INPUT); // thiết đặt chân Cambien INPUT pinMode(LED, OUTPUT);// thiết đặt chân buzzer OUTPUT pinMode(LOA, OUTPUT);// thiết đặt chân buzzer OUTPUT lcd.clear(); // Xóa hình cho vịng lặp tiếp lcd.setCursor(1,1); // Đặt trỏ hàng 1, cột lcd.print("Xin chao!");// In lcd delay(100); // Thời gian trễ 100s } void loop(){ int status = digitalRead(CAMBIEN); if (status == HIGH) { // Trạng thái chân Cambien mức HIGH có người lcd.setCursor(1,1);// Đặt trỏ hàng cột lcd.print("Hien dang co nguoi vao"); // lcd hiển thị Co Nguoi digitalWrite(LOA, HIGH); // Loa phát cảnh báo có nguoi digitalWrite(LED, HIGH); // Đèn sáng có nguoi delay(100); // Thời gian trễ 100s lcd.clear(); delay(100); // Thời gian trễ 100s } else { lcd.setCursor(1,1); digitalWrite(LOA, LOW); // Loa tắt khơng có người digitalWrite(LED, LOW); // Đèn tắt khơng có người } } TieuluanC2-2.ino 15 c Các thiết bị chọn bài: * Các thiết bị lựa chọn sử dụng bài: Hình II.3.1.c:Các thiết bị * Giải thích lựa chọn Arduino UNO R3: kit Arduino UNO hệ thứ 3, với khả lập trình cho ứng dụng điều khiển phức tạp trang bị cấu hình mạnh cho loại nhớ ROM, RAM Flash, ngõ vào digital I/O có nhiều ngõ có khả xuất tín hiệu PWM, ngõ đọc tín hiệu analog chuẩn giao tiếp đa dạng UART, SPI, TWI (I2C) Arduino Uno R3 bạn ứng dụng vào mạch đơn giản mạch cảm biến ánh sáng bật tắt đèn, mạch điều khiển động cơ, cao bạn làm sản phẩm như: máy in 3D, Robot, khinh khí cầu, máy bay khơng người lái, ứng dụng lớn khác PIR SENSOR: ( cảm biến hồng ngoại) đo ánh sáng hồng ngoại phát từ vật thể, Pir sensor hoạt động dựa vào việc nhân biết xạ hồng ngoại từ thể người để báo động…… LCD (Liquid Crystal Display): hình tinh thể lỏng cấu tạo nên tế bào ( điểm ảnh) chứa tinh thể lỏng với khả thay đổi tính phân cực ánh sáng thay đổi cường độ ánh sáng truyền qua kết hợp với loại kính lọc phân cực 16 LOGICSTATE: cổng logic thực hàm Boole lý tưởng hóa Có nghĩa là, thực phép tốn logic nhiều logic đầu vào, tạo kết logic nhất, với thời gian thực lý tưởng hóa khơng có trễ LED: cơng cụ phát sáng có tín hiệu báo động RES: linh kiện điện trở SOUNDER: công cụ dùng để phát tiếng báo động có tín hiêu d Chương trình viết Arduino IDE 17 Hình II.3.1.d: Chương trình viết Arduino IDE II.1.2 Vẽ sơ đồ mạch kết proteus: a Vẽ sơ đồ mạch 18 Hình II.3.2.a Sơ đồ mạch proteus b Kết hiển thị: Hình II.3.2.b Kết hiển thị Proteus 19 c Nguyên lý hoạt động III KẾT LUẬN IoT (Internet of Things) - hứa hẹn tạo ứng dụng đầy tiềm năng, áp dụng nhiều lĩnh vực khác nhau, mà cơng nghệ khác cịn nhiều hạn chế Trên sở nghiên cứu tổng quan IoT, công nghệ cảm biến không dây ứng dụng thực tiễn, em xây dựng thành cơng chương trình thực nghiệm (như trình bày có kết chạy thử nghiệm) Tuy nhiên, thời gian hạn chế, chương trình chạy thử nghiệm chưa thật tốt em mong thầy/cô thông cảm giúp em Em xin trân thành cảm ơn! IV TÀI LIỆU THAM KHẢO Https://linhkiendientutphcm.com Http://arduino.vn 20 https://nshopvn.com/product/cam-bien-than-nhiet-chuyen-dong-pir-hcsr501/ https://www.theengineeringprojects.com/2020/12/basic-logic-gates-inproteus-with-truth-table.html 21 ... chọn đề ? ?Vẽ sơ đồ mạch điện (trên proteus…), viết chương trình arduino IDE ; mơ phỏng mạch hiển thị “Tên bạn” Xây dựng ứng dụng đếm số người vào phòng hiển thị lên hình LED sử dụng mạch Arduino? ??... Kết hiển thị Proteus II.2 Xây dựng ứng dụng đếm số người vào phịng hiển thị lên hình LED sử dụng mạch arduino mà em lựa chọn * Cách hiểu 1: Đếm số người vào phòng hiển thị Led II.2.1 Viết chương. .. DUNG II.1 Vẽ sơ đồ mạch điện (trên proeteus…), viết chương trình arduino IDE; mô mạch hiển thị “Dao Thi Tham” hiển thị hình tinh thể lỏng (LCD) II.1.1 Viết chương trình Arduino IDE: a Viết chương

Ngày đăng: 25/12/2021, 16:41

Tài liệu cùng người dùng

Tài liệu liên quan