สารบัญ:
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-13 06:58
สวัสดีทุกคน! ในบทช่วยสอนนี้ ฉันจะแสดงให้คุณเห็นว่าเราจะบันทึกค่าแอนะล็อกโดยตรงโดยใช้ Raspberry Pi ได้อย่างไร อย่างที่เราทุกคนทราบดีว่า Raspberry Pi เป็นโมดูลคอมพิวเตอร์ขนาดเล็กที่ทรงพลังซึ่งได้รับความนิยมในหมู่มือสมัครเล่นและมืออาชีพ และมีคุณสมบัติเกือบทั้งหมดที่ผู้ที่ชื่นชอบอุปกรณ์อิเล็กทรอนิกส์ต้องการ อย่างไรก็ตาม ข้อเสียเพียงอย่างเดียวของ pi คือการขาดฮาร์ดแวร์ตัวแปลงอนาล็อกเป็นดิจิทัลโดยเฉพาะ ซึ่งทำให้ Pi ไม่เหมาะสำหรับการบันทึกค่าแอนะล็อกจากเซ็นเซอร์ใดๆ โดยตรง วิธีแก้ไขคือใช้ Arduino ร่วมกับ Pi หรือใช้ ADC เฉพาะ สำหรับโครงการนี้ ฉันจะใช้ MCP3204-12 บิต ADC
เสบียง
- Raspberry Pi (คุณสามารถใช้รุ่นใดก็ได้ที่คุณมี)
- MCP3204 ADC หรือ MCP3008 ADC
- เซ็นเซอร์อะนาล็อก (ฉันใช้โพเทนชิออมิเตอร์ 10K แทน)
- เขียงหั่นขนม
- สายจัมเปอร์
ขั้นตอนที่ 1: รับค่าจาก Arduino แทน…
ทางเลือกหนึ่งในการรับค่าแอนะล็อกของ raspberry pi คือการใช้ Arduino ซึ่งมี ADC 10 บิตเฉพาะ Arduino และ Raspberry Pi สามารถสื่อสารผ่านพอร์ตอนุกรมเพื่อส่งข้อมูล วิธีนี้สามารถใช้ได้เมื่อคุณทำการทดลองกับข้อมูลเซ็นเซอร์บางส่วน และในขณะเดียวกันก็ต้องการใช้ประโยชน์จากพลังการประมวลผลของ Pi ข้อเสียของการกำหนดค่านี้คือ คุณจะต้องใช้ทรัพยากรฮาร์ดแวร์มากขึ้น และจะต้องเขียนโค้ดแยกกันสำหรับ Arduino และ Pi
ขั้นตอนที่ 2: การใช้ ADC.
อีกทางเลือกหนึ่งสำหรับการใช้ Arduino เป็น ADC คือการใช้ ADC IC เฉพาะที่มีจุดประสงค์เดียวกัน สำหรับโครงการนี้ ฉันจะใช้ MCP3204 IC ซึ่งเป็น ADC 4 ช่องสัญญาณ 12 บิต ซึ่งสามารถสื่อสารกับ Raspberry Pi โดยใช้โปรโตคอล SPI วัตถุประสงค์ในการสาธิตของศัตรู ฉันจะใช้ IC ในโหมด 10 บิต
ฉันได้แนบพินของ IC นี้ซึ่งแสดงคำอธิบายพิน
ขั้นตอนที่ 3: เชื่อมต่อ Raspberry Pi และ ADC
ตอนนี้เราจัดเรียงฮาร์ดแวร์แล้ว มาเข้าสู่โครงร่างการเชื่อมต่อของ ADC และ Pi กัน
Raspberry Pi มีอินเทอร์เฟซ SPI 2 แบบ: SPI0 และ SPI1 สำหรับแอปพลิเคชันของเรา เราจะใช้ SPI0 และเราจะใช้ SPI จริง (หรือฮาร์ดแวร์) ซึ่งเราเชื่อมต่อ ADC กับหมุด SPI ฮาร์ดแวร์เฉพาะของ Pi
ฉันได้แนบ Pinout ของ Pi และแผนภาพวงจรที่ฉันใช้ในโครงการแล้ว
รูปแบบการเชื่อมต่อมีดังนี้:
- VDD (Pin14) และ Vref (Pin13) ของ ADC ไปยังแหล่งจ่ายไฟ 5V ของ Pi
- DGND(Pin7) และ AGND(Pin12) ของ ADC ไปยังพื้นของ Pi
- CLK (Pin11) ของ ADC ถึง GPIO 11 (ขาทางกายภาพ 23) ของ Pi
- Dout (Pin10) ของ ADC ถึง GPIO 9 (Physical pin 21) ของ Pi
- Din (ขา 9) ของ ADC ถึง GPIO 10 (ขาทางกายภาพ 19) ของ Pi
- Chip Select (Pin 8) ของ ADC ถึง GPIO 8 (Physical pin 24) ของ Pi
ขั้นตอนที่ 4: การตั้งค่าขั้นสุดท้ายและรหัส.
เมื่อสร้างการเชื่อมต่อพลังงานและการสื่อสารแล้ว ก็ถึงเวลาติดตั้งเซ็นเซอร์ใดๆ ก็ตามที่เราต้องการเห็นคุณค่า ฉันใช้โพเทนชิออมิเตอร์ 10K เป็นเซ็นเซอร์
รหัสถูกเขียนเป็นสองส่วน โค้ดแรกค่อนข้างจะเกี่ยวกับการตั้งค่าไลบรารี ทำให้สามารถสื่อสาร SPI และจากนั้นรับค่า ADC จาก MCP3204 จากนั้นพิมพ์ออกมาบนเทอร์มินัลหลาม
รหัสที่สองมีการโต้ตอบมากกว่าและสร้างกราฟของข้อมูลตามเวลาจริงที่มาจากเซ็นเซอร์
คุณสามารถลองเล่นกับรหัสและทำให้เหมาะสมกับความต้องการของคุณ
ขั้นตอนที่ 5: วิดีโอการสอน
นี่คือวิดีโอที่อธิบายรายละเอียดขั้นตอนที่จำเป็นทั้งหมดในการดำเนินโครงการนี้ ฉันหวังว่านี่จะเป็นประโยชน์ !