สารบัญ:
- ขั้นตอนที่ 1: ส่วนผสม
- ขั้นตอนที่ 2: การสร้าง Arduino
- ขั้นตอนที่ 3: การเข้ารหัส Arduino
- ขั้นตอนที่ 4: ตัวเลือก: หน้าจอ LCD
- ขั้นตอนที่ 5: ชิ้นส่วนที่พิมพ์
- ขั้นตอนที่ 6: การจัดวาง
วีดีโอ: สเต็ปเปอร์มอเตอร์ควบคุมด้วยแสง + ขายึดผนัง/ขาตั้ง: 6 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:06
ขาตั้งนี้ใช้สำหรับใส่สเต็ปเปอร์มอเตอร์ที่ควบคุมโดย Arduino ซึ่งออกแบบมาเพื่อควบคุมม่านโดยอัตโนมัติตามระดับแสงในห้อง คุณยังสามารถเพิ่มหน้าจอ LCD เพื่อพิมพ์ระดับแสงได้ เกียร์ 3 มิติมีไว้เพื่อการสาธิตเท่านั้น อาจจำเป็นต้องใช้อุปกรณ์จริงสำหรับการใช้งานจริง เช่น ม่าน แต่ยังรวมถึงการใช้งานอื่นๆ ที่คุณนึกออก
ขั้นตอนที่ 1: ส่วนผสม
เพื่อเริ่มโครงการนี้ คุณจะต้อง;
- ชุดชิป Arduino 2 ชุด- มอเตอร์ชิลด์ Arduino- หน้าจอ LCD ของ Arduino- 1 Breadboard- มอเตอร์สเต็ปเปอร์สองขั้ว 1 ก้อน- แบตเตอรี่ 1 D- 1 ตัวต้านทานแบบพึ่งพาแสง - ตัวต้านทาน 10k Ω 1 เส้น- 10 สายไฟตัวผู้-ตัวผู้- 6 ตัวผู้- สายไฟหญิง- เข้าถึงเครื่องพิมพ์ 3 มิติ
ขั้นตอนที่ 2: การสร้าง Arduino
ขั้นแรก วางแผงป้องกันมอเตอร์ด้วยหมุด Arduino และเมื่อเรียงกันแล้ว วางลงอย่างแน่นหนา ถัดไปแนบสายไฟของสเต็ปเปอร์มอเตอร์เข้ากับหมุด 8, 9, 10 และ 11 ของแผงป้องกันมอเตอร์ หลังจากนั้นให้ต่อแบตเตอรี่ D ในช่องตามที่แสดงในแผนภาพ ต่อไปคุณจะต้องการได้สายไฟ 6 เส้น (ตัวผู้เป็นตัวเมีย) สำหรับ หน้าจอ LCD และเสียบเข้ากับหน่วย Arduino อื่นตามที่แสดงในแผนภาพวงจร จากนั้นตั้งค่า LDR ตามที่แสดงด้านบน โดยให้ตัวต้านทานต่อกับแถวลบ เมื่อเพิ่ม LDR ที่ด้านข้างด้วยตัวต้านทาน ให้เพิ่ม การเชื่อมต่อ A0 และด้านตรงข้าม ให้เพิ่มอินพุต 1 5V สำหรับแต่ละบอร์ดที่คุณใช้ ดังนั้นหากคุณใช้ 2 บอร์ด คุณจะต้องให้แต่ละบอร์ดมีพิน 5V และ A0 ไปที่ LDR
เชื่อมต่อสายไฟทั้งหมดให้เหมือนกับไดอะแกรม-2 อินพุตไปยัง LDR- 2 เอาต์พุตจาก LDR และตัวต้านทานที่เชื่อมต่อกับกราวด์- 8 สายไปยัง LCD, 1 5V, 1 กราวด์ และ 6 อินพุต- 4 สายที่เชื่อมต่อกับ stepper- 2 การเชื่อมต่อกับแบตเตอรี่- ควรเชื่อมต่อกราวด์เขียงหั่นขนม
ขั้นตอนที่ 3: การเข้ารหัส Arduino
นี่คือตัวอย่างโค้ดสำหรับเปลี่ยนสถานะของเฟืองตาม LDR
นี่คือรหัสที่จะอนุญาตให้โครงการควบคุมม่านโดยอัตโนมัติ ภาพด้านบนอธิบายเส้นทางต่างๆ ผ่านคำสั่ง IF ที่ซ้อนกันในแง่ของการขึ้น ลง หรืออยู่ในตำแหน่งเดิม (คลิกที่ภาพเพื่อดูแบบเต็มเนื่องจากมีปัญหาการจัดรูปแบบ)
#defineLDRA0//กำหนดตัวแปร "LDR" เป็นพิน A0#include
constintstepsPerRevolution=200;//เมื่อสเต็ปเปอร์มอเตอร์ทำงาน การหมุนเต็มที่จะเท่ากับ 200 สเต็ป
SteppermyStepper(stepsPerRevolution, 8, 9, 10, 11); // กำหนดอินพุตให้กับสเต็ปเปอร์เป็นพิน 8, 9, 10, 11
voidsetup(){myStepper.setSpeed(60);//กำหนดความเร็วของมอเตอร์ในการหมุนโหมดพิน (LDR, INPUT);//กำหนดตัวแปร "LDR" เป็นอินพุต Serial.begin(9600);// เริ่มการอ่านแบบอนุกรม }
voidloop(){intlightlevel=analogRead(LDR);//กำหนดตัวแปร "lightlevel" เป็นการกระทำที่อ่านค่าของ "LDR"Serial.print("Light Level: ");Serial.println(lightlevel);// พิมพ์ค่าของ "ระดับแสง" พร้อมคำบรรยายด้านบน
/* ตอนนี้มี loop ที่ตรวจจับระดับแสงทุกจุดของทาง * มีให้เลือก 3 แบบ คือ ขึ้น ลง อยู่ในตำแหน่งเดิม* ออกแบบมาให้ถ้าระดับแสงเท่ากันก็จะ เหมือนเดิม ถ้าไม่เปลี่ยน* คือ ถ้า 950 ก็ไป 952 ก็ไม่มีอะไรเกิดขึ้น แต่ถ้าเปลี่ยนจาก 950 เป็น 600 ก็จะดึงม่านขึ้นสลับกัน * แต่ละขั้นตอนมีตัวอักษรกำกับไว้ หน้าขั้นตอนเพื่อติดตามว่าอยู่ที่ใดในลูปผ่านมอนิเตอร์แบบอนุกรม */
if(lightlevel>=900){Serial.println("A");// ขั้นตอนใดที่อยู่ใน loopmyStepper.step(3*stepsPerRevolution); // stepper ทำ 3 รอบไปข้างหน้า หากเป็นลบ มันจะย้อนกลับล่าช้า(30000);// ปล่อยไว้ที่นั่นเป็นเวลา 5 นาที intlightlevel=analogRead(LDR);// กำหนดตัวแปร "lightlevel" เป็นค่าที่อ่านล่าสุดจาก LDRSerial.print("Light Level: ");//พิมพ์ข้อความหน้าตัวแปร Serial.println(lightlevel)// พิมพ์ค่าระดับแสง
ถ้า(lightlevel>=900){Serial.println("B");myStepper.step(0);delay(10000);intlightlevel=analogRead(LDR);Serial.print("Light Level: ");Serial.println (ระดับแสง);
ถ้า(lightlevel>=900){Serial.println("C");myStepper.step(3*-stepsPerRevolution);delay(500);intlightlevel=analogRead(LDR);Serial.print("Light Level: "); Serial.println(ระดับแสง);}
อื่น{Serial.println("D");myStepper.step(3*-stepsPerRevolution);delay(10000);intlightlevel=analogRead(LDR);Serial.print("Light Level: ");Serial.println(lightlevel);}}
อื่น{Serial.println("E");myStepper.step(3*-stepsPerRevolution);delay(10000);intlightlevel=analogRead(LDR);Serial.print("Light Level: ");Serial.println(lightlevel);
ถ้า(lightlevel>=900){Serial.println("F");myStepper.step(0);delay(500);intlightlevel=analogRead(LDR);Serial.print("Light Level: ");Serial.println (ระดับแสง);}
อื่น{Serial.println("G");myStepper.step(0);delay(10000);intlightlevel=analogRead(LDR);Serial.print("Light Level: ");Serial.println(lightlevel);}}
}
อื่น{Serial.println("H");myStepper.step(0);delay(10000);intlightlevel=analogRead(LDR);Serial.print("Light Level: ");Serial.println(lightlevel);
if(lightlevel>=900){Serial.println("I");myStepper.step(3*stepsPerRevolution);delay(10000);intlightlevel=analogRead(LDR);Serial.print("Light Level: ");ซีเรียล.println(ระดับแสง);
ถ้า(lightlevel>=900){Serial.println("J");myStepper.step(3*-stepsPerRevolution);delay(500);intlightlevel=analogRead(LDR);Serial.print("Light Level: "); Serial.println(ระดับแสง);}
อื่น{Serial.println("K");myStepper.step(3*-stepsPerRevolution);delay(10000);intlightlevel=analogRead(LDR);Serial.print("Light Level: ");Serial.println(lightlevel);
}}
อื่น{Serial.println("L");myStepper.step(0);delay(10000);intlightlevel=analogRead(LDR);Serial.print("Light Level: ");Serial.println(lightlevel);
if(lightlevel>=900){Serial.println("M");myStepper.step(0);delay(500);intlightlevel=analogRead(LDR);Serial.print("Light Level: ");Serial.println ("ระดับแสง: ");Serial.println (ระดับแสง);}
อื่น{Serial.println("N");myStepper.step(0);delay(10000);intlightlevel=analogRead(LDR);Serial.print("Light Level: ");Serial.println(lightlevel);
}}
}
}
ขั้นตอนที่ 4: ตัวเลือก: หน้าจอ LCD
ซึ่งจะพิมพ์ระดับแสงที่ LDR ตรวจพบบนหน้าจอ LCD
#รวม
-
//เพิ่มไลบรารีคริสตัลเหลวด้วยโค้ดเพิ่มเติม#define ldr A0 //กำหนดตัวแปร "ldr" ให้กับพิน A0
LiquidCrystal LCD (8, 9, 4, 5, 6, 7); // เริ่มต้นไลบรารีด้วยหมายเลขของพินอินเตอร์เฟส
voidsetup() {// รหัสที่ทำงานครั้งเดียวที่ startlcd.begin (16, 2); // ตั้งค่าจำนวนคอลัมน์และบรรทัดของ LCD ตามลำดับ pinMode(ldr, INPUT); // กำหนด ldr เป็นอินพุต pinSerial.begin(9600); // เริ่มการสื่อสารกับมอนิเตอร์แบบอนุกรม
}
voidloop() {// รหัสที่จะทำซ้ำอย่างต่อเนื่องSerial.println(analogRead(ldr)); // พิมพ์การอ่านที่ ldr หยิบขึ้นมา (ตัวเลขระหว่าง 0-1023) บน serial monitorlcd.setCursor(6, 0); // ตั้งค่าเคอร์เซอร์ไปที่คอลัมน์ 6 บรรทัด 0lcd.print(analogRead(ldr)); // พิมพ์ค่าที่อ่านได้บน LCD screendelay(1000); // หน่วงเวลาคำสั่งถัดไปเป็นเวลาหนึ่งวินาที
}
ขั้นตอนที่ 5: ชิ้นส่วนที่พิมพ์
ใช้ไฟล์ต่อไปนี้เพื่อพิมพ์ขาตั้งและเฟือง คุณสามารถปรับแต่งเฟืองสำหรับวัตถุประสงค์ของคุณเอง และคุณสามารถใช้โครงยึดเพื่อยึดเข้ากับผนังหรือเป็นจอแสดงผล เนื่องจากเฟือง 3D นั้นอ่อน จึงอาจใช้เกียร์จริงแทนเกียร์ได้ตราบเท่าที่มันตรงกับม่านที่จะควบคุม
หากจะใช้เฟืองพิมพ์ 3 มิติ ฟันเฟืองหนึ่งซี่จะถูกถอดออกเพื่อให้ชุดสกรูยึดกับมอเตอร์ได้
ขายึดผนังด้านหน้า 2 ขาสามารถถอดออกได้หากต้องการติดตั้งกับผนัง พวกมันถูกเพิ่มเข้ามาเท่านั้น ดังนั้นมันจึงยืนขึ้นในขณะที่เรากำลังทดสอบกับมัน
ขั้นตอนที่ 6: การจัดวาง
เมื่อชิ้นส่วนทั้งหมดพร้อมแล้ว ก็ถึงเวลาเริ่มการจัดวางขั้นสุดท้าย
ขั้นแรก วางสเต็ปเปอร์มอเตอร์ลงในกล่องที่ให้มาบนขาตั้งและใส่เกียร์บนเพลาถัดไป ย้ายสายไฟเพื่อให้ไปอยู่ด้านหลังขาตั้ง สุดท้าย วาง Arduino และแบตเตอรี่ไว้ด้านหลังขาตั้ง
บอร์ดของคุณควรมีลักษณะเหมือนภาพด้านบน
ยินดีด้วย!
สามารถใช้เกียร์สำหรับม่านอัตโนมัติหรือสิ่งอื่น ๆ ที่คุณต้องการควบคุมโดย LDR
คุณทำเสร็จแล้ว เพลิดเพลินไปกับการสร้างสรรค์ใหม่ของคุณ
แนะนำ:
การออกแบบเกมในการสะบัดใน 5 ขั้นตอน: 5 ขั้นตอน
การออกแบบเกมในการสะบัดใน 5 ขั้นตอน: การตวัดเป็นวิธีง่ายๆ ในการสร้างเกม โดยเฉพาะอย่างยิ่งเกมปริศนา นิยายภาพ หรือเกมผจญภัย
การตรวจจับใบหน้าบน Raspberry Pi 4B ใน 3 ขั้นตอน: 3 ขั้นตอน
การตรวจจับใบหน้าบน Raspberry Pi 4B ใน 3 ขั้นตอน: ในคำแนะนำนี้ เราจะทำการตรวจจับใบหน้าบน Raspberry Pi 4 ด้วย Shunya O/S โดยใช้ Shunyaface Library Shunyaface เป็นห้องสมุดจดจำใบหน้า/ตรวจจับใบหน้า โปรเจ็กต์นี้มีจุดมุ่งหมายเพื่อให้เกิดความเร็วในการตรวจจับและจดจำได้เร็วที่สุดด้วย
วิธีการติดตั้งปลั๊กอินใน WordPress ใน 3 ขั้นตอน: 3 ขั้นตอน
วิธีการติดตั้งปลั๊กอินใน WordPress ใน 3 ขั้นตอน: ในบทช่วยสอนนี้ ฉันจะแสดงขั้นตอนสำคัญในการติดตั้งปลั๊กอิน WordPress ให้กับเว็บไซต์ของคุณ โดยทั่วไป คุณสามารถติดตั้งปลั๊กอินได้สองวิธี วิธีแรกคือผ่าน ftp หรือผ่าน cpanel แต่ฉันจะไม่แสดงมันเพราะมันสอดคล้องกับ
การลอยแบบอะคูสติกด้วย Arduino Uno ทีละขั้นตอน (8 ขั้นตอน): 8 ขั้นตอน
การลอยแบบอะคูสติกด้วย Arduino Uno ทีละขั้นตอน (8 ขั้นตอน): ตัวแปลงสัญญาณเสียงล้ำเสียง L298N Dc ตัวเมียอะแดปเตอร์จ่ายไฟพร้อมขา DC ตัวผู้ Arduino UNOBreadboardวิธีการทำงาน: ก่อนอื่น คุณอัปโหลดรหัสไปยัง Arduino Uno (เป็นไมโครคอนโทรลเลอร์ที่ติดตั้งดิจิตอล และพอร์ตแอนะล็อกเพื่อแปลงรหัส (C++)
เครื่อง Rube Goldberg 11 ขั้นตอน: 8 ขั้นตอน
เครื่อง 11 Step Rube Goldberg: โครงการนี้เป็นเครื่อง 11 Step Rube Goldberg ซึ่งออกแบบมาเพื่อสร้างงานง่ายๆ ในรูปแบบที่ซับซ้อน งานของโครงการนี้คือการจับสบู่ก้อนหนึ่ง