สารบัญ:

Arduino Magnetometer: 5 ขั้นตอน (พร้อมรูปภาพ)
Arduino Magnetometer: 5 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: Arduino Magnetometer: 5 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: Arduino Magnetometer: 5 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: hmc5883l Arduino compass, magnetometer sensor, compass navigation"Arduino Project for beginners 2024, กันยายน
Anonim
Arduino Magnetometer
Arduino Magnetometer

เรากำลังสร้างอะไร

มนุษย์ไม่สามารถตรวจจับสนามแม่เหล็กได้ แต่เราใช้อุปกรณ์ที่อาศัยแม่เหล็กตลอดเวลา ตัวอย่างเช่น มอเตอร์ เข็มทิศ เซ็นเซอร์การหมุน และกังหันลม ล้วนต้องใช้แม่เหล็กในการทำงาน บทช่วยสอนนี้อธิบายวิธีสร้างเครื่องวัดค่าสนามแม่เหล็กจาก Arduino ที่ตรวจจับสนามแม่เหล็กโดยใช้เซ็นเซอร์เอฟเฟกต์ฮอลล์สามตัว เวกเตอร์สนามแม่เหล็กที่ตำแหน่งหนึ่งจะแสดงบนหน้าจอขนาดเล็กโดยใช้การฉายภาพแบบมีมิติเท่ากัน

Arduino คืออะไร?

Arduino เป็นไมโครคอนโทรลเลอร์โอเพ่นซอร์สขนาดเล็กที่ใช้งานง่าย มีขาอินพุตและเอาต์พุตดิจิตอล นอกจากนี้ยังมีพินอินพุตแบบอะนาล็อกซึ่งมีประโยชน์สำหรับการอ่านอินพุตจากเซ็นเซอร์ มี Arduino รุ่นต่างๆ บทช่วยสอนนี้อธิบายวิธีใช้ Arduino Uno หรือ Arduino MKR1010 แต่รุ่นอื่นก็ใช้ได้เหมือนกัน

ก่อนที่คุณจะเริ่มบทช่วยสอนนี้ ให้ดาวน์โหลดสภาพแวดล้อมการพัฒนา Arduino รวมถึงไลบรารีที่จำเป็นสำหรับโมเดลของคุณโดยเฉพาะ สภาพแวดล้อมการพัฒนามีอยู่ที่ https://www.arduino.cc/en/main/software และคำแนะนำในการติดตั้งมีอยู่ที่

สนามแม่เหล็กคืออะไร?

แม่เหล็กถาวรออกแรงกับแม่เหล็กถาวรอื่นๆ สายไฟพาหะกระแสไฟออกแรงกับสายไฟพาหะกระแสไฟอื่นๆ แม่เหล็กถาวรและสายนำพากระแสก็ออกแรงซึ่งกันและกันเช่นกัน แรงต่อหน่วยทดสอบกระแสนี้เป็นสนามแม่เหล็ก

ถ้าเราวัดปริมาตรของวัตถุ เราจะได้เลขสเกลาร์เพียงตัวเดียว อย่างไรก็ตาม สนามแม่เหล็กอธิบายโดยสนามเวกเตอร์ ซึ่งเป็นปริมาณที่ซับซ้อนกว่า ประการแรก จะแตกต่างกันไปตามตำแหน่งทั่วทุกพื้นที่ ตัวอย่างเช่น สนามแม่เหล็กหนึ่งเซนติเมตรจากแม่เหล็กถาวรน่าจะมีขนาดใหญ่กว่าสนามแม่เหล็กที่อยู่ห่างออกไปสิบเซนติเมตร

ถัดไป สนามแม่เหล็กในแต่ละจุดในอวกาศจะแสดงด้วยเวกเตอร์ ขนาดของเวกเตอร์แสดงถึงความแรงของสนามแม่เหล็ก ทิศทางตั้งฉากกับทั้งทิศทางของแรงและทิศทางของกระแสทดสอบ

