สารบัญ:
- วัสดุ:
- ขั้นตอนที่ 1: ชิ้นส่วนที่จำเป็น
- ขั้นตอนที่ 2: ทฤษฎีการปฏิบัติน้อย
- ขั้นตอนที่ 3: การเชื่อมต่อทั้งหมด!
- ขั้นตอนที่ 4: บอก Ardunio วิธีตรวจสอบเซ็นเซอร์
ฉันเคยเห็นเครื่องมือปรับระดับเล็กน้อยต่าง ๆ สำหรับหอคอย แต่ไม่มีใช้งานง่าย ฉันคิดว่าฉันสามารถทำให้เหมาะกับความต้องการของฉันได้มากกว่านี้!
นอกจากนี้หลังจากลมแรงและพายุ บางครั้งหอคอยจะไม่ได้รับการเลเวลและฉันต้องทำให้มันลงมาและติดตั้งอุปกรณ์ปรับระดับของฉันใหม่ สิ่งที่ฉันต้องการคือวิธีแก้ปัญหาที่สามารถติดตั้งที่ด้านบนสุดของหอคอยในตัวเรือนกล้องที่ฉันสามารถมองเห็นได้จากพื้นดินในขณะที่ฉันปรับระดับหอคอย
ฉันมี Arduino Micro ที่ฉันเล่นด้วยและเซ็นเซอร์บางตัวจากชุด Parallax BoeBot ในนั้นฉันมีเข็มทิศและเซ็นเซอร์เอียง
ฉันตัดสินใจที่จะดูว่าฉันสามารถสร้างระดับฟองอิเล็กทรอนิกส์ที่เรียบง่ายเพื่อให้อยู่บนหอคอยและมุมมองจากพื้นดินเมื่อฉันต้องการที่จะยกระดับกล้อง
ในแอปพลิเคชันของฉันฉันใช้สายไฟลงไปที่ด้านล่างหอคอยและเพิ่งต่อแบตเตอรี่เมื่อฉันต้องการใช้ระดับ
ในคำแนะนำนี้ฉันต้องการแสดงให้คุณเห็นวิธีการตั้งค่า arduino แบบง่ายๆที่ใช้ "leveling bubble"
วัสดุ:
ขั้นตอนที่ 1: ชิ้นส่วนที่จำเป็น
ส่วนที่คุณต้องการสำหรับโครงการนี้คือ:
1. Arduino Micro
2มาตรความเร่ง 2125
3. เขียงหั่นขนมขนาดเล็ก
4. ความยาวหลายเส้น
5. ไฟ LED สีแดง 4 ดวงและไฟ LED สีเขียวหนึ่งดวง
ขั้นตอนที่ 2: ทฤษฎีการปฏิบัติน้อย
พื้นหลังเล็กน้อยเกี่ยวกับการทำงานของเซ็นเซอร์เอียง!
ภายในกล่องเล็ก ๆ ของเซ็นเซอร์เป็นแหล่งความร้อนขนาดเล็ก ในแต่ละด้านจะมีเซ็นเซอร์ความร้อนขนาดเล็กที่สามารถตรวจจับความร้อนที่เกิดขึ้นจากตรงกลางของบล็อก ในขณะที่เซ็นเซอร์เอียง ความร้อนนี้เพิ่มขึ้นไปยังเซ็นเซอร์ตัวใดตัวหนึ่งและโดยการเปรียบเทียบค่าที่อุปกรณ์สามารถรับรู้ได้ว่ามุมเอียงหรือไม่
Arduino อ่านข้อมูลนี้และแปลงเป็นการวัด X Y ที่สามารถใช้ส่องสว่างไฟ LED เพื่อระบุทิศทางการเอียง
ขั้นตอนที่ 3: การเชื่อมต่อทั้งหมด!
วาง Arduino Micro ลงบนเขียงหั่นขนมและให้แน่ใจว่าได้ออกจากห้องสำหรับเซ็นเซอร์และไฟ LED ของคุณ
คุณสามารถแยก LED ไปยังบอร์ด "display" แยกต่างหากได้ถ้าต้องการ
เชื่อมต่อ m2125 เข้ากับ Arduino Micro ด้วยวิธีต่อไปนี้
Digital Pin 2 ----- M2125 pin 5 (สายสีขาว)
Digital Pin 3 ----- M2125 pin 2 (สายสีส้ม)
กราวด์เพื่อ ----- M2125 หมุด 3 4 (สายดินทั้งหมดเป็นสีดำ)
5 volts ถึง ------ M2125 pin 6 (สายสีแดง)
กึ่งกลาง (LED สีเขียว) เพื่อปัก D5 (เส้นลวดสีน้ำเงินบนไดอะแกรม)
X ต่ำ (ไฟ LED สีแดงซ้าย) ไปยังขา D8 (เส้นสีม่วงบนไดอะแกรม)
บน X (ไฟ LED สีแดงขวา) เพื่อพิน D7 (เส้นลวดสีน้ำตาลบนไดอะแกรม)
Y บน (ไฟ LED สีแดงด้านบน) เพื่อพิน D6 (เส้นลวดสีเหลืองบนไดอะแกรม)
ลด Y (ไฟ LED สีแดงด้านล่าง) ลงที่ขา D13 (สายสีเขียวบนแผนภาพ)
ดูแผนภาพ
ขั้นตอนที่ 4: บอก Ardunio วิธีตรวจสอบเซ็นเซอร์
ตอนนี้เราจำเป็นต้องอัพโหลดภาพร่างไปที่ arduino ดังนั้นมันจะสามารถตรวจสอบผลลัพธ์จากเซ็นเซอร์ของเราและบอกให้เรารู้ว่ามันอยู่ในระดับ!
ภาพร่างนี้นอกจากแสงไฟ LED แล้วจะส่งสัญญาณการวัด X Y ไปยังอนุกรมหากคุณต้องการตรวจสอบข้อมูล
สตรีมฟีดในรูปแบบนี้: X (xvalue) Y (Yvalue)
IE X243Y165
แต่ละบรรทัดจะจบลงด้วยการคืนรถ
________________________________________________
// arduino micro led ระดับภาพ
const int X = 2; // X pin บน m2125
const int Y = 3; // Y พินบน m2125
การตั้งค่าเป็นโมฆะ () {
// ตั้งค่าอนุกรม
Serial.begin (9600);
// กำหนดพินเป็นเอาท์พุทสำหรับไฟ LED
สำหรับ (int i = 5; i <13; i ++) {
pinMode (i, OUTPUT);
}
pinMode (X, INPUT);
pinMode (Y, INPUT);
}
void loop () {
// อ่านในข้อมูลชีพจร
int pulseX, pulseY;
การเร่งความเร็ว int, การเร่งความเร็ว
pulseX = pulseIn (X, HIGH);
pulseY = pulseIn (Y, HIGH);
// แม็พข้อมูลกับ 0 ถึง 500
AccelerX = แผนที่ (pulseX, 3740, 6286, 0, 500);
การเร่งความเร็ว = แผนที่ (ชีพจร Y, 3740, 6370, 0, 500);
ถ้า (การเร่งความเร็ว X> 249 และการเร่งความเร็ว X <259 และการเร่งความเร็ว> 249 และการเร่งความเร็ว <259) {
digitalWrite (5,30);
}
อื่น {
digitalWrite (5,0);
}
ถ้า (การเร่งความเร็ว X <249) {
digitalWrite (8,30);
}
อื่น {digitalWrite (8,0);
}
ถ้า (การเร่งความเร็ว X> 261) {
digitalWrite (7,30);
}
อื่น {digitalWrite (7,0);
}
ถ้า (การเร่งความเร็ว <249) {
digitalWrite (13,30);
}
อื่น {digitalWrite (13,0);
}
if (เร่งความเร็ว> 261) {
digitalWrite (6,30);
}
อื่น {digitalWrite (6,0);
}
// ส่งข้อมูลไปยังซีเรียลในกรณีที่เราต้องการดูสิ่งที่ถูกรายงานและใช้พีซีในภายหลัง
Serial.print ("X");
Serial.print (accelerationX);
Serial.print ("Y");
Serial.print (accelerationY);
Serial.println ("");
// หน่วงข้อมูลฟีดให้เราไม่ใช้งานเกินอนุกรม
ล่าช้า (90);
}