1. Trang chủ
  2. » Luận Văn - Báo Cáo

Báo cáo thực hành lập trình hệ thống: Ngôi nhà thông minh

22 166 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 22
Dung lượng 2,35 MB

Nội dung

Mục đích Báo cáo thực hành lập trình hệ thống: Ngôi nhà thông minh là nhằm hiểu về bảng mạch arduino, cách sử dụng các linh kiện liên quan, biết nối dây và đẩy code vào arduino, hoàn thành sản phẩm demo, ứng dụng (công nghệ vào đời sống: nhà thông minh). Để nắm vững nội dung chi tiết mời các bạn tham khảo tài liệu.

Báo cáo thực hành lập trình hệ thống ĐỀ TÀI: NGƠI NHÀ THƠNG MINH Giáo viên hướng dẫn: Huỳnh Hữu Hưng Sinh viên thực hành: Hồ Hải Nghĩa – 13T3 Sinh viên thực hành: Trần Văn Thanh - 13T3 Mục đích bài thực hành hiểu bảng mạch arduino Cách sử dụng linh kiện liên quan Biết nối dây đẩy code vào arduino Hoàn thành sản phẩm demo Ứng dụng (công nghệ vào đời sống: nhà thông minh) Giới thiệu về bảng mạch arduino Vi điều khiển ATmega32u4 (họ 8bit) Tần số hoạt động 16 MHz  Dòng tiêu thụ chân I/O 40mA Điện áp vào khuyên dùng 7-12V – DC Điện áp vào giới hạn 6-20V – DC Điện áp hoạt động 5V – DC Số chân Digital I/O 14 (7 chân PWM) Số chân Analog 12 (các chân PWM dùng chân Analog bình thường nghĩa dùng Analog read) (độ phân giải 10bit) Dòng tối đa chân I/O 40 mA Dòng tối đa (5V) 500 mA Dòng tối đa (3.3V) 50 mA Bộ nhớ flash 32 KB (ATmega32u4) với 4KB dùng bootloader SRAM 2.5 KB (ATmega32u4) EEPROM KB (ATmega32u4) Kích thước 68.6mm x 53.3mm Ứng dụng của arduino trong thiết kế nhà  thông minh Hệ thống cảm biến: cảm biến anh sáng cảm biến nhiệt độ Các thiết bị hiển thị: đèn LED Các module chức (shield) hỗ trợ kêt nối có dây với thiết bị khác kết nối không dây thông dụng (3G, GPRS, Wifi, Bluetooth, 315/433Mhz, 2.4Ghz,…), … Và số ứng dụng khác Bảng thiết bị (các linh kiện cần dùng) Bảng mạch arduino Cảm biến ánh sáng Cảm biến nhiệt độ LM35 Module Bluetooth HC06 Đèn LED Motor Module role Dây nối điện Kết nối các linh kiện và module code (lắp mạch quang trở và bóng đèn) Trên mạch có 1 biến trở 10K ohm dùng để điều  chỉnh độ•  nh ạy sáng: Thay đổi điện trở theo ánh sáng Vặn về bên trái (nhìn theo hướng từ dưới lên  quang trở): tăng đ  nhạy của cảm biến với ánh  • HIGHT: ộ bật sáng: chỉ cần lượng ánh sáng nhỏ thì mạch sẽ tự  ngắt • LOW: tắt Vặn về bên phải: giảm độ nhạy của cảm biến  với ánh sáng, cần lượng ánh sáng với cường độ  mạnh hơ• n đCó ể ng ắt m ạch thể điều chỉnh độ nhạy Cảm biến ánh sáng Kết nối các linh kiện và module code (lắp mạch quang trở và bóng đèn) Sử dụng cảm biến kết hợp với arduino để lập trình bật tắt • Tín hiệu xuất giá trị Digital HIGHT (5V) LOW • Tại chân OUT trả hai mức HIGHT LOW Lắp mạch hình Kết nối các linh kiện và module code (lắp mạch quang trở và bóng đèn) int cambien = 10;// khai báo chân digital 10 cho cảm biến int Led = 8;//kháo báo chân digital cho đèn LED void setup (){ pinMode(Led,OUTPUT);//pinMode xuất tín hiệu đầu cho led pinMode(cambien,INPUT);//pinMode nhận tín hiệu đầu vào cho cảm biê} void loop (){ int value = digitalRead(cambien);//lưu giá trị cảm biến vào biến value digitalWrite(Led,value);//xuất giá trị đèn LED } Lắp mạch hình Kết nối các linh kiện và module code (lắp cảm biến nhiệt và motor) • • • • • • Cảm biến nhiệt độ LM35 sử dụng ứng dụng đo nhiệt độ thời gian thực Nhiệt độ xác định đo hiệu điện ngõ LM35 Đơn vị nhiệt độ: °C Nhiệt độ thay đổi tuyến tính: 10mmV/°C Độ xác thực tế: 1/4°C ở nhiệt độ phòng và 3/4°C ngồi  khoảng 2°C tới 150°C LM35 có hiệu năng cao, cơng suất tiêu thụ là 60uA Kết nối các linh kiện và module code (lắp cảm biến nhiệt và motor) int sensorPin = A0;//chân analog kết nối tới cảm biến LM35 void setup() { Serial.begin(9600); //Khởi động Serial mức baudrate 9600 //không cần phải pinMode cho chân analog trước dùng } void loop() { //đọc giá trị từ cảm biến LM35 int reading=analogRead(sensorPin); Kết nối các linh kiện và module code (lắp cảm biến nhiệt và motor) //tính giá trị hiệu điện (đơn vị Volt) từ giá trị cảm biến float voltage = reading * 5.0 / 1024.0; // giới thiệu, 10mV = độ C // Vì biến voltage biến lưu hiệu điện (đơn vị Volt) // ta việc nhân voltage cho 100 nhiệt độ! float temp = voltage * 100.0; Serial.println(temp); delay(1000);//đợi giây cho lần đọc } Kết nối các linh kiện và module code (kết nối với bluetooth) Điều khiển arduino thông qua thiết bị bluetooth điện thoại android • Ứng dụng để điều khiển thiết bị điện nhà bật tắt đèn, quạt từ xa Hoặc tự làm ô tô điều khiển từ xa • Module này gồm 4 chân GND, VCC, TX, RX  • Khi kết nối cần nối chân TX với chân 0 và chân RX nối với  chân 1 trên Arduino sau đó bạn có thể lập trình gửi và  nhận dữ liệu như 1 cổng Serial thơng thường • Module này có 3 loại Master,  Slave và loại chạy được cả 2  chế độ Master và Slave Kết nối các linh kiện và module code (kết nối với bluetooth) Điều khiển arduino thơng qua thiết bị bluetooth điện thoại android Ø Ø  sử dụng phần mềm trên điện thoại  Android: DroiDuino khi kết nối với điện thoại mật khẩu mặc  định là: 1234 Kết nối các linh kiện và module code (kết nối với bluetooth) char state; // Khai báo biến void setup() { /* Cài đặt các chân bạn muốn điều khiển  thành thành Ouput chân 0, 1, 2*/ pinMode(0, OUTPUT); pinMode(1, OUTPUT); pinMode(2, OUTPUT); Serial.begin(9600); // Kết nối bluetooth module  ở tốc độ 9600 } void loop() {   if(Serial.available() > 0){ state = Serial.read(); // Đọc giá trị nhận được  từ bluetooth } else  state = 0; Sơ đồ kết nối arduino với module bluetooth  Kết nối các linh kiện và module code (kết nối với bluetooth) Serial.println(state); // điều khiển các chân  0,1,2 if (state == '1') //nếu chọn 1 thì đèn sáng {     digitalWrite(Led, HIGH);      delay(1000);    //trễ 1000  }  else if (state == '2') //chọn 2 công tắc motor  quay {      digitalWrite(fan, HIGH);  }  else if (state == '0')  //chọn không cả đèn và  motor đề tắt {           digitalWrite(fan, LOW);           digitalWrite(Led, LOW); } Sơ đồ kết nối arduino với module bluetooth  Kết nối các linh kiện và module code int cambien = 10; // khai báo chân digital 10 cho cảm biến float temperature = 0; //biến để lưu trữ nhiệt độ int fan = 9; //digital điều chỉnh motor int Led = 8; //kháo báo chân digital 8 cho đèn LED char state = 0;  // trạng thái của bluetooth void setup (){ pinMode(Led,OUTPUT); /*pinMode xuất tín hiệu đầu ra  cho led*/ pinMode(cambien,INPUT); /*pinMode nhận tín hiệu đầu  vào cho cảm biên*/ pinMode(fan,OUTPUT); //configuracion del pin 9 Serial.begin(9600);  /*Ket noi bluetooth module o toc do  goc 9600.*/ } Kết nối các linh kiện và module code void loop (){ int value = digitalRead(cambien);  //* lưu giá trị cảm biến  vào value*/ digitalWrite(Led,value); //xuất giá trị ra đèn LED float temperature = ((5.0*analogRead(A0)*100.0)/1024.0); Serial.println (temperature); // in ra nhiệt độ if (temperature 

Ngày đăng: 15/01/2020, 04:26

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w