18 เซนเซอร์จับการเคลื่อนไหว PIR ด้วย ARDUINO IN TINKERCAD
เซนเซอร์จับการเคลื่อนไหว PIR ด้วย ARDUINO IN TINKERCAD
บทนำ: PIR Motion Sensor พร้อมด้วย Arduino in Tinkercad
ลองเรียนรู้ที่จะรู้สึกถึงการเคลื่อนไหวในห้องที่มีเซ็นเซอร์การเคลื่อนไหว PIR และช่องรับสัญญาณดิจิตอลของ Arduino เราจะเชื่อมต่อวงจรโดยใช้ breadboard และใช้รหัส Arduino ง่ายๆในการควบคุม LED ตัวเดียว เราจะใช้วงจร Tinkercad เพื่อจำลองวงจรเพื่อให้คุณสามารถปฏิบัติตามได้โดยไม่มีส่วนประกอบใด ๆ และแสดงวิธีสร้างวงจรทางกายภาพด้วย
จนถึงตอนนี้คุณได้เรียนรู้การอ่านปุ่มกดพร้อมกับการป้อนข้อมูลดิจิตอลของ Arduinoแล้วดังนั้นเราจึงสร้างทักษะเหล่านี้ในบทเรียนนี้ แม้ว่าเซ็นเซอร์การเคลื่อนไหวอาจดูเหมือนซับซ้อนกับแผงวงจรเฉพาะของตน แต่ก็มีการกำหนดค่าให้ส่งสัญญาณสูงหรือต่ำมากเช่นเดียวกับปุ่มกด
PIR ย่อมาจาก Passive InfraRed ซึ่งอธิบายถึงเทคโนโลยีภายในซึ่งตรวจจับระดับแสงอินฟราเรด (ไม่เหมือนกล้องอินฟราเรดที่อาจปล่อยแสงอินฟราเรดเพื่อจับภาพสะท้อน) โดมสีขาวคือเลนส์ที่ขยายขอบเขตการมองเห็นของเครื่องตรวจจับอินฟราเรด เซ็นเซอร์จะรายงานสัญญาณ LOW ตามค่าเริ่มต้นอ่านปริมาณแสงอินฟาเรดจากภายในและเรียกใช้สัญญาณ HIGH ในช่วงเวลาหนึ่งเมื่อระดับแสงเปลี่ยนไปแสดงการเคลื่อนที่ สามารถบอกได้ว่ามีฉากในฉากหรือไม่สามารถตรวจจับระยะทางได้เนื่องจากคุณอาจพิจารณาชนิดของเซ็นเซอร์อินพุตแบบอะนาล็อกที่เรียกว่าเครื่องเรนจ์ไฟนแบบอัลตราโซนิค
หากต้องการสร้างวงจรทางกายภาพให้รวบรวมบอร์ด Arduino Uno ของคุณสาย USB เคเบิ้ลบอร์ดบัดกรี LED ตัวต้านทาน (ค่าใด ๆ จาก 100-1K) เซ็นเซอร์ตรวจจับการเคลื่อนไหว PIR และสายเมนบอร์ด
คุณสามารถทำตามความจริงโดยใช้วงจร Tinkercad คุณยังสามารถดูบทเรียนนี้จากภายใน Tinkercad(เข้าสู่ระบบฟรีที่จำเป็น)! สำรวจวงจรตัวอย่างและสร้างสิทธิของคุณเองถัดจากนั้น Tinkercad Circuits เป็นโปรแกรมที่ใช้เบราว์เซอร์ฟรีเพื่อช่วยในการสร้างและจำลองวงจร มันเหมาะสำหรับการเรียนรู้ , การเรียนการสอนและการสร้างต้นแบบ
ขั้นตอนที่ 1: สร้างวงจร

