You are on page 1of 11

ĐẠI HỌC QUỐC GIA HÀ NỘI

TRƯỜNG ĐẠI HỌC CỔNG NGHỆ


KHOA ĐIỆN TỬ VIỄN THÔNG
----------

BÁO CÁO THỰC HÀNH 1


MÔN HỆ THỐNG
ROBOT THÔNG MINH
Bài tập: Thiết kế mạch thu thập dữ liệu cảm biến
(Temp/Gas/Sound/Vibration)

Họ và tên sinh viên: Nguyễn Hải Đăng


Mã sinh viên : 21020729
Lớp : K66 – ĐA – CLC1
Lớp môn học : ELT3077_20
Giảng viên : TS. Nguyễn Thị Thanh Vân

Hà Nội, 2023
LỜI NÓI ĐẦU

Cảm biến (tên tiếng Anh: Sensor) là một thiết bị có khả năng phát hiện và phản hồi
một số loại đầu vào (ánh sáng, nhiệt độ, âm thanh, độ ẩm, ...) từ môi trường. Đầu ra
sẽ là tín hiệu đã được chuyển đổi và hiển thị trên màn hình điều khiển. Cảm biến đóng
vai trò quan trọng trong Internet vạn vật (IoT), giúp tạo ra một hệ sinh thái để thu thập
và xử lý các tín hiệu khác nhau từ môi trường. Từ đó, các tín hiệu từ hệ thống được
theo dõi, quản lý và kiểm soát một cách dễ dàng và hiệu quả hơn. Cảm biến có độ
nhạy rất cao, thường hoạt động liên tục trong môi trường, đôi khi là môi trường độc
hại (ô nhiễm) do đó chúng cần có một lớp vỏ bảo vệ, giúp thao tác dễ dàng hơn khi
đó chúng còn được gọi đầu dò hoặc que đo.

2
MỤC LỤC

LỜI NÓI ĐẦU...............................................................................................................2


MỤC LỤC.....................................................................................................................3
PHẦN I: GIỚI THIỆU..................................................................................................4
1. Thiết bị............................................................................................................4
2. Yêu cầu...........................................................................................................4
PHẦN II: NỘI DUNG..................................................................................................5
1. Nguyên lý điều khiển.....................................................................................5
2. Mạch điều khiển.............................................................................................6
3. Điều khiển động cơ........................................................................................7
4. Kết quả...........................................................................................................9
PHẦN III: KẾT LUẬN...............................................................................................10
PHẦN IV: ỨNG DỤNG CẢM BIẾN TRONG ROBOT...........................................10

3
I. GIỚI THIỆU:

Hệ thống mạch điều khiển cảm biến Nhiệt/Khí ga bằng Arduino. Thu thập dữ
liệu khi cảm biến hoạt động trong môi trường
1. Thiết bị:
- 1 board Arduino Uno.
- 1 cảm biến nhiệt LM35.
- 1 cảm biến khí ga MQ2.
- 1 cảm biến âm thanh.
- 1 cảm biến rung SW-580D.
- Dây nối.
- 1 board mạch cắm dây.

2. Yêu cầu:
- Tính đa năng: Hệ thống cần có khả năng tích hợp nhiều loại cảm biến khác
nhau để đáp ứng nhu cầu đo lường đa dạng của ứng dụng.
- Hiệu suất cao: Hệ thống cần cung cấp kết quả đo chính xác và đáng tin cậy từ
các cảm biến, đặc biệt là khi hoạt động trong các điều kiện môi trường khắc
nghiệt.
- Tiêu thụ năng lượng thấp: Đặc biệt quan trọng đối với các ứng dụng di động
hoặc sử dụng pin. Hệ thống cần được thiết kế để tiêu thụ năng lượng ít nhất có
thể để kéo dài thời gian hoạt động.
- Độ ổn định và độ tin cậy: Hệ thống cần có khả năng giảm thiểu ảnh hưởng
của nhiễu và biến đổi môi trường đối với kết quả đo từ các cảm biến.
- Bảo vệ và an toàn: Hệ thống cần có các biện pháp bảo vệ để đảm bảo an toàn
cho cả người sử dụng và thiết bị khi có các sự cố xảy ra, chẳng hạn như bảo vệ
quá tải, quá dòng, hay cơ chế cắt nguồn khi cần thiết.
- Tương thích với giao tiếp và lập trình: Hệ thống cần hỗ trợ các giao tiếp và
giao diện phù hợp để dễ dàng tích hợp vào Arduino IDE.
4
III. NỘI DUNG

1. Nguyên lý điều khiển.


a) Cảm biến nhiệt độ:

Nguyên lý: Cảm biến nhiệt độ sử dụng hiệu ứng nhiệt điện hoặc hiệu ứng nhiệt
cảm biến để đo lường nhiệt độ.

