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.
Trang 2Báo cáo th c hành ự
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
ĐỀ TÀI: NGÔI NHÀ THÔNG MINH
Trang 3M c đích bài th c hành ụ ự
1 hiểu về bảng mạch arduino
2 Cách sử dụng các linh kiện liên quan
3 Biết nối dây và đẩy code vào arduino
4 Hoàn thành sản phẩm demo
5 Ứng dụng (công nghệ vào đời sống: nhà thông minh)
Trang 4Gi 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ụ ở các 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 có thể dùng
như chân Analog bình thường - nghĩa là có thể dùng Analog read) (độ phân giải 10bit)
Dòng tối đa trên mỗi chân I/O 40 mA Dòng ra tối đa (5V) 500 mA Dòng ra tối đa (3.3V) 50 mA
Bộ nhớ flash 32 KB (ATmega32u4) với 4KB
dùng bởi bootloader
EEPROM 1 KB (ATmega32u4)
Kích thước 68.6mm x 53.3mm
Trang 5ng d ng c a arduino trong thi t k nhà
thông minh
1. Hệ thống cảm biến: cảm biến anh sáng và cảm biến nhiệt độ
2. Các thiết bị hiển thị: đèn LED
3. Các module chức năng (shield) hỗ trợ kêt nối có dây với các thiết bị khác hoặc các kết nối không dây thông dụng (3G, GPRS, Wifi, Bluetooth, 315/433Mhz, 2.4Ghz,…), …
4. Và một số ứng dụng khác
Trang 6B ng thi t b ả ế ị
(các linh ki n c n dùng) ệ ầ
Cảm biến ánh sáng
Bảng mạch
arduino Cảm biến nhiệt độ LM35 Module Bluetooth HC06
Trang 7V 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 ộ ạ ủ ả ế ớ
sáng: ch c n l ỉ ầ ượ ng ánh sáng nh thì m ch s t ỏ ạ ẽ ự
ng 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 đ ng t m ch ạ ơ ể ắ ạ
Trang 9K t n i các linh ki n và module code ế ố ệ
Lắp mạch như hình trê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 8
int value = digitalRead(cambien); //lưu
giá trị cảm biến vào biến value
digitalWrite(Led,value );//xuất giá trị
ra đèn LED
}
Trang 10K t n i các linh ki n và module code ế ố ệ
• Cảm biến nhiệt độ LM35 sử dụng trong ứng dụng đo nhiệt
Trang 11K t n i các linh ki n và module code ế ố ệ
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 các
chân analog trước khi dùng nó
Trang 12K t n i các linh ki n và module code ế ố ệ
//tính ra giá trị hiệu điện thế (đơn vị Volt)
từ giá trị cảm biến
float voltage = reading * 5.0 / 1024.0 ;
// ở trên mình đã giới thiệu, cứ mỗi 10mV = 1
độ C.
// Vì vậy nếu biến voltage là biến lưu hiệu
điện thế (đơn vị Volt)
// thì ta chỉ việc nhân voltage cho 100 là ra
được nhiệt độ!
float temp = voltage * 100.0 ;
Serial println ( temp );
delay ( 1000 ); //đợi 1 giây cho lần đọc tiếp
theo
}
Trang 13K t n i các linh ki n và module code ế ố ệ
Điều khiển arduino thông qua thiết bị bluetooth bằng điện thoại
android
• Ứng dụng để điều khiển các thiết bị điện trong nhà như bật
tắt đèn, quạt từ xa Hoặc tự làm một chiếc ô 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ế ộ
Trang 14K t n i các linh ki n và module code ế ố ệ
Điều khiển arduino thông qua thiết bị
bluetooth bằng đ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 ị
Trang 17K 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 ề ỉ
Trang 19digitalWrite(fan, HIGH); //n u ch n 2 thì motor quay ế ọ
} else if (state == '0') { /*n u ch n không thì c đèn c ế ọ ả ả
Trang 20Demo s n ph m ả ẩ
Trang 21Ø nhà thông mình là xu th m i trong ế ớ
ki n trúc hi n đ i ế ệ ạ
Ø đ ng hóa các thi t b đi n t , đi n ộ ế ị ệ ử ệ
gia d ng, t đèn chi u sáng, mô t ụ ừ ế ơ
rèm c a, máy l nh, cho t i h ử ạ ớ ệ