สำรวจวงจรตัวอย่างที่นี่ในวงจรฝังตัวด้านล่างโดยเริ่มต้นการจำลองและคลิกที่เซ็นเซอร์ตรวจจับภาพเคลื่อนไหว ซึ่งจะเปิดใช้งานบริเวณที่เน้นที่ด้านหน้าของเซ็นเซอร์โดยมี "วัตถุ" วงกลมอยู่ข้างใน คุณอาจต้องปรับขนาดมุมมองหากวงกลมปิดหน้าจอ คลิกและลากวงกลม "วัตถุ" หน้าเซ็นเซอร์เพื่อแสดงการเคลื่อนที่ LED จะเปิดขึ้นในระยะเวลาอันสั้นเมื่อตรวจพบการเคลื่อนไหว
รุ่นฟรีสายของวงจรนี้เป็นภาพข้างต้น ถ้าจำเป็นให้ใช้เวลาสักครู่เพื่อรีเฟรชความรู้เกี่ยวกับbreadboardของคุณ คุณสามารถโหลดหน้าต่างTinkercad Circuitsตัวใหม่และสร้างวงจรของตัวเองตามตัวอย่างได้
ระบุเซ็นเซอร์การเคลื่อนไหว PIR, LED, ตัวต้านทานและสายที่เชื่อมต่อกับ Arduino
ลาก Arduino Uno และ breadboard จากแผงส่วนประกอบไปยัง workplane
เชื่อมต่อรางรถไฟ (+) และพื้นดิน (-) เข้ากับ Arduino 5V และพื้น (GND) ตามลำดับโดยคลิกเพื่อสร้างสายไฟ
ขยายรางจ่ายไฟและพื้นลงบนรถเมล์ของตนบนขอบด้านตรงข้ามของแท่นไม้ด้วยการสร้างลวดสีแดงระหว่างรถขับเคลื่อนและสายไฟสีดำระหว่างรถเมล์ทั้งสองสาย
เสียบ LED เข้ากับแท่นไม้สองแบบเพื่อให้ขั้วลบ (ขาสั้นขาสั้น) เชื่อมต่อกับขาด้านหนึ่งของตัวต้านทาน (ที่ใดก็ได้จาก 100-1K โอห์ม) ตัวต้านทานสามารถไปในทิศทางใดก็ได้เนื่องจากตัวต้านทานไม่ได้ขั้วเหมือน LED ซึ่งต้องเชื่อมต่อด้วยวิธีใดวิธีหนึ่งเพื่อให้สามารถทำงานได้
ต่อขาต้านทานตัวอื่นเข้ากับพื้น
ต่อสายไฟที่ขั้วบวก LED (บวกขายาว) กับขา Arduino 13
ลากเซ็นเซอร์ตรวจจับการเคลื่อนไหว PIR จากแผงส่วนประกอบไปที่เมนบอร์ดของคุณเพื่อให้ขาเสียบออกเป็นสามแถว
คลิกเพื่อสร้างลวดเชื่อมต่อขาขวาสุดเข้ากับกำลัง
ต่อขากลางเข้ากับพื้น
สร้างลวดเชื่อมขาซ้ายสุดเข้ากับขาอะนาล็อก Arduino A0
ขั้นตอนที่ 2: โค้ดพร้อมบล็อก
ลองใช้ Blocks coding interface เพื่อรับฟังสัญญาณเซ็นเซอร์ PIR จากนั้นจึงตัดสินใจที่จะเปิดไฟ LED ขึ้นอยู่กับสถานะของเซ็นเซอร์: เปิดหรือไม่ใช้งาน
คลิกปุ่ม "รหัส" เพื่อเปิดตัวแก้ไขรหัส
คลิกประเภทตัวแปรในโปรแกรมแก้ไขโค้ด
sensorState
สร้างตัวแปรใหม่ที่เรียกว่า
ลากชุด "set" ออก
เราจะเก็บสถานะของเซ็นเซอร์การเคลื่อนไหวของเรา PIR
sensorState
เพื่อตัวแปรของเรา คลิกที่หมวดบล็อกการป้อนข้อมูลลากแท็บ "อ่านพินดิจิทัล" ออกและวางลงในชุด "บล็อก" หลังจากคำว่า "ถึง"
เนื่องจากเซ็นเซอร์ของเราเชื่อมต่อกับ Arduino บน Pin 2 ให้เปลี่ยนรายการแบบหล่นลงของบล็อก "อ่านแบบดิจิทัล" เป็น 2 ตอนนี้บล็อกของคุณควรอ่าน "set sensorState เพื่ออ่าน Digital Pin 2" ซึ่งจะจัดเก็บการอ่านแบบดิจิตอลของขาเซ็นเซอร์ไว้ ตัวแปรเซนเซอร์สตอเรจของเรา!
คลิกที่หมวดหมู่การควบคุมและลากแท็บ "if then" ออก
กำหนดค่าเพื่อประเมินว่า
sensorState
มีค่าเท่ากับการHIGH
ใช้บล็อกการเปรียบเทียบคณิตศาสตร์หรือไม่ ลากแท็บการเปรียบเทียบคณิตศาสตร์เข้ากับคำสั่ง if เพื่อตรวจสอบว่าตัวแปรของเราsensorState
มีค่าเท่ากับHIGH
หรือไม่
เราต้องการเปิดไฟ LED หากเซ็นเซอร์ทำงานหรือไม่เช่นนั้นเราต้องการให้ LED ของเราดับลง ภายใต้หมวดบล็อกเอาต์พุตให้ค้นหาชุด "ตั้งค่า LED ภายในไปยัง HIGH" ลองเพิ่มสองบล็อคเหล่านี้ไปยังคำสั่ง if ของเราเพื่อให้ LED จะทำงานเฉพาะเมื่อเซ็นเซอร์ทำงานเท่านั้น ชุดในตัว LEDควรจะสูงเมื่อรัฐเซ็นเซอร์
HIGH
- มิฉะนั้นการตั้งค่าในตัว LEDLOW
ที่ควรจะเป็นขั้นที่ 3: เซนเซอร์ตรวจจับความเคลื่อนไหวของ PIR Arduino Code อธิบายStep 3: PIR Motion Sensor Arduino Code Explained
When the code editor is open, you can click the dropdown menu on the left and select "Blocks + Text" to reveal the Arduino code generated by the code blocks. Follow along as we explore the code in more detail.
int sensorState = 0;
Before the
setup()
, we create a variable to store the current state of the sensor. It’s called int
because it’s an integer, or any whole number (although we will only be using values 0 and 1, LOW and HIGH).void setup() { pinMode(2, INPUT); pinMode(13, OUTPUT); Serial.begin(9600); }
Inside the setup, pins are configured using the
pinMode()
function. Pin 2 is configured as an input, so we can "listen" to the electrical state of the sensor. Pin 13 is configured as an output to control the LED. To be able to send messages, the Arduino opens a new serial communication channel with Serial.begin()
, which takes a baud rate argument (what speed to communicate), in this case 9600 bits per second.void loop() { // read the state of the sensor/digital input sensorState = digitalRead(2);
Anything after a set of slashes
//
is a comment, just for us humans to read, and is not included in the program when the Arduino runs it. In the main loop, a function called digitalRead();
checks the state of pin 2 (which will be either 5V aka HIGH or ground aka LOW), and stores that state in the sensorState
variable we created at the top.// check if sensor pin is HIGH. if it is, set the // LED on. if (sensorState == HIGH) { digitalWrite(13, HIGH); Serial.println("Sensor activated!"); } else { digitalWrite(13, LOW); } delay(10); // Delay a little bit to improve simulation performance }
ด้านล่างอีกสองแถวความคิดเห็นคือคำสั่ง ifที่ตรวจสอบเพื่อดูว่า
sensorState
มีความสูง ( ==
เป็นตัวดำเนินการเปรียบเทียบไม่ต้องสับสนกับ=
ซึ่งเป็นตัวดำเนินการมอบหมาย ) หากมีเงื่อนไขครบถ้วนไฟ LED ภายในติดตั้งไว้สูง (เปิด) ถ้าไม่มีโค้ดที่อยู่ภายในelse {
จะถูกดำเนินการแทน: ไฟ LED ในตัวถูกตั้งไว้ที่ LOW (ปิด) ถ้างบสามารถอยู่คนเดียวหรือกับหนึ่งหรือมากกว่างบอื่นขั้นตอนที่ 4: การตั้งค่าเซนเซอร์จับการเคลื่อนไหว PIR
หากคุณกำลังสร้างวงจรทางกายภาพคุณจะต้องตั้งค่าเพียงเล็กน้อยด้วยเซ็นเซอร์การเคลื่อนไหว PIR ของคุณ
ระบุแถวของสามส่วนหัวบนแผงวงจร พวกเขาจะอยู่ตรงกลางของขอบหนึ่งและมีป้ายกำกับว่า GND, OUT และ + 5v (หรือคล้ายกัน)
เสียบปลั๊กแบบมีสายเข้ากับหมุดส่วนหัว 3 เส้นโดยมีสายสีดำเรียงรายไปด้วย GND
ตรวจดูว่าขั้วต่อแน่นแล้วหรือไม่
อีกทางเลือกหนึ่งคือคุณสามารถเชื่อมต่อสายการผลิตต้นแบบหญิงกับสามตัวไปยังหมุดส่วนหัว
ขั้นตอนที่ 5: สร้างวงจร Arduino ทางกายภาพ (อุปกรณ์เสริม)
หากต้องการตั้งค่า Arduino Uno แบบกายภาพคุณจะต้องติดตั้งซอฟต์แวร์ฟรี (หรือปลั๊กอินสำหรับโปรแกรมแก้ไขเว็บ)จากนั้นเปิดขึ้นมา
เชื่อมต่อวงจร Arduino Uno โดยเสียบส่วนประกอบและสายไฟเพื่อให้ตรงกับการเชื่อมต่อที่แสดงไว้ใน Tinkercad Circuits สำหรับการเดินในเชิงลึกมากขึ้นเกี่ยวกับการทำงานร่วมกับบอร์ด Arduino Uno ที่มีอยู่จริงของคุณโปรดดูที่ชั้น Instructables Arduinoฟรี
คัดลอกรหัสจากหน้าต่างรหัส Tinkercad Circuits และวางลงในร่างเปล่าในซอฟต์แวร์ Arduino ของคุณหรือคลิกปุ่มดาวน์โหลด (ลูกศรชี้ลง) และเปิดไฟล์ที่เป็นผลลัพธ์โดยใช้ Arduino คุณสามารถหาตัวอย่างนี้ได้ในซอฟต์แวร์ Arduino ด้วยการไปที่ File -> Examples -> 02.Digital -> Button (มีชื่อตัวแปรแตกต่างกัน แต่ก็ไม่เหมือนกัน)
เสียบสาย USB ของคุณและเลือกบอร์ดและพอร์ตในเมนูเครื่องมือของซอฟต์แวร์
อัปโหลดโค้ดและดูไฟ LED ของคุณขึ้นเมื่อคุณเดินหน้าเซ็นเซอร์!
ขั้นตอนที่ 6: การปรับ PIR Motion Sensor
เซ็นเซอร์ตรวจจับการเคลื่อนไหวของ PIR บางส่วนมาพร้อมกับโพเทนชิออมิเตอร์ปรับได้สองแบบเพื่อเปลี่ยนความไวและระยะเวลาของสัญญาณการเปิดใช้งาน เซ็นเซอร์การเคลื่อนไหว PIR ที่นี่ในวงจร Tinkercad ไม่ได้จำลองการปรับค่าเหล่านี้
เลือกใช้ไขควงขนาดเล็กเพื่อปรับความไวและเวลาในด้านแผงวงจรของเซ็นเซอร์การเคลื่อนไหว PIR ของคุณ ทดลองเพื่อดูผลกระทบต่อพฤติกรรมของวงจร
ขั้นตอนที่ 7: ถัดไปลอง ...
ตอนนี้คุณได้เรียนรู้ที่จะตรวจจับสัญญาณเซ็นเซอร์การเคลื่อนไหวของ PIR และใช้งบถ้าต้องการประเมินสถานะคุณพร้อมที่จะเขียนโค้ดและสร้างเซ็นเซอร์ของคุณในโครงการที่เสร็จสมบูรณ์แล้ว
คุณสามารถเปลี่ยน LED กับเซอร์โวมอเตอร์และโค้ดโปรแกรมที่จะปรับเซอร์โวเมื่อเซ็นเซอร์ถูกเรียกใช้หรือไม่?
ลองด้านการพิมพ์ 3D ของ Tinkercadเพื่อสร้างตู้อิเล็กทรอนิกส์พร้อมกับเปิดสำหรับเซ็นเซอร์การเคลื่อนไหว PIR ของคุณ
เรียนรู้วิธีการตรวจสอบ Arduino ของปัจจัยการผลิตแบบดิจิตอลและอนาล็อกผ่านเครื่องคอมพิวเตอร์ที่ใช้ในการตรวจสอบอนุกรม
นอกจากนี้คุณยังสามารถเรียนรู้ทักษะอิเล็กทรอนิกส์มากขึ้นด้วยการเรียน Instructables ฟรีบนArduino , Basic เครื่องใช้ไฟฟ้า , ไฟ LED และโคมไฟ , พิมพ์ 3Dและอื่น ๆ อีกมากมาย
ความคิดเห็น
แสดงความคิดเห็น