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

Nghiên cứu chế tạo hệ đo nồng độ hạt bụi pm25 và pm10 trong không khí dựa trên arduino

130 4 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 130
Dung lượng 16,37 MB

Nội dung

SỔ TAY ARDUINO Web tdhshop com vn Chuyên Kit TỰ HỌC ARDUINO LẬP TRÌNH ĐIỀU KHIỂN ARDUINO CHO NGƢỜI MỚI BẮT ĐẦU V2 SỔ TAY ARDUINO Web tdhshop com vn Chuyên Kit TỰ HỌC ARDUINO HỌC VIẾT CHƢƠNG TRÌNH CHO.

SỔ TAY ARDUINO Góc dị lớn Để tăng độ nhậy cho đầu dị, Bạn dùng kính Fresnel, thiết kế cho loại đầu có cảm biến, góc dị lớn, có tác dụng ngăn tia tử ngoại Nguyên lý làm việc loại đầu dò PIR nhƣ hình sau: Các nguồn nhiệt (với người vật nguồn thân nhiệt) phát tia hồng ngoại, qua kính Fresnel, qua kích lọc lấy tia hồng ngoại, cho tiêu tụ cảm biến hồng ngoại gắn đầu dò, tạo điện áp khuếch đại với transistor FET Khi có vật nóng ngang qua, từ cảm biến cho xuất tín hiệu tín hiệu khuếch có biên độ đủ cao đưa vào mạch so áp để tác động vào thiết bị điều khiển hay báo động Sơ đồ chân cảm biến PIR Web: tdhshop.com.vn - Chuyên Kit TỰ HỌC ARDUINO SỔ TAY ARDUINO  GND – kết nối với mặt đất  OUT – kết nối đến chân digital Arduino  5V – kết nối với 5V Linh kiện thí nghiệm:  1x PIR Motion Sensor  1x Arduino UNO (hoặc bất kỳ)  1x LED loa Sơ đồ kết nối arduino cảm biến: Web: tdhshop.com.vn - Chuyên Kit TỰ HỌC ARDUINO SỔ TAY ARDUINO Lập trình điều khiển: int ledPin = 13; // chọn chân 13 báo hiệu LED int inputPin = 2; // chọn ngõ tín hiệu vào cho PIR int pirState = LOW; // Bắt đầu với khơng có báo động int val = 0; int pinSpeaker = 10; //chọn chân cho chng có đột nhập void setup() { pinMode(ledPin, OUTPUT); pinMode(inputPin, INPUT); pinMode(pinSpeaker, OUTPUT); Serial.begin(9600); } void loop() { val = digitalRead(inputPin); // đọc giá trị đầu vào Web: tdhshop.com.vn - Chuyên Kit TỰ HỌC ARDUINO SỔ TAY ARDUINO if (val == HIGH) // giá trị mức cao.(1) { digitalWrite(ledPin, HIGH); // LED On playTone(300, 160); // thời gian chuông kêu delay(150); if (pirState == LOW) { Serial.println("Motion detected!"); pirState = HIGH; } } else { digitalWrite(ledPin, LOW); playTone(0, 0); delay(300); if (pirState == HIGH) { Serial.println("Motion ended!"); pirState = LOW; } } } void playTone(long duration, int freq) { Web: tdhshop.com.vn - Chuyên Kit TỰ HỌC ARDUINO SỔ TAY ARDUINO duration *= 1000; int period = (1.0 / freq) * 1000000; long elapsed_time = 0; while (elapsed_time < duration) { digitalWrite(pinSpeaker,HIGH); delayMicroseconds(period / 2); digitalWrite(pinSpeaker, LOW); delayMicroseconds(period / 2); elapsed_time += (period); } } 13 CẢM BIẾN KHOẢNG CÁCH ( SRF05) PHẦN NÀY BỔ XUNG Đối với robot, chế độ tự động, phải lấy thơng tin mơi trường xung quanh như: khoảng cách, nhiệt độ, ánh sáng Và tiến hành phân tích liệu đó, cuối định phù hợp Ví dụ robot tự tìm đường phải tính xem phía trước có vật cản hay khơng, tiến hành tới hay rẽ sang hướng khác Bài viết hướng dẫn bạn đọc hiểu sử dụng cảm biến khoảng cách phổ biến - SRF05 Thiết bị cần chuẩn bị Các bạn cần chuẩn bị thiết bị sau:     x Arduino Uno R3 x cảm biến siêu âm SRF05 x breadboard để cắm mạch test Dây cắm loại Cảm biến siêu âm SRF05 Web: tdhshop.com.vn - Chuyên Kit TỰ HỌC ARDUINO SỔ TAY ARDUINO Sóng siêu âm (sonar) loại sóng cao tầng mà người nghe thấy Tuy nhiên, ta thấy diện sóng siêu âm khắp nơi tự nhiên Ta có lồi động vật dơi, cá heo dùng sóng siêu âm để liên lạc với nhau, để săn mồi hay định vị khơng gian Việc tính tốn khoảng cách cịn phụ thuộc nhiều vào mơi trường truyền dẫn, ví dụ sóng âm truyền môi trường nước hay kim loại nhanh nhiều so với sóng âm truyền mơi trường khơng khí Lƣu ý sóng âm khơng thể truyền đƣợc môi trƣờng chân không Cảm biến siêu âm SRF05 hoạt động theo nguyên tắc trên, thiết bị gồm có loa - thu phát - với chân để kết nối với Arduino, tầm hoạt động tối đa cảm biến nằm khoảng 5m Chức chân nhƣ sau: Vcc: cấp nguồn cho cảm biến Trigger: kích hoạt q trình phát sóng âm Q trình kích hoạt chu kì điện cao / thấp diễn Web: tdhshop.com.vn - Chuyên Kit TỰ HỌC ARDUINO SỔ TAY ARDUINO Echo: bình thường trạng thái 0V, kích hoạt lên 5V có tín hiệu trả về, sau trở 0V Gnd: nối với cực âm mạch OUT: không sử dụng Ta tiến hành lắp đặt cảm biến khoảng cách SRF05 theo sơ đồ sau: Vcc: nối với nguồn 5V Adruino Gnd: nối với PIN GND Trigger: nối với PIN Echo: nối với PIN Lập trình điều khiển const int trig = 8; // chân trig HC-SR05 const int echo = 7; // chân echo HC-SR05 void setup() { Serial.begin(9600); // giao tiếp Serial với baudrate 9600 pinMode(trig,OUTPUT); // chân trig phát tín hiệu pinMode(echo,INPUT); // chân echo nhận tín hiệu } void loop() { unsigned long duration; // biến đo thời gian int distance; // biến lƣu khoảng cách /* Phát xung từ chân trig */ digitalWrite(trig,0); // tắt chân trig Web: tdhshop.com.vn - Chuyên Kit TỰ HỌC ARDUINO SỔ TAY ARDUINO delayMicroseconds(2); digitalWrite(trig,1); // phát xung từ chân trig delayMicroseconds(5); // xung có độ dài microSeconds digitalWrite(trig,0); // tắt chân trig /* Tính tốn thời gian */ // Đo độ rộng xung HIGH chân echo duration = pulseIn(echo,HIGH); // Tính khoảng cách đến vật distance = int(duration/2/29.1); /* In kết Serial Monitor */ Serial.print(distance); Serial.println("cm"); delay(200); } Giải tích code: Ta biết thời gian âm truyền khơng khí 20°C 344 m/s Bằng quy tắc tam suất đơn giản ta dễ dàng tính sóng âm di chuyển cm khơng khí 1000 / 344 * 100 ~= 29.1 Arduino cung cấp cho ta hàm pulseIn có tác dụng trả thời gian (tính milisec) kể từ hàm gọi có tín hiệu PIN định trước, hay trả khơng nhận tín hiệu / thời gian timeout Web: tdhshop.com.vn - Chuyên Kit TỰ HỌC ARDUINO SỔ TAY ARDUINO 14 CẢM BIẾN MÀU ( TCS3200) Module cảm biến màu TCS3200 module cảm biến phát đầy đủ màu sắc, bao gồm cảm biến màu TCS3200 với khả nhận biết màu RGB đèn LED trắng Các TCS3200 phát đo lường gần tất màu sắc nhìn thấy Ứng dụng bao gồm kiểm tra đọc dải, phân loại theo màu sắc, cảm biến ánh sáng xung quanh hiệu chuẩn, kết hợp màu sắc, vài ứng dụng TCS3200 có tách sóng quang, có lọc màu sắc lọc màu đỏ, xanh, màu xanh, khơng có lọc ( rõ ràng) Các lọc màu phân bố khắp mảng để loại bỏ sai lệch vị trí điểm màu Bên dao động tạo đầu sóng vng có tần số tỷ lệ thuận với cường độ màu sắc lựa chọn Thông số kỹ thuật: Điện áp cung cấp: (2.7V đến 5.5V) Chuyển đổi từ cường độ ánh sáng sang tần số với độ phân giải cao Có khả lập trình để nhận biết đầy đủ màu sắc Điện tiêu thụ thấp Giao tiếp trực tiếp với vi điều khiển S0 ~ S1: Dùng để lựa chọn tỉ lệ tần số đầu S2 ~ S3: Dùng để lựa chọn kiểu photodiode OUT Pin: Đầu tần số OE Pin: Tần số đầu cho phép hoạt động (hoạt động mức thấp) Hỗ trợ đèn LED bổ sung kiểm soát ánh sáng Web: tdhshop.com.vn - Chuyên Kit TỰ HỌC ARDUINO SỔ TAY ARDUINO Kích thước: 28.4x28.4mm Nguyên tắc nhận biết màu: TCS3200 có lọc màu, lựa chọn lọc màu cho phép nhận biết màu màu khác bị chặn Ví dụ, lựa chọn lọc màu đỏ, Chỉ có ánh sáng tới màu đỏ thơng qua, màu xanh màu xanh ngăn chặn Vì nhận cường độ ánh sáng màu đỏ Tương tự vậy, lựa chọn lọc khác mà nhận ánh sáng màu xanh màu xanh Cách thiết lập màu sắc cho TCS3200: Tần số đầu TCS3200 khoảng 2HZ~500KHZ Tần số đầu có dạng xung vng với tần số khác mà màu sắc khác cường độ sáng khác Chúng ta lựa chọn tỉ lệ cừng độ sáng màu sắc theo bảng sau Trên module có chân LED EN chân điều khiển đèn LED để tắt bật Cách thiết lập tần số cho TCS3200: Web: tdhshop.com.vn - Chuyên Kit TỰ HỌC ARDUINO SỔ TAY ARDUINO Sơ đồ nối dây: Lập trình điều khiển: #define S0 #define S1 #define S2 #define S3 #define sensorOut int frequency = 0; void setup() { 10 pinMode(S0, OUTPUT); 11 pinMode(S1, OUTPUT); 12 pinMode(S2, OUTPUT); 13 pinMode(S3, OUTPUT); 14 pinMode(sensorOut, INPUT); 15 16 // Setting frequency-scaling to 20% 17 digitalWrite(S0,HIGH); 18 digitalWrite(S1,LOW); 19 20 Serial.begin(9600); 21 } 22 23 void loop() { 24 // Setting red filtered photodiodes to be read 25 digitalWrite(S2,LOW); 26 digitalWrite(S3,LOW); Web: tdhshop.com.vn - Chuyên Kit TỰ HỌC ARDUINO SỔ TAY ARDUINO 27 frequency = pulseIn(sensorOut, LOW); 28 Serial.print("R= ");//printing name 29 Serial.print(frequency);//printing RED color frequency 30 Serial.print(" "); 31 delay(100); 32 digitalWrite(S2,HIGH); 33 digitalWrite(S3,HIGH); 34 frequency = pulseIn(sensorOut, LOW); 35 Serial.print("G= ");//printing name 36 Serial.print(frequency);//printing RED color frequency 37 Serial.print(" "); 38 delay(100); 39 digitalWrite(S2,LOW); 40 digitalWrite(S3,HIGH); 41 frequency = pulseIn(sensorOut, LOW); 42 Serial.print("B= ");//printing name 43 Serial.print(frequency);//printing RED color frequency 44 Serial.println(" "); 45 delay(100); 46 } Sau upload chương trình kết nối xong lấy mẫu giấy màu đưa sát vào led màu trắng cảm biến, sau mở serial port lên xem giá trị trả màu Web: tdhshop.com.vn - Chuyên Kit TỰ HỌC ARDUINO SỔ TAY ARDUINO 15 CẢM BIẾN GIA TỐC ( MPU 6050) Cảm biến gia tốc MPU 6050 cảm biến có trục thiết kế cho ứng dụng nguồn nuôi thấp, giá rẻ, có hiệu xuất cao, ứng dụng điện thoại máy tình bảng, thiết bị di động khác MPU-6000/6050 gồm có trục quay hồi chuyển (gyroscope) trục gia tốc (accelerometer ) thiết kế nhân chip Digital Motion Processor (DMP) sử dụng thuật toán MotionFusion thuật toán MotionFusion có khả giao tiếp với số cảm biến khác qua chân I2C phụ trợ (auxiliary master I2C bus), giúp cho thiết bị trang bị đầy đủ loại cảm biến hệ thống điều khiển Board MPU6050 thiết kế với IC nguồn 3.3V trện board trở kéo bus I2C Thông số kĩ thuật cảm biến gia tốc MPU 6050 : - Điện áp cấp: 3~5v - góc quay hồi chuyển với độ nhạy lên đến 131 LSBs/sps đầy đủ độ ±250, ±500, ±1000, and ±2000dps - góc gia tốc kế với đầy đủ khả lập trình với ±2g, ±4g, ±8g and ±16g - Kích thước: 14 x 21mm Sơ đồ nối dậy: Web: tdhshop.com.vn - Chuyên Kit TỰ HỌC ARDUINO SỔ TAY ARDUINO Lập trình điều khiển: Trƣớc hết ta phải cài thƣ viện MPU6050 I2C vào arduino IDE #include const int MPU_addr=0x68; // I2C address of the MPU-6050 int16_t AcX,AcY,AcZ,Tmp,GyX,GyY,GyZ; void setup(){ Wire.begin(); Wire.beginTransmission(MPU_addr); Wire.write(0x6B); // PWR_MGMT_1 register Wire.write(0); // set to zero (wakes up the MPU-6050) Wire.endTransmission(true); Serial.begin(9600); } void loop(){ Wire.beginTransmission(MPU_addr); Wire.write(0x3B); // starting with register 0x3B (ACCEL_XOUT_H) Wire.endTransmission(false); Wire.requestFrom(MPU_addr,14,true); // request a total of 14 registers AcX=Wire.read()