เราสามารถนึกภาพสนามแม่เหล็กที่ตำแหน่งเดียวเป็นลูกศรได้ เราสามารถนึกภาพสนามแม่เหล็กในอวกาศได้โดยใช้อาร์เรย์ของลูกศรในตำแหน่งต่างๆ ซึ่งอาจมีขนาดต่างกันและชี้ไปในทิศทางที่ต่างกัน การสร้างภาพข้อมูลที่ดีสามารถดูได้ที่ https://www.falstad.com/vector3dm/ เครื่องวัดค่าความเข้มข้นของสนามแม่เหล็กที่เรากำลังสร้างจะแสดงสนามแม่เหล็กที่ตำแหน่งของเซ็นเซอร์เป็นลูกศรบนจอแสดงผล

Hall Effect Sensor คืออะไร และทำงานอย่างไร?

เซนเซอร์ Hall Effect เป็นอุปกรณ์ขนาดเล็กราคาไม่แพงที่วัดความแรงของสนามแม่เหล็กในทิศทางใดทิศทางหนึ่ง มันทำมาจากชิ้นส่วนของเซมิคอนดักเตอร์ที่เจือด้วยประจุส่วนเกิน เอาต์พุตของเซนเซอร์ Hall Effect บางตัวเป็นแรงดันอนาล็อก เซนเซอร์ Hall Effect อื่นๆ มีตัวเปรียบเทียบในตัวและสร้างเอาต์พุตดิจิทัล เซนเซอร์ Hall Effect อื่นๆ ถูกรวมเข้ากับเครื่องมือขนาดใหญ่ขึ้น ซึ่งวัดอัตราการไหล ความเร็วในการหมุน หรือปริมาณอื่นๆ

ฟิสิกส์เบื้องหลังเอฟเฟกต์ฮอลล์สรุปโดยสมการแรงลอเรนซ์ สมการนี้อธิบายแรงบนประจุที่เคลื่อนที่เนื่องจากสนามไฟฟ้าและสนามแม่เหล็กภายนอก

ภาพ
ภาพ

รูปด้านล่างแสดงเอฟเฟกต์ฮอลล์ สมมติว่าเราต้องการวัดความแรงของสนามแม่เหล็กในทิศทางของลูกศรสีน้ำเงิน ดังที่แสดงไว้ในส่วนซ้ายของภาพ เราใช้กระแสผ่านชิ้นส่วนของเซมิคอนดักเตอร์ที่ตั้งฉากกับทิศทางของสนามที่จะวัด กระแสคือการไหลของประจุ ดังนั้นประจุในเซมิคอนดักเตอร์จะเคลื่อนที่ด้วยความเร็วหนึ่ง ประจุนี้จะสัมผัสได้ถึงแรงที่เกิดจากสนามภายนอก ดังที่แสดงไว้ตรงกลางของภาพ ประจุจะเคลื่อนที่ตามแรงและสะสมที่ขอบของสารกึ่งตัวนำ ประจุจะสะสมจนแรงที่เกิดจากประจุสะสมสมดุลแรงที่เกิดจากสนามแม่เหล็กภายนอก เราสามารถวัดแรงดันไฟฟ้าข้ามเซมิคอนดักเตอร์ดังที่แสดงไว้ในส่วนขวาของภาพ แรงดันไฟฟ้าที่วัดได้เป็นสัดส่วนกับความแรงของสนามแม่เหล็ก และอยู่ในทิศทางตั้งฉากกับกระแสและทิศทางของสนามแม่เหล็ก

ภาพ
ภาพ

การฉายภาพแบบมีมิติเท่ากันคืออะไร?

ในแต่ละจุดในอวกาศ สนามแม่เหล็กอธิบายโดยเวกเตอร์สามมิติ อย่างไรก็ตาม หน้าจอแสดงผลของเราเป็นแบบสองมิติ เราสามารถฉายเวกเตอร์สามมิติให้เป็นระนาบสองมิติ เพื่อที่เราจะสามารถวาดมันบนหน้าจอได้ มีหลายวิธีที่จะบรรลุสิ่งนี้ เช่น การฉายภาพแบบมีมิติเท่ากัน การฉายภาพแบบออร์โธกราฟิก หรือการฉายแบบเฉียง

