สารบัญ:

ตัวเลื่อนการถ่ายภาพ DIY: 4 ขั้นตอน
ตัวเลื่อนการถ่ายภาพ DIY: 4 ขั้นตอน

วีดีโอ: ตัวเลื่อนการถ่ายภาพ DIY: 4 ขั้นตอน

วีดีโอ: ตัวเลื่อนการถ่ายภาพ DIY: 4 ขั้นตอน
วีดีโอ: สอนถ่ายรูปสินค้า รวมเทคนิคการถ่ายภาพทุกขั้นตอน ตั้งแต่ต้นจนจบงาน (คลิปเดียวจบ) by คะน้าขม 2024, พฤศจิกายน
Anonim
ตัวเลื่อนการถ่ายภาพ DIY
ตัวเลื่อนการถ่ายภาพ DIY

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

ในทางทฤษฎี วิธีนี้น่าจะได้ผล

หากคุณเลือกทำสิ่งนี้ ฉันหวังว่าคุณจะสนุกกับมัน!

ขั้นตอนที่ 1: รวบรวมวัสดุของคุณ

รวบรวมวัสดุของคุณ
รวบรวมวัสดุของคุณ
รวบรวมวัสดุของคุณ
รวบรวมวัสดุของคุณ
รวบรวมวัสดุของคุณ
รวบรวมวัสดุของคุณ

วัสดุอิเล็กทรอนิกส์

  • Arduino
  • เซอร์โว 360 สองตัว
  • กระดานขนมปัง
  • ตัวต้านทาน
  • ปุ่ม (เด่นกว่า 3)

วัสดุก่อสร้าง

  • แผ่นโฟมสองแผ่น
  • เดือยไม้ (สามารถเป็นโลหะ)
  • ชิ้นไม้รูปไข่ (ดูภาพแนะนำ)

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

ติดตั้ง!
ติดตั้ง!

รูปนี้คือแผนภาพวงจร

ทำตามนี้และโครงการของคุณจะทำงาน!

ขั้นตอนที่ 3: การประกอบเขียงหั่นขนม

การประกอบเขียงหั่นขนม!
การประกอบเขียงหั่นขนม!
  • ก่อนอื่นให้เชื่อมต่อขั้วบวกกับกราวด์กับเขียงหั่นขนม
  • ที่สองเชื่อมต่อเซอร์โวสองตัว…และมีสายสองเส้นที่วิ่งไปที่กราวด์และขั้วบวกและอีกอันกับพินที่คุณเลือก (โปรดทราบว่ารหัสจะมีหมุดที่ฉันเลือก)..
  • จากนั้นประกอบปุ่มของคุณ… อย่าลืมเชื่อมต่อกับพินที่คุณเลือก แต่รหัสจะไม่ทำงานหากคุณไม่ได้ใช้พินที่ฉันเลือก เชื่อมต่อปุ่มกับกราวด์เช่นกัน
  • และใช้ตัวต้านทาน 220
  • สุดท้ายนี้ หากคุณต้องการใช้จอ LCD คุณจะต้องเชื่อมต่อ 2 พินเข้ากับอินพุตแบบอะนาล็อกและหนึ่งสายเข้ากับขั้วบวก

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

#รวม #รวม #รวม

LiquidCrystal_I2C จอแอลซีดี (0x27, 16, 2); // ตั้งค่าที่อยู่ LCD เป็น 0x27 สำหรับอักขระ 16 ตัวและจอแสดงผล 2 บรรทัด

เซอร์โวเซอร์โวซ้าย; // กำหนดเซอร์โวเซอร์โวซ้าย เซอร์โวเซอร์โวขวา; // กำหนดเซอร์โวที่ถูกต้อง

const int startbut = 8; // ปักหมุดสำหรับ startbut (startbutton) const int forwardbut = 12; // ปักหมุดสำหรับ forwardbut (forwardbutton) const int reversebut = 13; // ปักหมุดเพื่อย้อนกลับแต่ (ปุ่มย้อนกลับ) int tim = 500; // ค่าของเวลาหน่วงเวลา int แฟล็ก = 0; จำนวน int = 0;

ถ่าน array1=" ยินดีต้อนรับ "; //สตริงที่จะพิมพ์บน LCD ("ยินดีต้อนรับ") char array2="push left=LEFT, right=RIGHT !"; //สตริงที่จะพิมพ์บนจอ LCD ("push left=LEFT, right=RIGHT")

การตั้งค่าเป็นโมฆะ () { servoLeft.attach(10); // ตั้งค่าเซอร์โวซ้ายเป็นพินดิจิตอล 10 servoRight.attach(9); // ตั้งค่าเซอร์โวขวาเป็นพินดิจิตอล 9 servoLeft.write (90); // ตั้งค่าเซอร์โวเป็น 90 องศา servoRight.write (90); ล่าช้า (100);

// เปลี่ยนพินเป็นอินพุต pinMode (startbut, INPUT); // เริ่มต้น startbut (startbutton) เป็นอินพุต pinMode (reversebut, INPUT); // เริ่มต้นการย้อนกลับแต่ (ปุ่มย้อนกลับ) เป็นอินพุต pinMode (forwardbut, INPUT); // เริ่มต้น forwardbut (forwardbutton) เป็นอินพุต

}

วงเป็นโมฆะ () {// วนซ้ำการทดสอบการเคลื่อนไหว // รหัสสำหรับจอ LCD ถ้า (แฟล็ก == 1 && นับ == 0) { นับ = 1; lcd.init(); // เริ่มต้น LCD lcd.backlight(); //เปิดไฟแบ็คไลท์

lcd.setCursor(15, 0); // ตั้งค่าเคอร์เซอร์ไปที่คอลัมน์ 15 บรรทัดที่ 0 สำหรับ (int positionCounter1 = 0; positionCounter1 <26; positionCounter1++) { lcd.scrollDisplayLeft (); //เลื่อนเนื้อหาของหน้าจอไปทางซ้ายหนึ่งช่อง lcd.print(array1[positionCounter1]); //พิมพ์ข้อความไปยัง LCD ล่าช้า(ทิม); //รอ 250 ไมโครวินาที } lcd.clear(); //ล้างหน้าจอ LCD และจัดตำแหน่งเคอร์เซอร์ที่มุมซ้ายบน lcd.setCursor(15, 1); // ตั้งค่าเคอร์เซอร์ไปที่คอลัมน์ 15 บรรทัดที่ 1 สำหรับ (int positionCounter = 0; positionCounter <26; positionCounter++) { lcd.scrollDisplayLeft (); //เลื่อนเนื้อหาของหน้าจอไปทางซ้ายหนึ่งช่อง lcd.print(array2[ตัวนับตำแหน่ง]); //พิมพ์ข้อความไปยัง LCD ล่าช้า(ทิม); //รอ 250 ไมโครวินาที } lcd.clear(); //ล้างหน้าจอ LCD และจัดตำแหน่งเคอร์เซอร์ที่มุมซ้ายบน } ////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////// ///////////////////////////////////

/ ตรวจสอบว่ามีการกดปุ่มหรือไม่ (digitalRead (startbut) == 1) { flag = 1; //แฟล็กตัวแปรสำหรับปุ่มเพื่อเริ่ม }

if (flag == 1){ if(digitalRead(reversebut) == HIGH) //reversebut กดจะเปิดเซอร์โว (reverse(); // ตัวแปรย้อนกลับสำหรับปุ่มย้อนกลับ } อื่น if (digitalRead (forwardbut) == สูง) //forwardbut กดจะเปิดเซอร์โว { ไปข้างหน้า (); //forward ตัวแปรสำหรับ forwardbutton } else { stop(); //stop Variable เพื่อหยุดการเคลื่อนที่ของเซอร์โวเมื่อไม่ได้กดปุ่ม } }

}

// กิจวัตรการเคลื่อนไหวสำหรับไปข้างหน้า ย้อนกลับ และหยุดโมฆะไปข้างหน้า () {// คำสั่งไปข้างหน้า servoLeft.write (0); // ทิศทางที่เซอร์โวหมุน servoRight.write (180); } โมฆะหยุด () { // หยุดคำสั่ง servoLeft.write (90); //หยุดเซอร์โวทั้งสองที่จุดเดียวกัน มิฉะนั้น เซอร์โวจะอยู่ในตำแหน่งที่ต่างกัน servoRight.write(90); } โมฆะย้อนกลับ () { //reverse คำสั่ง servoLeft.write (180); //เซอร์โวเปิดใช้งานในทิศทางตรงกันข้าม servoRight.write(0); }

นี่คือรหัสแห่งความสำเร็จ! หลังจากที่คุณได้ติดตั้ง Arduino แล้ว ทุกอย่างน่าจะใช้งานได้! และสนุกสนาน!

หากไม่ได้ผลโปรดมองย้อนกลับไปที่คำแนะนำนี้และตรวจสอบทุกอย่าง!

แนะนำ: