Kết nối các linh kiện và module codeTrên mạch có 1 biến trở 10K ohm dùng để điều chỉnh độ nhạy 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ớ
Trang 2Báo cáo thực hành lập trình hệ thống
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
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
Trang 5Ứng 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 6Cảm biến nhiệt độ LM35 Module Bluetooth HC06
Trang 7Kết nối các linh kiện và module code
Trên mạch có 1 biến trở 10K ohm dùng để điều chỉnh độ nhạy 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 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 8Kết nối các linh kiện và module code (lắp mạch quang trở và bóng đèn)
Lắp mạch như hình trê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 ra là giá trị Digital HIGHT (5V) và LOW
• Tại chân OUT trả về hai mức là HIGHT và LOW
Trang 9Kết nối các linh kiện và module code (lắp mạch quang trở và bóng đèn)
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 cho đèn LED
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ê}
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ị ra đèn LED
}
Trang 10Kế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 trong ứng dụng đo nhiệt độ thời gian thực
• Nhiệt độ được xác định bằng các đo hiệu điện thế ngõ ra của LM35
• Đơn vị nhiệt độ: °C
• Nhiệt độ thay đổi tuyến tính: 10mmV/°C
• Độ chính xác thực tế: 1/4°C ở nhiệt độ phòng và 3/4°C ngoà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
Trang 11Kế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 các chân analog trước khi dùng nó
Trang 12Kết nối các linh kiện và module code (lắp cảm biến nhiệt và motor)
//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
(kết nối với bluetooth)
Đ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
(kết nối với bluetooth)
Điều khiển arduino thông qua thiết bị bluetooth bằng điện thoại android
Trang 15Kết nối các linh kiện và module code
(kết nối với bluetooth)
Sơ đồ kết nối arduino với module bluetooth
Trang 16Kết nối các linh kiện và module code
(kết nối với bluetooth)
Sơ đồ kết nối arduino với module bluetooth
Serial.println(state); // điều khiển các chân 0,1,2
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
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.*/
}
Trang 18Kế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 < 37) /* motor không quay nếu < 37oc */
Trang 19// -Kết nối các linh kiện và module code
digitalWrite(fan, HIGH); //nếu chọn 2 thì motor quay
} else if (state == '0') { /*nếu chọn không thì cả đèn cả mottor đều tắt*/
digitalWrite(fan, LOW);
digitalWrite(Led, LOW);
}
}
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ệ thống
giải trí nghe nhìn, an ninh, an toàn
kết nối khi vắng nhà (thông qua internet)
Chỉ Với 1 thao tác có thể điều khiển tất cả các thiệt bị hoạt động