ในการฉายภาพแบบมีมิติเท่ากัน แกน x, y และ z ห่างกัน 120 องศา และปรากฏว่าสั้นลงเท่าๆ กัน ข้อมูลเพิ่มเติมเกี่ยวกับการฉายภาพแบบมีมิติเท่ากัน เช่นเดียวกับสูตรที่ต้องการ สามารถดูได้ที่หน้า Wikipedia ในหัวข้อนี้

ขั้นตอนที่ 1: รวบรวมเสบียง

Arduino และสายเคเบิล

Arduino เป็นสมองของเครื่องวัดความเข้มข้นของสนามแม่เหล็ก คำแนะนำเหล่านี้อธิบายวิธีใช้ Arduino Uno หรือ Arduino MKR1010 ไม่ว่าในกรณีใด จำเป็นต้องใช้สายเคเบิลเพื่อเชื่อมต่อกับคอมพิวเตอร์

ตัวเลือกที่ 1: Arduino Uno และสาย USB AB

www.digikey.com/product-detail/en/arduino/A000066/1050-1024-ND/2784006

www.digikey.com/product-detail/en/stewart-connector/SC-2ABE003F/380-1424-ND/8544570

ตัวเลือก 2: Arduino MKR1010 และสาย microUSB

www.digikey.com/product-detail/en/arduino/ABX00023/1050-1162-ND/9486713

www.digikey.com/product-detail/en/stewart-connector/SC-2AMK003F/380-1431-ND/8544577

จอแสดงผล TFT

TFT ย่อมาจากทรานซิสเตอร์ฟิล์มบาง จอแสดงผล 1.44 นี้มีขนาด 128 x 128 พิกเซล มีขนาดเล็ก สว่างและมีสีสัน โดยจะติดมากับบอร์ดฝ่าวงล้อม อย่างไรก็ตาม หมุดส่วนหัวจะแยกออกจากกัน ดังนั้นคุณต้องบัดกรี (บัดกรีและหัวแร้ง จำเป็น)

www.digikey.com/product-detail/en/adafruit-industries-llc/2088/1528-1345-ND/5356830

    ภาพ
    ภาพ
  • เซนเซอร์ Hall Effect แบบอะนาล็อก

ต้องใช้เซ็นเซอร์เอฟเฟกต์ฮอลล์สามตัว ลิงค์ด้านล่างสำหรับหมายเลขชิ้นส่วน Allegro A1324LUA-T สำหรับเซ็นเซอร์นี้ พิน 1 คือแรงดันไฟฟ้า พิน 2 คือกราวด์ และพิน 3 คือเอาต์พุต เซ็นเซอร์ Hall อื่นๆ ก็ควรใช้งานได้เช่นกัน แต่ต้องแน่ใจว่าเซ็นเซอร์นั้นเป็นแบบแอนะล็อก ไม่ใช่ดิจิทัล หากคุณใช้เซ็นเซอร์อื่น ให้ตรวจสอบพินเอาต์และปรับการเดินสายหากจำเป็น (อันที่จริง ฉันใช้เซ็นเซอร์ที่แตกต่างจากบริษัทเดียวกันเพื่อวัตถุประสงค์ในการทดสอบ อย่างไรก็ตาม ตัวที่ฉันใช้นั้นล้าสมัยแล้ว และเซ็นเซอร์นี้เป็นตัวเปลี่ยนแทน)

www.digikey.com/product-detail/en/allegro-microsystems-llc/A1324LUA-T/620-1432-ND/2728144

เขียงหั่นขนมขนาดเล็กและลวด

www.digikey.com/product-detail/en/adafruit-industries-llc/239/1528-2143-ND/7244929

แม่เหล็กถาวรสำหรับการทดสอบ

แม่เหล็กติดตู้เย็นจะทำงานได้ดี