Hoạt động: Thay đổi nhiệt độ sẽ làm thay đổi điện áp, điện trở hoặc dòng điện
trong mạch cảm biến, từ đó cho phép đo lường nhiệt độ.

b) Cảm biến âm thanh:

Nguyên lý: Cảm biến âm thanh chuyển đổi sóng âm thành tín hiệu điện.
Hoạt động: Khi sóng âm đến, cảm biến biến đổi áp suất âm thành tín hiệu điện
tương ứng, từ đó cho phép đo lường âm thanh.

c) Cảm biến khí ga:


Nguyên lý: Cảm biến khí ga sử dụng các cơ chế hóa học hoặc vật lý để phản
ứng với khí và tạo ra tín hiệu điện.
Hoạt động: Sự tương tác giữa khí và chất đo trong cảm biến tạo ra thay đổi điện
trở, điện áp hoặc dòng điện, từ đó cho phép đo lường nồng độ khí.

d) Cảm biến rung:


Nguyên lý: Cảm biến rung sử dụng các cơ chế cơ học hoặc điện tử để phát hiện
và đo lường rung động.

Hoạt động: Khi có rung động, các thành phần trong cảm biến rung chuyển động
hoặc biến đổi vị trí, tạo ra tín hiệu điện tương ứng, từ đó cho phép đo lường
rung động.

5
2. Mạch điều khiển

Mạch lắp mô phỏng:

Cảm biến nhiệt độ Cảm biến rung

Cảm biến khí gas Cảm biến âm thanh

6
3. Điều khiển động cơ

- Kết nối với Arduino: Chân OUT của cảm biến được kết nối với một chân
analog của Arduino. Cảm biến cũng cần được cấp nguồn 5V và một chân nối
đất.
- Đọc dữ liệu: Sử dụng chức năng analogRead() để đọc giá trị tín hiệu analog
từ cảm biến. Giá trị nhiệt độ/âm thanh/khí gas/độ rung sẽ được đưa vào và
chuyển đổi thành dòng điện truyền tới hệ thống để đọc và xác định.
Mã nguồn:
1. Cảm biến nhiệt độ Trích xuất dữ liệu:

int sensorPin = A0;


20:50:52.138 -> 0.00
void setup() { 20:50:53.124 -> 0.00
Serial.begin(9600); 20:50:54.141 -> 37.11
} 20:50:55.141 -> 36.62
20:50:56.135 -> 40.04
void loop() { 20:50:57.153 -> 38.09
20:50:58.114 -> 0.00
int reading = analogRead(sensorPin); 20:50:59.148 -> 0.00
20:51:00.136 -> 8.79
float voltage = reading * 5.0 / 1024.0; 20:51:01.138 -> 39.06
20:51:02.139 -> 37.11
float temp = voltage * 100.0; 20:51:11.149 -> 0.00
20:51:12.130 -> 0.00
Serial.println(temp); 20:51:13.116 -> 37.60
20:51:14.163 -> 32.23
delay(1000); 20:51:15.148 -> 0.00
} 20:51:16.117 -> 0.00
20:51:17.154 -> 0.00
20:51:18.117 -> 40.53
20:51:19.162 -> 43.95
20:51:20.165 -> 35.64

2. Cảm biến khí gas Trích xuất dữ liệu:

#define Threshold 400 23:13:19.903 -> MQ2 warming up!


#define MQ2pin 0 23:13:39.890 -> Sensor Value: 480.00 | Smoke
float sensorValue; detected!
void setup() { 23:13:41.891 -> Sensor Value: 480.00 | Smoke
Serial.begin(9600); detected!
Serial.println("MQ2 warming up!"); 23:13:43.920 -> Sensor Value: 905.00 | Smoke
delay(20000); detected!
} 23:13:45.922 -> Sensor Value: 947.00 | Smoke
void loop() { detected!
sensorValue = analogRead(MQ2pin); 23:13:47.894 -> Sensor Value: 939.00 | Smoke
detected!
Serial.print("Sensor Value: "); 23:13:49.894 -> Sensor Value: 718.00 | Smoke
Serial.print(sensorValue); detected!
if(sensorValue > Threshold) 23:13:51.925 -> Sensor Value: 642.00 | Smoke
{ detected!
7
Serial.print(" | Smoke detected!"); 23:13:53.905 -> Sensor Value: 614.00 | Smoke
} detected!
23:13:55.896 -> Sensor Value: 730.00 | Smoke
Serial.println(""); detected!
delay(2000); // wait 2s for next reading 23:13:57.897 -> Sensor Value: 634.00 | Smoke
detected!
} 23:13:59.898 -> Sensor Value: 577.00 | Smoke
detected!
23:14:01.941 -> Sensor Value: 553.00 | Smoke
detected!

3. Cảm biến âm thanh Trích xuất dữ liệu:

#define sensorPin 8 23:41:56.883 -> Clap detected!


23:42:00.158 -> Clap detected!
unsigned long lastEvent = 0; 23:42:33.825 -> Clap detected!
void setup() {
pinMode(sensorPin, INPUT);
Serial.begin(9600);
}
void loop() {
int sensorData = digitalRead(sensorPin);
if (sensorData == LOW) {
if (millis() - lastEvent > 25) {
Serial.println("Clap detected!");
}
lastEvent = millis();
}
}

4. Cảm biến rung Trích xuất dữ liệu

void setup() 00:08:35.186 -> Khong Rung


{ 00:08:35.186 -> Gia tri cam bien: 1023
Serial.begin(9600); 00:08:35.277 -> Khong Rung
} 00:08:35.277 -> Gia tri cam bien: 1023
00:08:35.371 -> Khong Rung
void loop() 00:08:35.371 -> Gia tri cam bien: 1023
{ 00:08:35.496 -> Khong Rung
int value = analogRead(A0); 00:08:35.496 -> Gia tri cam bien: 1023
if (value < 1021){ 00:08:35.590 -> Khong Rung
Serial.println("Rung"); 00:08:35.590 -> Gia tri cam bien: 1023
} else { 00:08:35.683 -> Rung
Serial.println("Khong Rung"); 00:08:35.683 -> Gia tri cam bien: 0
} 00:08:35.777 -> Rung
Serial.print("Gia tri cam bien: "); 00:08:35.777 -> Gia tri cam bien: 0
Serial.println(value); 00:08:35.872 -> Rung
delay(100); 00:08:35.872 -> Gia tri cam bien: 0
}

8
4. Kết quả

Link Video:
https://drive.google.com/drive/folders/12Mg1lNhIEicMWp6uPq8FOIvBy0gqrdYP?u
sp=sharing

9
III. KẾT LUẬN:

Cảm biến đóng vai trò quan trọng trong việc thu thập thông tin từ môi trường
xung quanh, giúp các hệ thống tự động hoạt động hiệu quả. Sử dụng cảm biến giúp cải
thiện hiệu suất, giảm lỗi và tăng cường an toàn trong các hệ thống tự động và robot. Sự
phát triển trong lĩnh vực cảm biến đã mở ra cánh cửa cho nhiều công nghệ mới như trí
tuệ nhân tạo, Internet of Things (IoT), và robot tự hành. Mặc dù cảm biến mang lại
nhiều lợi ích, nhưng vẫn đối mặt với thách thức về tính chính xác, độ ổn định và độ tin
cậy trong môi trường thực tế. Cảm biến có thể được tinh chỉnh và tích hợp vào nhiều
hệ thống khác nhau, từ những ứng dụng đơn giản đến những hệ thống phức tạp.

IV. ỨNG DỤNG TRONG ROBOT

Cảm biến là một phần quan trọng trong robot, giúp robot thu thập thông tin từ môi
trường xung quanh để hiểu và tương tác với nó.

1. Cảm biến khoảng cách (ultrasonic, LIDAR, hoặc hồng ngoại):

Ứng dụng: Đo khoảng cách và phát hiện vật cản.

Sử dụng trong robot tự hành để tránh va chạm và xác định vị trí của các vật thể
xung quanh.

2. Cảm biến tiệm cận (cảm biến từ, cảm biến áp suất, cảm biến ánh sáng):

Ứng dụng: Phát hiện vật thể hoặc biến đổi môi trường.

Sử dụng trong robot để phát hiện đối tượng cụ thể, nhưng cũng có thể sử dụng
để đo lường mức nước, ánh sáng hoặc áp suất.

3. Cảm biến hình ảnh (camera, Kinect):

Ứng dụng: Xác định vị trí, nhận dạng đối tượng, và theo dõi chuyển động.

Sử dụng trong robot để nhận dạng khuôn mặt, đối tượng, hoặc để tự định vị và
điều hướng trong môi trường.

4. Cảm biến gia tốc (accelerometer):

Ứng dụng: Đo gia tốc và cung cấp thông tin về vị trí và chuyển động.

10
Sử dụng trong robot để phát hiện và theo dõi chuyển động của robot hoặc của
một phần cụ thể của robot.

5. Cảm biến vị trí (encoders, IMU):

Ứng dụng: Đo lường vị trí và hướng của robot.

Sử dụng trong robot để xác định vị trí và hướng di chuyển, đặc biệt là trong robot
tự hành hoặc robot công nghiệp.

6. Cảm biến âm thanh (microphone):

Ứng dụng: Phát hiện âm thanh và tương tác giọng nói.

Sử dụng trong robot để nhận dạng lệnh giọng nói, phát hiện âm thanh môi trường
hoặc để tương tác người dùng.

11

You might also like