Ngày đăng: 06/12/2022, 18:29

HÌNH ẢNH LIÊN QUAN

Serial.print(&#34;Do am la:&#34;);//In ra màn hình   Serial.print(Doamdat);//In ra độ ẩm đất    //Bơm nƣớc khi đất khô( thông qua role)    if(Doamdat&lt;200)  - Nghiên cứu chế tạo hệ đo nồng độ hạt bụi pm25 và pm10 trong không khí dựa trên arduino
erial.print (&#34;Do am la:&#34;);//In ra màn hình Serial.print(Doamdat);//In ra độ ẩm đất //Bơm nƣớc khi đất khô( thông qua role) if(Doamdat&lt;200) (Trang 99)
Màn hình LCD 16 x2 - Nghiên cứu chế tạo hệ đo nồng độ hạt bụi pm25 và pm10 trong không khí dựa trên arduino
n hình LCD 16 x2 (Trang 100)
Màn hình LCD - Nghiên cứu chế tạo hệ đo nồng độ hạt bụi pm25 và pm10 trong không khí dựa trên arduino
n hình LCD (Trang 103)
Thông thường, để sử dụng màn hình LCD, bạn sẽ phải mất rất nhiều chân trên Arduino để điều khiển - Nghiên cứu chế tạo hệ đo nồng độ hạt bụi pm25 và pm10 trong không khí dựa trên arduino
h ông thường, để sử dụng màn hình LCD, bạn sẽ phải mất rất nhiều chân trên Arduino để điều khiển (Trang 103)
Download và cài đặt thư viện hỗ trợ sử dụng màn hình LCD qua giao tiếp I2C: http://tdhshop.com.vn/tong-hop-cac-thu-vien-cho-arduino  - Nghiên cứu chế tạo hệ đo nồng độ hạt bụi pm25 và pm10 trong không khí dựa trên arduino
ownload và cài đặt thư viện hỗ trợ sử dụng màn hình LCD qua giao tiếp I2C: http://tdhshop.com.vn/tong-hop-cac-thu-vien-cho-arduino (Trang 104)
Nếu bạn khơng có module hỗ trợ này, bạn vẫn có thể điều khiển màn hình theo cách thông thƣờng - Nghiên cứu chế tạo hệ đo nồng độ hạt bụi pm25 và pm10 trong không khí dựa trên arduino
u bạn khơng có module hỗ trợ này, bạn vẫn có thể điều khiển màn hình theo cách thông thƣờng (Trang 104)
Test màn hình LCD. - Nghiên cứu chế tạo hệ đo nồng độ hạt bụi pm25 và pm10 trong không khí dựa trên arduino
est màn hình LCD (Trang 105)
Sơ đồ nối dây theo bảng này: - Nghiên cứu chế tạo hệ đo nồng độ hạt bụi pm25 và pm10 trong không khí dựa trên arduino
Sơ đồ n ối dây theo bảng này: (Trang 111)
SỔ TAY ARDUINO - Nghiên cứu chế tạo hệ đo nồng độ hạt bụi pm25 và pm10 trong không khí dựa trên arduino
SỔ TAY ARDUINO (Trang 111)
SỔ TAY ARDUINO - Nghiên cứu chế tạo hệ đo nồng độ hạt bụi pm25 và pm10 trong không khí dựa trên arduino
SỔ TAY ARDUINO (Trang 116)
Nguyên lý làm việc của loại đầu dò PIR nhƣ hình sau: - Nghiên cứu chế tạo hệ đo nồng độ hạt bụi pm25 và pm10 trong không khí dựa trên arduino
guy ên lý làm việc của loại đầu dò PIR nhƣ hình sau: (Trang 116)

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

TÀI LIỆU LIÊN QUAN

w