ในหนึ่งในโครงการ Arduinoของเราก่อนหน้านี้เราใช้เซ็นเซอร์ HC-SR04 เพื่อให้หุ่นยนต์สามารถมองเห็นสิ่งกีดขวางขณะเคลื่อนย้ายและปฏิบัติตามได้HC-SR04 เป็นเซ็นเซอร์อัลตราซาวด์ยอดนิยมและแน่นอนคุณควรเรียนรู้วิธีใช้ประโยชน์จากมัน
โครงการนี้จะถูกแบ่งออกเป็นสองส่วน เราต้องการสร้างอุปกรณ์ที่จะตรวจจับระยะห่างจากวัตถุเคลื่อนที่ส่งระยะทางนั้นไปยังพอร์ตอนุกรมและแสดงระยะทางบนหน้าจอ LCD และเป็นสิ่งสำคัญที่ระยะทางเป็นเมตรเพื่อให้เราสามารถเข้าใจและเข้าใจได้ง่าย
เพื่อให้โครงการง่ายขึ้นเราจะใช้แอลซีดีที่มีตัวแปลง I2C ดังนั้นเราจำเป็นต้องใช้เพียง 4 สายเชื่อมต่อกับ Arduino นอกจากนี้เรายังจะต้องเพิ่มไลบรารีเพิ่มเติมเพื่อร่าง แต่ไม่ต้องกังวล! มันง่ายที่จะดาวน์โหลด
เซ็นเซอร์ระยะทางอัลตราโซนิค
นี่เป็นส่วนที่จำเป็น:
เริ่มต้นด้วยสิ่งที่ง่าย เราจะแสดงระยะทางบนพอร์ตอนุกรมได้อย่างไร?
ก่อนอื่นคุณต้องทำการเชื่อมต่อดังที่แสดงไว้ในแผนผังด้านล่าง เราไม่ต้องเพิ่มจอ LCD อีก
นี่เป็นวิธีการที่ควรมีลักษณะเช่นนี้ใช่ไหม? เพียง 4 สาย, บอร์ด Arduino Uno และเซ็นเซอร์อัลตราโซนิค
รหัส
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
| //trig of ultrasonic sensor int trig = 2; //echo of ultrasonic sensor int echo = 3; void setup() { //seting up serial Serial.begin(9600); //set trig as output and echo as input for ultrasonic sensor pinMode(trig, OUTPUT); pinMode(echo,INPUT); } void loop() { //thats the sequence for ultrasonic sensor to start reading digitalWrite(trig, LOW); delayMicroseconds(2); digitalWrite(trig, HIGH); delayMicroseconds(10); digitalWrite(trig, LOW); //here we got travel time of sonic wave int duration = pulseIn(echo, HIGH); //and gere we calculate distance from it int distance = (duration/2) / 29.1; //print distance on Serial port Serial.println(distance); delay(100); } |
นี่คือสิ่งที่คุณควรเห็นในพอร์ตอนุกรม
ตกลงครึ่งหนึ่งของโครงการพร้อมแล้วให้เพิ่มจอแอลซีดีแล้วนี่คือวิธีที่คุณควรเชื่อมต่อ
จากนั้นเราจะต้องดาวน์โหลดไลบรารี คุณสามารถดาวน์โหลดได้จาก Arduino IDE เพียงแค่เปิด ร่าง>> ห้องสมุด >> จัดการห้องสมุดแล้วหาI2C จอแอลซีดี
รหัสที่เราต้องอัปโหลดค่อนข้างคล้ายกับรูปแรกที่แตกต่างกันซึ่งในขณะนี้แทนการแสดงผลบนซีเรียลเราจะแสดงค่าบนจอ LCD
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
วันที่ 31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
| # include <Wire.h> # include <LiquidCrystal_I2C.h> //trig of ultrasonic sensor int trig = 2; //echo of ultrasonic sensor int echo = 3; //Set the LCD address to 0x27 for 16 chars and 2 line display LiquidCrystal_I2C lcd(0x27, 16, 2); void setup() { // initialize the LCD lcd.begin(); pinMode(trig, OUTPUT); pinMode( echo ,INPUT); //Printing some text on startup lcd.setCursor(1, 0); lcd. print ( "Tutorial45.com" ); lcd.setCursor(4, 1); lcd. print ( "Presents" ); delay(2000); } void loop() { //that is the sequence for the sensor to start reading digitalWrite(trig, LOW); delayMicroseconds(2); digitalWrite(trig, HIGH); delayMicroseconds(10); digitalWrite(trig, LOW); //here we got travel time of sonic wave int duration = pulseIn( echo , HIGH); //and here we calculate distance from it int distance = (duration/2) / 29.1; //before displaying new value on LCD we have to clear it lcd.clear(); //here we display the value on the LCD lcd. print (distance); //delay 100 so we have around 10Hz of frequency of readings delay(100); } |
และมีคุณ!
โครงการสนุกมากง่ายและมีประโยชน์ หวังว่าคุณจะได้เป็นผู้ผลิตที่ดีขึ้นหลังจากอ่านบทแนะนำนี้แล้ว อย่าลังเลที่จะแสดงให้ฉันเห็นว่าคุณสามารถสร้างหัวข้อความคิดเห็นด้านล่างได้อย่างไร
ไม่มีความคิดเห็น:
แสดงความคิดเห็น