ขั้นตอนที่ 2: การเดินสายไฟ

การเดินสายไฟ
การเดินสายไฟ

ประสานส่วนหัวบนจอแสดงผล

ภาพ
ภาพ

วางเซ็นเซอร์ไว้ที่ปลายด้านหนึ่งของเขียงหั่นขนม และวางจอแสดงผลและ Arduino ไว้ที่ปลายอีกด้าน กระแสไฟฟ้าในสายไฟใน Arduino และจอแสดงผลสร้างสนามแม่เหล็ก ซึ่งเราไม่ต้องการให้เซ็นเซอร์อ่าน นอกจากนี้ เราอาจต้องวางเซ็นเซอร์ไว้ใกล้กับแม่เหล็กถาวร ซึ่งอาจส่งผลเสียต่อกระแสไฟในสายไฟของจอแสดงผลและเซ็นเซอร์ ด้วยเหตุผลเหล่านี้ เราจึงต้องการให้เซ็นเซอร์อยู่ห่างจากจอแสดงผลและ Arduino ด้วยเหตุผลเหล่านี้ แมกนีโตมิเตอร์นี้จึงควรอยู่ห่างจากสนามแม่เหล็กที่มีความแรงสูงมาก

วางเซ็นเซอร์ในแนวตั้งฉากกัน แต่ให้ใกล้กันมากที่สุด ค่อยๆ งอเซ็นเซอร์เพื่อให้ตั้งฉาก แต่ละพินของเซ็นเซอร์แต่ละตัวต้องอยู่ในแถวที่แยกจากกันของเขียงหั่นขนมเพื่อให้สามารถเชื่อมต่อแยกกันได้

ภาพ
ภาพ

การเดินสายมีความแตกต่างกันเล็กน้อยระหว่าง MKR1010 และ Uno ด้วยเหตุผลสองประการ ก่อนอื่น Arduino และจอแสดงผลสื่อสารโดย SPI Arduino รุ่นต่างๆ มีพินเฉพาะที่แตกต่างกันสำหรับสาย SPI บางสาย ประการที่สอง อินพุตอะนาล็อกของ Uno สามารถรับได้สูงสุด 5 V ในขณะที่อินพุตแบบอะนาล็อกของ MKR1010 สามารถรับได้สูงสุด 3.3 V เท่านั้น แรงดันไฟฟ้าที่แนะนำสำหรับเซ็นเซอร์ Hall Effect คือ 5 V เอาต์พุตเซ็นเซอร์เชื่อมต่อกับอินพุตอะนาล็อก Arduino และสิ่งเหล่านี้อาจมีขนาดใหญ่เท่ากับแรงดันไฟฟ้าของแหล่งจ่าย สำหรับ Uno ให้ใช้แหล่งจ่ายไฟ 5 V ที่แนะนำสำหรับเซ็นเซอร์ สำหรับ MKR1010 ให้ใช้ 3.3 V เพื่อที่อินพุตแบบอะนาล็อกของ Arduino จะไม่เห็นแรงดันไฟฟ้าที่ใหญ่กว่าที่สามารถจัดการได้

ทำตามไดอะแกรมและคำแนะนำด้านล่างสำหรับ Arduino ที่คุณใช้

การเดินสายไฟด้วย Arduino Uno

ภาพ
ภาพ

จอแสดงผลมี 11 พิน เชื่อมต่อเข้ากับ Arduino Uno ดังนี้ (NC หมายถึงไม่ได้เชื่อมต่อ)

  • วิน →5V
  • 3.3 →NC
  • Gnd →GND
  • เอสซีเค →13
  • SO → NC
  • SI →11
  • TCS →10
  • RST →9
  • ดี/ซี →8
  • CCS → NC
  • ไลต์ → NC

เชื่อมต่อ Vin ของเซ็นเซอร์กับ 5V ของ Arduino เชื่อมต่อกราวด์ของเซ็นเซอร์กับกราวด์ของ Arduino เชื่อมต่อเอาต์พุตของเซ็นเซอร์กับอินพุตแบบอะนาล็อก A1, A2 และ A3 ของ Arduino

