เซ็นเซอร์ฮอลล์เป็นเซ็นเซอร์ที่สร้างสัญญาณไฟฟ้าที่เอาต์พุตเมื่อสัมผัสกับสนามแม่เหล็ก ค่าอนาล็อกของสัญญาณไฟฟ้าที่เอาต์พุตของเซ็นเซอร์เป็นฟังก์ชันของความแรงของสนามแม่เหล็ก ทุกวันนี้เซ็นเซอร์ Hall มีการใช้งานด้วยเหตุผลที่แตกต่างกันและในอุปกรณ์ทุกประเภทตั้งแต่โทรศัพท์มือถือไปจนถึงสวิตช์สำหรับการวัดความเร็วตำแหน่งและระยะทางในรถยนต์และในผลิตภัณฑ์จากอุตสาหกรรมยานยนต์อื่น ๆ ความเก่งกาจของเซ็นเซอร์ห้องโถงนี้ทำให้พวกเขาต้องมีสำหรับผู้ผลิตและวิศวกรไฟฟ้าที่ว่าทำไมวันนี้ผมจะแสดงให้เราเห็นวิธีการใช้เซนเซอร์ฮอลล์ในโครงการตาม Raspberry Pi
คุณสามารถตรวจสอบโครงการที่ใช้ Hall Sensor อื่น ๆ ของเราได้ตลอดเวลารวมถึงการเชื่อมต่อเซ็นเซอร์ห้องโถงกับ Arduino
ส่วนประกอบที่จำเป็น
ต้องใช้ส่วนประกอบ / ชิ้นส่วนต่อไปนี้เพื่อสร้างโครงการนี้
- Raspberry pi 2 หรือ 3
- การ์ด SD (ขั้นต่ำ 8GB)
- เซ็นเซอร์ Hall Effect
- สายจัมเปอร์
- Breadboards
- สาย LAN
- แหล่งพลังงาน
อุปกรณ์เสริมบางส่วนที่อาจใช้ ได้แก่:
- ตรวจสอบ
- คีย์บอร์ดและเมาส์
- สาย HDMI
- Wi-Fi Dongle
บทช่วยสอนนี้จะขึ้นอยู่กับระบบปฏิบัติการยืด Raspbian ดังนั้นเพื่อดำเนินการต่อตามปกติฉันจะถือว่าคุณคุ้นเคยกับการตั้งค่า Raspberry Pi ด้วยระบบปฏิบัติการแบบยืด Raspbian และคุณรู้วิธี SSH ในราสเบอร์รี่ pi โดยใช้ซอฟต์แวร์เทอร์มินัลเช่นผงสำหรับอุดรู. หากคุณมีปัญหาเกี่ยวกับสิ่งนี้มีบทเรียน Raspberry Pi มากมายในเว็บไซต์นี้ที่สามารถช่วยได้
สำหรับผู้ที่จะติดตั้งระบบปฏิบัติการยืด Raspbian เป็นครั้งแรกปัญหาหนึ่งที่ฉันค้นพบคนส่วนใหญ่มีคือการเข้าสู่ Raspberry Pi ผ่าน ssh ควรสังเกตว่า ssh เดิมถูกปิดใช้งานบนระบบปฏิบัติการและคุณจะต้องใช้จอภาพเพื่อเปิดใช้งานหรือภายใต้ตัวเลือกการกำหนดค่าของ raspberry pi หรือคุณสร้างไฟล์เปล่าชื่อ ssh โดยใช้คอมพิวเตอร์ windows หรือ Linux ของคุณและคัดลอกไฟล์เปล่าไปที่ ไดเรกทอรีรากของการ์ด SD คุณจะต้องใส่รถเข็น SD ลงในช่องเสียบการ์ด SD ของคอมพิวเตอร์ของคุณเพื่อคัดลอกไป
การใช้วิธีที่สองเหมาะสำหรับผู้ที่ใช้ pi ในโหมด headless มากกว่า เมื่อชิ้นส่วนทั้งหมดพร้อมแล้วเราสามารถดำเนินการสร้างได้
แผนภูมิวงจรรวม:
สำหรับการใช้Hall effect sensor กับ Raspberry Piให้เชื่อมต่อส่วนประกอบตามแผนผังด้านล่าง
เซ็นเซอร์ Hall ที่ใช้สำหรับบทช่วยสอนนี้สามารถให้ทั้งค่าอนาล็อกและดิจิตอลที่เอาต์พุต แต่เพื่อลดความซับซ้อนของบทช่วยสอนฉันตัดสินใจใช้ค่าดิจิทัลเนื่องจากการใช้เอาต์พุตอะนาล็อกจะต้องเชื่อมต่อ ADC กับ Raspberry Pi
รหัส Python และคำอธิบายการทำงาน:
รหัสหลามสำหรับโครงการฮอลล์เซนเซอร์นี้เป็นเรื่องง่ายมากที่หนึ่งทุกสิ่งที่เราต้องทำคือการอ่านเอาท์พุทจากเซ็นเซอร์ห้องโถงและเปิดหรือปิดไฟ LED ตาม LED จะเปิดขึ้นหากตรวจพบแม่เหล็กและจะต้องปิดเป็นอย่างอื่น
เพิ่มพลังให้ Raspberry Pi และ SSH ของคุณโดยใช้ผงสำหรับอุดรู (หากเชื่อมต่อในโหมดไร้หัวเหมือนฉัน) ตามปกติกับที่สุดของโครงการของฉันฉันสร้างไดเรกทอรีภายในไดเรกทอรีบ้านที่ทุกอย่างเกี่ยวกับแต่ละโครงการจะถูกเก็บไว้เพื่อสำหรับโครงการนี้เราจะสร้างไดเรกทอรีที่เรียกว่าฮอลล์ โปรดทราบว่านี่เป็นเพียงความชอบส่วนตัวในการจัดระเบียบสิ่งต่างๆ
สร้างไดเร็กทอรีโดยใช้;
mkdir hallsensor
เปลี่ยนไดเร็กทอรีเป็นไดเร็กทอรีใหม่ที่เพิ่งสร้างขึ้นและเปิดเอดิเตอร์เพื่อสร้างสคริปต์ python โดยใช้;
ห้องโถงซีดีเซ็นเซอร์
ติดตามโดย;
nano hallsensorcode.py
เมื่อตัวแก้ไขเปิดขึ้นให้พิมพ์รหัสสำหรับโครงการ ฉันจะอธิบายรายละเอียดสั้น ๆ ของโค้ดเพื่อแสดงแนวคิดหลักและโค้ด python ทั้งหมดจะพร้อมใช้งานหลังจากนั้น
เราเริ่มต้นรหัสโดยการนำเข้าไลบรารี RPI.GPIOซึ่งช่วยให้เราเขียนสคริปต์ python เพื่อโต้ตอบกับพิน raspberry pi GPIO
นำเข้า RPi.GPIO เป็น gpio
ต่อไปเราจะตั้งค่าการกำหนดค่าหมายเลขสำหรับ GPIO ของ Rpi ที่เราต้องการใช้และปิดใช้งานคำเตือน GPIO เพื่อให้สามารถเรียกใช้โค้ดได้อย่างอิสระ
gpio.setmode (gpio.BCM) gpio.setwarnings (เท็จ)
จากนั้นเราจะตั้งค่าประกาศพิน GPIOที่ LED และเอาต์พุตดิจิตอลของเซ็นเซอร์ฮอลล์เชื่อมต่อตามหมายเลข BCM ที่เลือก
hallpin = 2 ledpin = 3
ต่อไปเราจะตั้งค่าหมุด GPIO เป็น input หรือ output พินที่เชื่อมต่อ LED ตั้งเป็นเอาท์พุตและขาที่เชื่อมต่อเซ็นเซอร์ฮอลล์ตั้งเป็นอินพุต
gpio.setup (hallpin, gpio.IN) gpio.setup (ledpin, gpio.OUT)
เมื่อเสร็จแล้วเราจะเขียนส่วนหลักของโค้ดซึ่งเป็น while loop ที่ประเมินเอาต์พุตจากเซ็นเซอร์ฮอลล์อย่างต่อเนื่องและเปิด LED หากตรวจพบแม่เหล็กและปิด LED เมื่อตรวจไม่พบแม่เหล็ก
ในขณะที่ True: if (gpio.input (hallpin) == False): gpio.output (ledpin, True) พิมพ์ ("ตรวจพบแม่เหล็ก") else: gpio.output (ledpin, False) พิมพ์ ("ตรวจไม่พบสนามแม่เหล็ก")
รหัสหลามสมบูรณ์ด้วยวิดีโอสาธิตจะได้รับในตอนท้ายของโครงการ
คัดลอกและบันทึกรหัสและออกจากโปรแกรมแก้ไขหลังจากพิมพ์โดยใช้;
CTRL + X ตามด้วยY
หลังจากบันทึกแล้วให้ไปที่การเชื่อมต่อของคุณอีกครั้งและเรียกใช้สคริปต์ python โดยใช้;
sudo python hallsensorcode.py
เมื่อสคริปต์ทำงานเมื่อใดก็ตามที่แม่เหล็กหรือสิ่งใด ๆ ที่เป็นแม่เหล็กถูกนำเข้าใกล้เซ็นเซอร์ฮอลล์ไฟ LED จะสว่างขึ้นตามที่แสดงในภาพด้านล่าง
ตั้งแต่สวิตช์กกสำหรับบ้านอัจฉริยะไปจนถึงมาตรวัดความเร็วสำหรับจักรยานมีของสุดเจ๋งมากมายที่สามารถสร้างขึ้นด้วยบทช่วยสอนนี้ที่ฐาน อย่าลังเลที่จะแบ่งปันโครงการที่คุณวางแผนจะสร้างในส่วนความคิดเห็นด้านล่าง
ทั้งหมดตรวจสอบโครงการที่ใช้เซ็นเซอร์ห้องโถงก่อนหน้าของเรา:
- DIY Speedometer โดยใช้ Arduino และการประมวลผลแอพ Android
- วงจรวัดความเร็วแบบดิจิตอลและเครื่องวัดระยะทางโดยใช้ไมโครคอนโทรลเลอร์ PIC
- ความจริงเสมือนโดยใช้ Arduino และการประมวลผล
- การวัดความแรงของสนามแม่เหล็กโดยใช้ Arduino