แพลตฟอร์ม Arduino เป็นหนึ่งในดีที่สุดสำหรับการสร้างระบบอัตโนมัติต่างๆ นอกจากนี้ มหาวิทยาลัยและวิทยาลัยหลายแห่งยังใช้ Arduino เพื่อแนะนำนักเรียนให้รู้จักกับสาขาวิทยาการหุ่นยนต์ อันที่จริง Arduino นั้นมีน้ำหนักเบามาก แต่ในขณะเดียวกันก็เป็นแพลตฟอร์มที่ทรงพลังสำหรับการสร้างหุ่นยนต์และระบบอัจฉริยะต่างๆ และแน่นอนว่าจะใช้เวลาน้อยลงในการจำหน่ายเซ็นเซอร์สำเร็จรูป มีจำนวนมากในร้านค้า ดังนั้นจึงค่อนข้างยากที่จะสับสนในการเลือกอันที่ถูกต้อง ในบทความนี้ เราจะมาดูเซ็นเซอร์ Arduino หลักบางตัว และวิธีการทำงาน
หาซื้อได้ที่ไหน
ความจริงก็คือเซ็นเซอร์ในร้านของเราใช้เงินเป็นจำนวนมาก และถ้าคุณจะเริ่มต้นสำรวจแพลตฟอร์ม Arduino คุณเพียงแค่ต้องรู้ว่าคุณสามารถซื้อได้จากที่ใดในราคาถูก คำตอบนั้นง่าย - ร้านค้าจีน มันอาจจะเป็นAliexpress, Joom, Pandao และอื่นๆ ร้านค้าเกือบทั้งหมดซื้อเซ็นเซอร์ที่นั่นและขายด้วยอัตรากำไรขั้นต้นที่สูงถึง 300% แน่นอน คุณจะต้องรอสักครู่และคุณไม่สามารถแน่ใจในคุณภาพของสินค้าได้ แต่การจ่ายเงินเพิ่มขึ้นสามเท่าสำหรับเซ็นเซอร์ตัวเดียวกันก็ไม่คุ้มค่าเช่นกัน ตัวอย่าง: Aliexpress มีชุดเซ็นเซอร์ 36 ตัวที่ราคา 800 รูเบิล ชุดเดียวกันขายในร้านค้ารัสเซียในราคา 3.5 พันรูเบิล แล้วแต่คุณ
ขับเซอร์โว
เซอร์โวไดรฟ์ใช้ในการออกแบบหุ่นยนต์และระบบอัจฉริยะต่างๆ ด้วยความช่วยเหลือของเซอร์โว คุณสามารถเปิดประตู ค้นหาระดับการหมุน และอื่นๆ อีกมากมาย แต่ส่วนใหญ่จะใช้ในการสร้างหุ่นยนต์ มุมการหมุนสูงสุดของเซอร์โว: 180 องศา แต่บางครั้งในพื้นที่เปิดโล่งของ Aliexpress คุณยังสามารถเห็นตัวเลือกต่างๆ ด้วยมุมการหมุน 360 องศา นี่เป็นองค์ประกอบพื้นฐานที่ค่อนข้างดี บทเรียนเกือบทั้งหมดบน Arduino ที่มีเซ็นเซอร์เริ่มต้นที่มัน เซอร์โวเชื่อมต่อง่าย รหัสควบคุมก็ง่ายมาก
ในการเชื่อมต่อเซอร์โว ใช้สายไฟเพียงสามเส้นเท่านั้น: กราวด์ เพาเวอร์ ลอจิก สายสัญญาณ (ปกติจะเป็นสีเหลืองหรือสีน้ำตาล) เชื่อมต่อกับพินที่เปิดใช้งาน PWM (การปรับความกว้างพัลส์ไวด์) บน Arduino
ตัวอย่างโค้ด:
include // รวมไลบรารีเพื่อทำงานกับ Servo servo1; // ประกาศตัวแปรเซอร์โวประเภท "servo1" การตั้งค่าเป็นโมฆะ () // การตั้งค่าขั้นตอน (servo1.attach (11)); //ผูกเซอร์โวกับเอาต์พุตแบบอะนาล็อก 11 } วงเป็นโมฆะ () // ลูปขั้นตอน { servo1.write (0); // ตั้งค่ามุมการหมุนเป็น 0 ดีเลย์ (2000); // รอ 2 วินาที servo1.write (90); // ตั้งค่ามุมการหมุนเป็น 90 ดีเลย์ (2000); // รอ 2 วินาที servo1.write (180); // ตั้งค่ามุมการหมุนเป็น 180 ดีเลย์ (2000); // รอ 2 วินาที }
ขั้นแรก เราเพิ่มไลบรารีที่มีอยู่ใน Arduino ลงในโค้ดแล้ว จากนั้นเราระบุพินที่เซอร์โวเชื่อมต่ออยู่ อย่างที่คุณเห็น การทำงานกับเซอร์โวนั้นง่ายมาก การควบคุมมีเพียงโอเปอเรเตอร์เดียว
ราคาใน Aliexpress: 80–100 rubles.
DHT-11
DHT-11 ใช้สำหรับวัดอุณหภูมิและความชื้น เซ็นเซอร์อุณหภูมิสำหรับ Arduino นี้เป็นที่นิยมมากที่สุดเนื่องจากราคาและคุณสมบัติของมัน วัดอุณหภูมิได้ตั้งแต่ 0 ถึง 50 องศา และความชื้นได้ตั้งแต่ 20 ถึง 80% นอกจากนี้ เซ็นเซอร์อีกรุ่นหนึ่งที่ลดราคาคือ DHT-22 ซึ่งมีช่วงการวัดที่ใหญ่กว่า แต่ก็มีค่าใช้จ่ายเพิ่มขึ้นหลายเท่า สำหรับโครงการธรรมดาๆ ไม่แนะนำให้ใช้งาน ดังนั้นทุกคนจึงชอบ DHT-11 ซึ่งวัดผลได้ดีเยี่ยม จ่ายไฟได้ตั้งแต่ 3.3 ถึง 5V โดยทั่วไปแล้ว ตัวเซ็นเซอร์จะมีหมุดเชื่อมต่อ 4 ตัว แต่มีโมดูล DHT-11 จำหน่ายอยู่ จึงสะดวกกว่ามากในการทำงานกับพวกมัน เนื่องจากการเชื่อมต่อผ่าน 3 พิน และคุณไม่จำเป็นต้องทนกับตัวต้านทาน
การเชื่อมต่อ เซ็นเซอร์อุณหภูมินี้เชื่อมต่อกับ Arduino โดยใช้สามหน้าสัมผัส: กราวด์ กำลังและตรรกะ
ตัวอย่างโค้ด:
รวม"DHT.h" define DHTPIN 2 // หมายเลขพินเดียวกันที่กล่าวถึงข้างต้น DHT dht(DHTPIN, DHT11); การตั้งค่าเป็นโมฆะ () { Serial.begin (9600); dht.begin(); } วงเป็นโมฆะ () { ล่าช้า (2000); // หน่วงเวลา 2 วินาที h=dht.readHumidity(); //วัดความชื้นลอย t=dht.readTemperature(); // วัดอุณหภูมิถ้า (isnan (h) || isnan (t)) { // ตรวจสอบ หากการอ่านล้มเหลว "Read Failed" จะถูกพิมพ์และโปรแกรมออกจาก Serial.println("Read Failed"); กลับ; } Serial.print("ความชื้น: "); พิมพ์แบบอนุกรม (h); Serial.print("%\t"); Serial.print("อุณหภูมิ: "); พิมพ์แบบอนุกรม (t); Serial.println("C"); //การแสดงตัวบ่งชี้บนหน้าจอ }
ในตอนเริ่มต้น เมื่อทำงานกับเซอร์โว ห้องสมุดจะเชื่อมต่อกัน โดยวิธีการที่เกี่ยวกับห้องสมุด เริ่มแรกมันไม่ได้อยู่ในแพ็คเกจ Arduino จะต้องดาวน์โหลดไลบรารีนี้ ไลบรารีนี้มีหลายเวอร์ชัน ในตัวอย่างของเรา เวอร์ชันมาตรฐานส่วนใหญ่จะใช้ โปรดใช้ความระมัดระวังเมื่อดาวน์โหลด เนื่องจากรูปแบบอาจแตกต่างกันและโค้ดจะไม่ทำงาน นอกจากนี้ยังเขียนถึงหน้าสัมผัสที่เชื่อมต่อเซ็นเซอร์และเวอร์ชัน (DHT11 หรือ DHT22) เช่นเดียวกับเซอร์โว การทำงานกับเซ็นเซอร์สำหรับ Arduino นี้ทำได้ง่ายมาก โดยใช้โอเปอเรเตอร์เพียงไม่กี่ตัว อีกอย่าง เซอร์โวกับ dht11 มักจะทำงานร่วมกัน เช่น เมื่อสร้างหน้าต่างอัตโนมัติที่จะเปิดขึ้นหากห้องหรือเรือนกระจกร้อนเกินไป
ราคาใน Aliexpress: 80–100 rubles.
เซ็นเซอร์ความชื้นในดิน
เซ็นเซอร์นี้ใช้เมื่อการออกแบบระบบชลประทานอัตโนมัติ ด้วยวิธีนี้ คุณสามารถวัดความชื้นในดิน จากนั้นประมวลผลข้อมูลนี้ และหากจำเป็น ให้รดน้ำต้นไม้ มีเซ็นเซอร์สำหรับ Arduino วางจำหน่ายหลายรุ่น แต่รุ่น FC-28 เป็นที่นิยม ค่อนข้างเป็นตัวเลือกงบประมาณ ดังนั้นทุกคนจึงชอบและใช้มันในโครงการของพวกเขา เซ็นเซอร์มีโพรบสองตัวที่นำไฟฟ้าผ่านพื้นดิน สำหรับดินแห้งความต้านทานจะมากขึ้นและดินเปียกจะน้อยลง โดยทั่วไป เซ็นเซอร์นี้ใช้เฉพาะในโครงการขนาดเล็ก เนื่องจากโพรบทำจากวัสดุที่ไม่ดีและไม่ช้าก็เร็ว ระหว่างการทำงาน เซ็นเซอร์จะสึกกร่อน หลังจากที่เซ็นเซอร์หยุดทำงาน อายุการใช้งานของเซ็นเซอร์เพิ่มขึ้นได้โดยการเปิดใช้งานเมื่อดึงข้อมูลจากพื้นดินเท่านั้น เช่น ทุกๆ 6 ชั่วโมง ช่างฝีมือบางคนถึงกับเปลี่ยนโพรบเป็นโพรบที่ดีกว่า ทำด้วยตัวเอง หรือแม้แต่ประกอบเซ็นเซอร์ความชื้นสำหรับ Arduino ตั้งแต่เริ่มต้น
การเชื่อมต่อเซ็นเซอร์ความชื้นในดินนั้นค่อนข้างง่าย โดยปกติแล้วจะมาพร้อมกับโพเทนชิออมิเตอร์และตัวเปรียบเทียบเพื่อควบคุมความไวของเซ็นเซอร์ โดยรวมแล้วมีผู้ติดต่อสามราย: ลอจิกกำลังและกราวด์ สามารถเชื่อมต่อกับหน้าสัมผัสทั้งแบบดิจิตอลและอนาล็อก อีกอย่าง ทำงานในโหมดแอนะล็อกสะดวกกว่า
ตัวอย่างโค้ด:
int sensor_pin=A0; int output_value; การตั้งค่าเป็นโมฆะ () { Serial.begin (9600); Serial.println("กำลังอ่านข้อมูลจากเซนเซอร์"); ล่าช้า (2000); } วงเป็นโมฆะ () { output_value=analogRead (เซ็นเซอร์_pin);output_value=แผนที่ (output_value, 550, 0, 0, 100); Serial.print("ความชื้น: "); Serial.print(output_value); Serial.println("%"); ล่าช้า (1000); }
อันดับแรก เรากำหนดหน้าสัมผัสที่เซ็นเซอร์เชื่อมต่อกับ Arduino จากนั้นเราอ่านข้อมูลจากมันและแสดงผล เช่นเดียวกับเซ็นเซอร์อื่นๆ FC-28 นั้นใช้งานง่าย และขอขอบคุณไลบรารีและเซ็นเซอร์สำเร็จรูป
ราคาใน Aliexpress: 30–50 rubles.
เซ็นเซอร์ PIR
เซ็นเซอร์ตรวจจับความเคลื่อนไหวสำหรับ Arduino นี้ใช้ในการสร้างระบบรักษาความปลอดภัยต่างๆ ตรวจจับองค์ประกอบที่เคลื่อนที่ได้ตั้งแต่ 0 ถึง 7 เมตร เราจะไม่พิจารณาหลักการทำงาน มาต่อกันที่เซ็นเซอร์นี้กับ Arduino
ตัดสินโดยรีวิว มันเชื่อมต่อกันโดยใช้สามผู้ติดต่อ: ตรรกะ กำลัง และกราวด์ มันทำงานผ่านเอาต์พุตดิจิตอล
ตัวอย่างโค้ด:
define PIN_PIR 2 define PIN_LED 13 การตั้งค่าเป็นโมฆะ() { Serial.begin(9600); โหมดพิน (PIN_PIR, อินพุต); โหมดพิน (PIN_LED, OUTPUT); } วงเป็นโมฆะ () { int pirVal=digitalRead (PIN_PIR); Serial.println(ดิจิตอลอ่าน(PIN_PIR)); // หากตรวจพบการเคลื่อนไหวถ้า (pirVal) { digitalWrite (PIN_LED, สูง); Serial.println("ตรวจพบการเคลื่อนไหว"); ล่าช้า (2000); } อื่น { //Serial.print ("ไม่มีการเคลื่อนไหว"); digitalWrite (PIN_LED, ต่ำ); } }
เรากำหนดหน้าสัมผัสที่เซ็นเซอร์เชื่อมต่อ หลังจากนั้นเราจะตรวจสอบการเคลื่อนไหว การทำงานกับมันสะดวกและง่ายมาก แต่ก็มีบางกรณีที่ได้ผลบวกลวง
ราคาสำหรับAliexpress: 30-50 รูเบิล
สรุปผล
ด้านบน เซ็นเซอร์หลักสำหรับ Arduino ได้รับการพิจารณาซึ่งเป็นเซ็นเซอร์แรกที่ได้รับการศึกษาโดยนักวิทยุสมัครเล่นมือใหม่ อย่างที่คุณเห็น พวกมันค่อนข้างถูก เชื่อมต่อได้ง่าย และการอ่านข้อมูลใช้เวลาเพียงสองสามบรรทัด นอกจากนั้น ยังมีเซ็นเซอร์อื่นๆ อีกจำนวนมาก แม้กระทั่งสำหรับการวัดชีพจร! มันทำกำไรได้มากที่สุดที่จะซื้อพวกมันใน Aliexpress เป็นชุด ดังนั้นพวกมันจะมีราคาที่ถูกกว่าด้วยซ้ำ สร้างง่าย สิ่งสำคัญคือต้องจำกฎพื้นฐานสามข้อของวิทยาการหุ่นยนต์!