ภาพ
ภาพ

การเดินสายไฟด้วย Arduino MKR1010

ภาพ
ภาพ

จอแสดงผลมี 11 พิน เชื่อมต่อเข้ากับ Arduino ดังนี้ (NC หมายถึงไม่ได้เชื่อมต่อ)

  • วิน →5V
  • 3.3 →NC
  • Gnd →GND
  • SCK →SCK 9
  • SO → NC
  • SI →MOSI 8
  • TCS →5
  • RST →4
  • ดี/ซี →3
  • CCS → NC
  • ไลต์ → NC

เชื่อมต่อ Vin ของเซ็นเซอร์กับ Vcc ของ Arduino พินนี้อยู่ที่ 3.3V ไม่ใช่ 5V เชื่อมต่อกราวด์ของเซ็นเซอร์กับกราวด์ของ Arduino เชื่อมต่อเอาต์พุตของเซ็นเซอร์กับอินพุตแบบอะนาล็อก A1, A2 และ A3 ของ Arduino

ภาพ
ภาพ

ขั้นตอนที่ 3: ทดสอบจอแสดงผล

มาทำให้จอแสดงผล TFT ทำงานกันเถอะ โชคดีที่ Adafruit มีห้องสมุดที่เป็นมิตรกับผู้ใช้และบทช่วยสอนที่ยอดเยี่ยมสำหรับใช้งานร่วมกัน คำแนะนำเหล่านี้เป็นไปตามบทช่วยสอน https://learn.adafruit.com/adafruit-1-44-color-tft-with-micro-sd-socket/overview อย่างใกล้ชิด

เปิดสภาพแวดล้อมการพัฒนา Arduino ไปที่เครื่องมือ → จัดการไลบรารี ติดตั้งไลบรารี Adafruit_GFX, Adafruit_ZeroDMA และ Adafruit_ST7735 รีสตาร์ทสภาพแวดล้อมการพัฒนา Android

ตัวอย่าง graphicstest รวมอยู่ในไลบรารี เปิด. ไฟล์ → ตัวอย่าง → Adafruit ST7735 และ ST7789 Library → graphicstest หากต้องการเลือก 1.44 ให้แสดงความคิดเห็นในบรรทัดที่ 95 และบรรทัดที่ไม่แสดงข้อคิดเห็น 98

รุ่นเดิม:

94 // ใช้ตัวเริ่มต้นนี้หากใช้หน้าจอ TFT ขนาด 1.8 นิ้ว:

95 tft.initR(INITR_BLACKTAB); //Init ST7735S ชิป แท็บสีดำ 96 97 //หรือใช้ตัวเริ่มต้นนี้ (ไม่มีหมายเหตุ) หากใช้ 1.44 TFT: 98 //tft.initR(INITR_144GREENTAB); // ชิปเริ่มต้น ST7735R แท็บสีเขียว

รุ่นที่ถูกต้องสำหรับจอแสดงผล 1.44 :

94 // ใช้ตัวเริ่มต้นนี้หากใช้หน้าจอ TFT ขนาด 1.8 นิ้ว:

95 //tft.initR(INIT_BLACKTAB); //Init ST7735S ชิป แท็บสีดำ 96 97 //หรือใช้ตัวเริ่มต้นนี้ (ไม่มีหมายเหตุ) หากใช้ 1.44 TFT: 98 tft.initR(INITR_144GREENTAB); //เริ่มต้นชิป SST35R แท็บสีเขียว

จอแสดงผลสื่อสารโดยใช้ SPI และ Arduinos รุ่นต่างๆ ใช้หมุดเฉพาะที่แตกต่างกันสำหรับสายการสื่อสารบางสาย ตัวอย่างกราฟิกทดสอบถูกตั้งค่าให้ทำงานกับหมุด Uno หากคุณกำลังใช้ MKR1010 ให้เพิ่มบรรทัดต่อไปนี้ระหว่างบรรทัดที่ 80 ถึง 81

การแก้ไข MKR1010:

80

#define TFT_CS 5 #define TFT_RST 4 #define TFT_DC 3 #define TFT_MOSI 8 #define TFT_SCLK 9 Adafruit_ST7735 tft=Adafruit_ST7735(TFT_CS, TFT_DC, TFT_MOSI, TFT_SCLK, TFT_RST); 81 ลอย p=3.1415926;

บันทึกตัวอย่างกราฟิกทดสอบที่แก้ไขแล้ว เสียบ Arduino เข้ากับคอมพิวเตอร์หากยังไม่ได้ทำ ไปที่ Tools → Board and Tools → Port เพื่อตรวจสอบว่าคอมพิวเตอร์สามารถหา Arduino ได้หรือไม่ ไปที่ Sketch → อัปโหลด หากตัวอย่างใช้งานได้ จอภาพจะแสดงเส้น สี่เหลี่ยม ข้อความ และการสาธิตที่สมบูรณ์ บทช่วยสอน Adafruit ให้รายละเอียดเพิ่มเติมหากต้องการแก้ไขปัญหา

ขั้นตอนที่ 4: รหัส Magnetometer

ดาวน์โหลดโค้ดที่แนบมาและเปิดในสภาพแวดล้อมการพัฒนา Arduino

โปรแกรมนี้ใช้ 6 ฟังก์ชั่น:

Setup() เริ่มต้นการแสดงผล

Loop() มีลูปหลักของโปรแกรม มันทำให้หน้าจอมืดลง วาดแกน อ่านอินพุต และวาดลูกศรแทนเวกเตอร์สนามแม่เหล็ก มีอัตราการรีเฟรชหนึ่งวินาทีซึ่งสามารถเปลี่ยนแปลงได้โดยเปลี่ยนบรรทัดที่ 127

DrawAxes3d() วาดและติดป้ายกำกับแกน x, y และ z

DrawArrow3d() รับอินพุต x, y และ z ตั้งแต่ 0 ถึง 1023 จากค่าเหล่านี้ จะคำนวณจุดสิ้นสุดของลูกศรในช่องว่าง ถัดไป ใช้ฟังก์ชัน isometricxx() และ isometricyy() เพื่อคำนวณจุดสิ้นสุดบนหน้าจอ สุดท้ายจะดึงลูกศรและพิมพ์แรงดันไฟฟ้าที่ด้านล่างของหน้าจอ

Isometricxx() ค้นหาพิกัด x ของการฉายภาพแบบมีมิติเท่ากัน ใช้พิกัด x, y และ z ของจุดหนึ่งและส่งกลับตำแหน่งพิกเซล x ที่สอดคล้องกันบนหน้าจอ

Isometricyy() ค้นหาพิกัด y ของการฉายภาพแบบมีมิติเท่ากัน ใช้พิกัด x, y และ z ของจุดหนึ่งและส่งกลับตำแหน่งพิกเซล y ที่สอดคล้องกันบนหน้าจอ

ก่อนรันโค้ด เราต้องระบุพินที่จะใช้สำหรับการสื่อสาร SPI กับจอแสดงผล และเราจำเป็นต้องระบุแรงดันไฟฟ้าต้นทางสำหรับเซ็นเซอร์ หากคุณกำลังใช้ MKR1010 ให้ใส่ความคิดเห็นในบรรทัดที่ 92-96 และบรรทัดที่ 110 จากนั้นให้ยกเลิกการใส่เครื่องหมายบรรทัด 85-89 และบรรทัดที่ 108 หากคุณใช้ Uno ให้แสดงความคิดเห็นในบรรทัดที่ 85-89 และบรรทัดที่ 108. จากนั้น uncomment บรรทัด 92-96 และบรรทัด 110

อัปโหลดโค้ด Sketch → อัปโหลด

