สารบัญ:

เข็มทิศเซอร์โวที่ไม่ปรับเทียบขั้นพื้นฐานอย่างยิ่ง: 7 ขั้นตอน
เข็มทิศเซอร์โวที่ไม่ปรับเทียบขั้นพื้นฐานอย่างยิ่ง: 7 ขั้นตอน

วีดีโอ: เข็มทิศเซอร์โวที่ไม่ปรับเทียบขั้นพื้นฐานอย่างยิ่ง: 7 ขั้นตอน

วีดีโอ: เข็มทิศเซอร์โวที่ไม่ปรับเทียบขั้นพื้นฐานอย่างยิ่ง: 7 ขั้นตอน
วีดีโอ: 1 เดือนไม่โยโย่ ลด 10 โล ไวสุดๆ 7 ขั้นตอนทำตามได้ทันที EP399 2024, พฤศจิกายน
Anonim
เข็มทิศเซอร์โวที่ไม่ผ่านการปรับเทียบขั้นพื้นฐานที่สุด
เข็มทิศเซอร์โวที่ไม่ผ่านการปรับเทียบขั้นพื้นฐานที่สุด

นี่เป็นเพียงคำแนะนำพื้นฐานสำหรับโครงการที่ฉันกำลังดำเนินการอยู่ สิ่งนี้ไม่ได้รับการปรับเทียบและเป็นต้นแบบพื้นฐานที่สร้างขึ้นสำหรับชั้นเรียน ในคำแนะนำในภายหลังฉันจะแสดงวิธีการปรับเทียบ

ฉันจะไม่คาดหวังความยิ่งใหญ่มากจากสิ่งนี้ถ้าฉันเป็นคุณ มันเป็นการบันทึกกระบวนการมากกว่า

เสบียง

  • ไมโครเซอร์โว (ฉันใช้ HXT900 Micro Servo จาก Hobby King)
  • Arduino (ฉันใช้ Uno)
  • LSM303DLHC เป็นเซ็นเซอร์
  • สายเคเบิล บัดกรี ฯลฯ
  • เขียงหั่นขนม

ขั้นตอนที่ 1: ประกอบทุกอย่าง

ประกอบทุกอย่าง
ประกอบทุกอย่าง
ประกอบทุกอย่าง
ประกอบทุกอย่าง

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

ขั้นตอนที่ 2: รหัสไลบรารี

ไลบรารีโค้ด
ไลบรารีโค้ด
ไลบรารีโค้ด
ไลบรารีโค้ด

คุณจะต้องแน่ใจว่าได้ดาวน์โหลดสิ่งเหล่านี้แล้ว

ไลบรารีอื่นๆ ที่คุณจะใช้คือ wire.h และ servo.h ควรได้รับการติดตั้งตามค่าเริ่มต้นแล้ว

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

เปิด 'เข็มทิศ' ไลบรารีสเก็ตช์จากสิ่งที่คุณเพิ่งดาวน์โหลด ในการใช้เซอร์โว คุณต้องใส่โค้ดเซอร์โวลงในโค้ดนี้ ฉันรวมมันเข้ากับรหัสของ Hanie Kiana จากที่นี่ ต้นฉบับเป็นของ Hanie Kiani ไม่ใช่ฉัน ควรมีลักษณะเช่นนี้

#รวม

#รวม #รวม #รวม #รวม Adafruit_LSM303DLH_Mag_Unified mag = Adafruit_LSM303DLH_Mag_Unified(12345); int servoPin = 3; เซอร์โว เซอร์โว1; การตั้งค่าเป็นโมฆะ (เป็นโมฆะ) { Serial.begin (9600); Wire.begin(); Servo1.attach (เซอร์โวพิน); Serial.println ("การทดสอบสนามแม่เหล็ก"); Serial.println(""); if (!mag.begin()) { Serial.println("อ๊ะ ไม่พบ LSM303 … ตรวจสอบการเดินสายของคุณ!"); ในขณะที่ (1); } } void loop(void) { /* รับเหตุการณ์เซ็นเซอร์ใหม่ */ sensors_event_t event; mag.getEvent(&เหตุการณ์); ลอย Pi = 3.14159; // คำนวณมุมของเวกเตอร์ y, x float heading = (atan2(event.magnetic.y, event.magnetic.x) * 180) / Pi; // ปรับให้เป็น 0-360 ถ้า (หัวเรื่อง < 0) { หัวเรื่อง = 360 + หัวเรื่อง; } Serial.print("หัวเรื่องเข็มทิศ: "); Serial.println (หัวเรื่อง); Servo1.write(180 หัวเรื่อง); ล่าช้า(10); }

ขั้นตอนที่ 4: เชื่อมต่อเข้าด้วยกัน

สายมันเข้าด้วยกัน
สายมันเข้าด้วยกัน

คุณต้องการพินซ้ายสุด- SCL- เชื่อมต่อกับอินพุตข้อมูล A5

อันข้างมัน- SDA- เชื่อมต่อกับพอร์ต A4

พื้นดินไปที่พื้นดิน

VIN ไปที่พอร์ต 5v

ขั้นตอนที่ 5: เพิ่มเซอร์โวในการเดินสาย

เพิ่มเซอร์โวในการเดินสาย
เพิ่มเซอร์โวในการเดินสาย

กราวด์และแรงดันไฟฟ้าพูดเพื่อตัวเอง แต่คุณต้องการให้พินข้อมูลเป็น ~3

ขั้นตอนที่ 6: ทดสอบรหัส

ทดสอบรหัส
ทดสอบรหัส

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

แนะนำ: