สารบัญ:
- ขั้นตอนที่ 1: ภูมิหลังทางคณิตศาสตร์
- ขั้นตอนที่ 2: ซอฟต์แวร์
- ขั้นตอนที่ 3: ฮาร์ดแวร์
- ขั้นตอนที่ 4: การเดินสายไฟ
- ขั้นตอนที่ 5: การปรับปรุงในอนาคต
วีดีโอ: ตัวแก้สมการกำลังสอง 2 ปุ่ม: 5 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:04
บทนำ
ยินดีต้อนรับสู่คำสั่งแรกของฉัน!
ฉันเริ่มโครงการนี้เพื่อขยายความรู้ด้านการเขียนโปรแกรมของฉัน บ่อยครั้ง คุณเพียงแค่รวมซอร์สโค้ดต่างๆ เข้าด้วยกันเพื่อสร้างโปรแกรมที่คุณต้องการ เป้าหมายของฉันคือการเขียนโค้ดโปรแกรมของตัวเองเพื่อโต้ตอบกับเครื่องมือ ฉันชอบสร้างเครื่องมือง่ายๆ ในการคำนวณ หลายเดือนก่อน ฉันช่วยเพื่อนแก้สมการกำลังสอง
บาซิงก้า! นี่คือกรณีการใช้งาน!
ฉันนำกล่องโลหะเก่ากลับมาใช้ใหม่ ฉันชอบรูปลักษณ์และอินเทอร์เฟซของเครื่องมือที่เรียบง่าย นั่นคือเหตุผลที่ฉันต้องการใช้ 2 ปุ่มสำหรับการป้อนข้อมูล การแข่งขันจะแสดงด้วยจอ LCD ที่เรียบง่าย
เสบียง
รายการวัสดุ:
กล่อง
2 ปุ่มสไตล์อาเขต
Arduino Nano หรือใกล้เคียง
จอ LCD 1602 พร้อมอะแดปเตอร์ I2C
สวิตช์เปิด/ปิด
สายไฟ
ตัวต้านทาน 2x 10k โอห์ม
บล็อกแบตเตอรี่ 9v
ขั้วต่อสำหรับแบตเตอรี่ 9v
เขียงหั่นขนม
เบ็ดเตล็ด (ชิ้นไม้, มุมโลหะ, สายรัดสายไฟ, สกรู, แหวนรอง)
เครื่องมือ:
เลื่อย
หัวแร้ง
เครื่องเจาะ
คอมพิวเตอร์สำหรับการเขียนโปรแกรม
ขั้นตอนที่ 1: ภูมิหลังทางคณิตศาสตร์
ภูมิหลังทางคณิตศาสตร์
สมการกำลังสอง 2 ปุ่มแสดงค่าที่ฟังก์ชันกำลังสองตัดกับแกน X ฟังก์ชันกำลังสองสามารถข้ามแกน X ได้ ไม่เคย ครั้งเดียวหรือสองครั้ง
มีหลายวิธีในการคำนวณค่าเหล่านี้ สำหรับเครื่องมือของฉัน ฉันใช้สูตร PQ (ฉันไม่แน่ใจว่านิพจน์นี้จะถูกใช้ทั่วโลกหรือไม่)
สมการกำลังสองมีรูปแบบดังนี้
ขวาน²+bx+c=0
ในการคำนวณจุดตัด ให้แบ่งแบบฟอร์มด้วย x²+px+q=0 ด้วย p= b/a; q=c/a
สูตร PQ:
x1 = -p/2 + sqrt((p/2)²-q)
x2 = -p/2 - sqrt((p/2)²-q)
ผลลัพธ์ x สามารถรับค่า 0, 1 หรือ 2 ขึ้นอยู่กับค่าใต้รากที่สอง
คือค่า > 0 ดังนั้น PQ-Formula จึงมีโซลูชันสองแบบ
คือค่า = 0 ดังนั้น PQ-Formula มีทางออกเดียว
คือค่า < 0 ดังนั้นสูตร PQ จึงไม่มีคำตอบ ฟังก์ชันไม่ข้ามแกน X
ขั้นตอนที่ 2: ซอฟต์แวร์
ซอฟต์แวร์
สำหรับการเขียนโปรแกรม ฉันใช้ Arduino IDE อย่างเป็นทางการ เป้าหมายของฉันคือการสร้างโปรแกรมซอฟต์แวร์ของตัวเอง อินเทอร์เฟซของฉันควรมีสองปุ่ม ปุ่มเดียวเพื่อก้าวระหว่างระดับต่างๆ ปุ่มที่สองเพื่อเปลี่ยนค่าในระดับต่างๆ
ในการแก้สูตร PQ ฉันสร้างโครงสร้างด้านบน:
แน่นอนว่าฉันไม่ได้คิดค้นล้อใหม่ ในการสร้างรหัส ฉันใช้โมดูล:
- debounce
- แสดง
ประเด็นต่อไปนี้คือความท้าทายที่ยิ่งใหญ่ที่สุด:
- ฉันจะเลือกป้ายได้อย่างไร? ฉันแก้ไขความท้าทายนี้ด้วยฟังก์ชันโมดูโล (ลิงก์) รหัสหารอินพุตด้วย 2 คืออินพุตเป็นเลขคี่ ค่าจะเป็นลบ มิฉะนั้น ตัวเลขจะเป็นบวก
- หลังจากผ่านทุกระดับแล้ว ฉันต้องประกาศค่าทั้งหมดเป็น 0
- ข้อความที่แสดงเพียงแค่ลบตัวอักษรที่ส่ง หากรหัสส่งคำที่มีอักขระ 4 ตัว ระบบจะโหลดอักขระเพียง 4 ตัวนี้ใหม่ หากคำก่อนหน้ามีอักขระมากกว่านี้ อักขระจะยังคงอยู่ เพื่อแก้ไขข้อความที่แสดงจะเต็มไปด้วยช่องว่าง อักขระทั้งหมด 16 ตัวในแถวจะถูกโหลดใหม่
แนบรหัสสุดท้าย
ขั้นตอนที่ 3: ฮาร์ดแวร์
ฮาร์ดแวร์
ชิ้นส่วนที่ระบุไว้ข้างต้น สำหรับโปรเจ็กต์นี้ ฮาร์ดแวร์นั้นเรียบง่าย ฉันแค่ต้องการไมโครโปรเซสเซอร์ Arduino 2 ปุ่มและจอแสดงผล โอเค ถ้าคุณชอบใส่กล่อง คุณต้องมีกล่องและพาวเวอร์ซัพพลายด้วย
ฉันนำกล่องโลหะเก่ามาใช้ใหม่ ฉันเจาะรูที่ปุ่มสำหรับเสียบสวิตช์สำหรับแหล่งจ่ายไฟ ฝากล่องมี 3 รู ฉันเจาะสองรูสำหรับปุ่มขนาดใหญ่และตัดหน้าต่างสำหรับจอแสดงผล ฉันติดไม้ชิ้นเล็ก ๆ ไว้ด้านหลังฝาครอบเพื่อให้มีของเพิ่มเติมสำหรับแก้ไขจอแสดงผลและปุ่มต่างๆ ในการอัปเกรดรูปลักษณ์กล่องมีสติกเกอร์
สำหรับแหล่งจ่ายไฟ ฉันแนะนำแบตเตอรี่แบบบล็อก 9V แบบชาร์จซ้ำได้ ฉันเชื่อมต่อแบตเตอรี่ผ่านสวิตช์เปิดปิดกับ Arduino แบตเตอรี่ถูกยึดเข้ากับกล่องด้วยมุมโลหะขนาดเล็ก ขั้วต่อสำหรับแบตเตอรี่ได้รับการแก้ไขด้วยสายรัด
ไมโครโปรเซสเซอร์เป็นโคลนของ Arduino nano สำหรับกรณีการใช้งานนี้ ประสิทธิภาพก็เพียงพอแล้ว Attiny 85 เช่น ไมโครโปรเซสเซอร์ Digispark ถูกปฏิเสธ Arduino คือ "บอร์ดขนมปัง" ถัดจากจอแสดงผล
จอแสดงผลเป็นจอ LCD 1602 คุณสามารถใช้อักขระได้ 16 ตัวในสองแถว คุณสามารถค้นหาจอแสดงผลนี้ในเครื่องมือต่าง ๆ ของเครื่อง มีสองวิธีในการใช้จอแสดงผลนี้ คุณสามารถเชื่อมต่อจอแสดงผลกับคอนโทรลเลอร์ได้โดยตรง หรือใช้โปรแกรมเสริมเพื่อสื่อสารกับจอแสดงผลผ่าน I2C I2C เป็นโปรโตคอลมาตรฐาน ฉันใช้มันเพราะง่ายต่อการเชื่อมต่อจอแสดงผลกับคอนโทรลเลอร์ คุณแค่ต้องการสายเคเบิล 4 เส้นแทนที่จะเป็น 16, VCC ถึง 5V, GND ถึง GND, SDA ถึง A4, SCL ถึง A5 จอแสดงผลได้รับการแก้ไขด้วยสกรูเข้ากับฝาครอบกล่อง
ปุ่มมีขนาดใหญ่มาก! พวกเขามีสไตล์เกมอาร์เคดทั่วไป ฉันชอบมัน! ปุ่มเชื่อมต่อกับพินดิจิตอล 4 และ 7 โปรดอย่าลืมตัวต้านทาน 10K!
ในการเปิดฝาครอบ เช่น เพื่อเปลี่ยนแบตเตอรี่ ฉันใช้สายเคเบิลที่ยาวกว่าที่เสียบเข้ากับเขียงหั่นขนม
ขั้นตอนที่ 4: การเดินสายไฟ
ขั้นตอนที่ 5: การปรับปรุงในอนาคต
การปรับปรุงในอนาคต
หลังจากเสร็จสิ้นโครงการ คุณจะพบข้อบกพร่องหรือคุณลักษณะสำหรับการปรับปรุงอยู่เสมอ ในโครงการนี้ ฉันมีความสุขที่ได้พบบางประเด็น ฉันจะปรับปรุงเพื่ออนาคต
คราวหน้าฉันจะปรับปรุงการเอารัดเอาเปรียบในกล่อง ฉันแก้ไขจอแสดงผล สวิตช์เปิดปิด และปุ่มต่างๆ ที่จุดเริ่มต้นของโปรเจ็กต์นี้ ในตอนท้าย ฉันมีปัญหาเล็กน้อยในการหาพื้นที่เพียงพอสำหรับแบตเตอรี่และไมโครโปรเซสเซอร์ในกล่อง เมื่อฉันวางปุ่มและจอแสดงผลไว้ด้านนอก ฉันจะไม่มีปัญหากับพื้นที่สำหรับชิ้นส่วนภายในกล่อง
ในขณะนี้ฉันไม่มีกรณีการใช้งานสำหรับการแก้สมการกำลังสอง เพื่อปรับปรุงเครื่องมือ ฉันต้องการขยายเครื่องมือด้วยสิ่งทางคณิตศาสตร์เพิ่มเติม เช่น แคลคูลัสพื้นฐานหรือสูตร เช่น สูตรทวินามหรือประโยคของพีทาโกรัส
แนะนำ:
ปุ่ม Home Automation มูลค่า $5: 4 ขั้นตอน
ปุ่ม Home Automation ราคา $5: ปุ่ม Home Automation ราคา $5 บางครั้งวิธีแก้ปัญหาที่ง่ายที่สุดคือปุ่มเดียว เราต้องการวิธีง่ายๆ ในการเรียกใช้กิจวัตร "เวลาเข้านอน" บนฮับระบบอัตโนมัติภายในบ้านของเรา (Hubitat Elevation) ซึ่งจะปิดไฟส่วนใหญ่ ตั้งค่าอื่นๆ ให้อยู่ในระดับที่เฉพาะเจาะจง และ
ปุ่ม Push to Talk ที่ควบคุมด้วยเท้า: 5 ขั้นตอน
ปุ่ม Push to Talk แบบควบคุมด้วยเท้า: นี่คือวิธีที่ฉันสร้างปุ่ม Push To Talk ที่คุณสามารถใช้กับเท้าของคุณได้
วิธีใช้สเต็ปเปอร์มอเตอร์ 28BYJ-48 พร้อมปุ่มกด 3 ปุ่ม: 5 ขั้นตอน
วิธีใช้สเต็ปเปอร์มอเตอร์ 28BYJ-48 พร้อมปุ่มกด 3 ปุ่ม: คุณต้องการควบคุมสเต็ปเปอร์มอเตอร์โดยใช้ปุ่มกดหรือไม่? ที่สามารถทำตามเข็มนาฬิกา, ทวนเข็มนาฬิกาแล้วหยุดฟังก์ชั่น? วิดีโอนี้เหมาะสำหรับคุณ
ปุ่ม Uber: 7 ขั้นตอน
ปุ่ม Uber: เรียกรถ Uber ได้เพียงแค่กดปุ่ม!บทนำในบทช่วยสอนนี้ เราจะใช้บริการโลคัลไลเซชันเครือข่าย Sigfox (ซึ่งขณะนี้สามารถระบุตำแหน่งในรัศมีสูงสุด 1 กม.) เพื่อให้ได้ตำแหน่งที่ใกล้เคียงที่สุด ตำแหน่งที่กำหนด
ปุ่ม Macbook ทำจากไม้ (พร้อมฟังก์ชั่นแบ็คไลท์): 7 ขั้นตอน
ปุ่ม Macbook ทำจากไม้ (พร้อมฟังก์ชั่นแบ็คไลท์): บทนำ คอมพิวเตอร์ Mac ได้รับการดัดแปลงอย่างหนักในช่วงไม่กี่ปีที่ผ่านมา ซึ่งอาจแตกต่างกันไปตามการเปลี่ยนสี สติ๊กเกอร์ การแกะสลัก และอื่นๆ แป้นไม้บน macbook ทำให้ฉันประทับใจเสมอ คุณสามารถทำได้ทางออนไลน์จากที่ต่างๆ ในราคาประมาณ $70 หรือ