คุณควรเห็นแกน x, y และ z เป็นสีแดง ลูกศรสีเขียวที่มีวงกลมสีน้ำเงินสำหรับส่วนปลายแสดงถึงเวกเตอร์สนามแม่เหล็กที่เซ็นเซอร์ การอ่านค่าแรงดันไฟฟ้าจะแสดงที่ด้านล่างซ้าย เมื่อคุณนำแม่เหล็กเข้ามาใกล้เซ็นเซอร์มากขึ้น การอ่านค่าแรงดันไฟควรเปลี่ยน และขนาดของลูกศรก็จะเพิ่มขึ้น

ภาพ
ภาพ

ขั้นตอนที่ 5: งานในอนาคต

งานในอนาคต
งานในอนาคต

ขั้นตอนต่อไปคือการปรับเทียบอุปกรณ์ แผ่นข้อมูลเซ็นเซอร์ให้ข้อมูลเกี่ยวกับวิธีการแปลงค่าแรงดันเซ็นเซอร์ดิบเป็นความแรงของสนามแม่เหล็ก การสอบเทียบสามารถตรวจสอบได้โดยเปรียบเทียบกับเครื่องวัดความเข้มข้นของสนามแม่เหล็กที่มีความแม่นยำมากขึ้น

แม่เหล็กถาวรทำปฏิกิริยากับสายนำกระแส สายไฟใกล้กับจอแสดงผลและใน Arduino จะสร้างสนามแม่เหล็กซึ่งอาจส่งผลต่อการอ่านเซ็นเซอร์ นอกจากนี้ หากใช้อุปกรณ์นี้ในการวัดใกล้กับแม่เหล็กถาวรอย่างแรง สนามแม่เหล็กจากอุปกรณ์ที่ทำการทดสอบจะโต้ตอบ ทำให้เกิดสัญญาณรบกวน และอาจสร้างความเสียหายให้กับ Arduino และจอแสดงผลได้ การป้องกันอาจทำให้เครื่องวัดความเข้มข้นของสนามแม่เหล็กนี้แข็งแกร่งขึ้น Arduino สามารถทนต่อสนามแม่เหล็กขนาดใหญ่ได้หากหุ้มด้วยกล่องโลหะ และจะมีเสียงรบกวนน้อยลงหากสายเคเบิลที่มีฉนวนหุ้มเชื่อมต่อเซ็นเซอร์แทนสายเปลือย

สนามแม่เหล็กเป็นหน้าที่ของตำแหน่ง ดังนั้นจึงมีความแตกต่างกันทุกจุดในอวกาศ อุปกรณ์นี้ใช้เซ็นเซอร์สามตัว ตัวหนึ่งใช้วัดองค์ประกอบ x, y และ z ของสนามแม่เหล็ก ณ จุดหนึ่ง เซ็นเซอร์อยู่ใกล้กันแต่ไม่ได้อยู่ที่จุดเดียว และเป็นการจำกัดความละเอียดของสนามแม่เหล็ก คงจะดีถ้าบันทึกการอ่านสนามแม่เหล็กที่จุดต่างๆ แล้วแสดงเป็นอาร์เรย์ของลูกศรในตำแหน่งที่เกี่ยวข้อง อย่างไรก็ตาม นั่นเป็นโครงการสำหรับวันอื่น

อ้างอิง

ข้อมูลเกี่ยวกับไลบรารี Adafruit Arduino Graphics

https://learn.adafruit.com/adafruit-1-44-color-tft-with-micro-sd-socket/overview

การสร้างภาพสนามแม่เหล็ก

https://www.falstad.com/vector3dm/

ข้อมูลเกี่ยวกับฮอลล์เอฟเฟกต์และเซ็นเซอร์เอฟเฟกต์ฮอลล์

  • https://sensing.honeywell.com/index.php?ci_id=47847
  • https://www.allegromicro.com/~/media/Files/Datasheets/A1324-5-6-Datasheet.ashx

ข้อมูลเกี่ยวกับการฉายภาพแบบมีมิติเท่ากัน

  • https://th.wikipedia.org/wiki/3D_projection
  • https://en.wikipedia.org/wiki/Isometric_projection

แนะนำ: