สารบัญ:

ตัวควบคุมพัดลมตั้งโต๊ะ Arduino: 4 ขั้นตอน
ตัวควบคุมพัดลมตั้งโต๊ะ Arduino: 4 ขั้นตอน

วีดีโอ: ตัวควบคุมพัดลมตั้งโต๊ะ Arduino: 4 ขั้นตอน

วีดีโอ: ตัวควบคุมพัดลมตั้งโต๊ะ Arduino: 4 ขั้นตอน
วีดีโอ: D.I.Y เปลี่ยน พัดลมเก่า "มือ กด" ให้เป็นพัดลม "รีโมท" ทำตามได้'ง่ายๆ 100% 2024, พฤศจิกายน
Anonim
ตัวควบคุมพัดลมตั้งโต๊ะ Arduino
ตัวควบคุมพัดลมตั้งโต๊ะ Arduino
ตัวควบคุมพัดลมตั้งโต๊ะ Arduino
ตัวควบคุมพัดลมตั้งโต๊ะ Arduino
ตัวควบคุมพัดลมตั้งโต๊ะ Arduino
ตัวควบคุมพัดลมตั้งโต๊ะ Arduino

เมื่อฉันเพิ่งเปลี่ยนบทบาทในบริษัท ฉันย้ายไซต์งาน โดยย้ายจากแบรดฟอร์ดไปยังสำนักงานใหญ่ของเราในเวคฟิลด์ บอกลาโต๊ะทำงานตัวเก่าที่ต้องมีพัดลมตั้งโต๊ะเพื่อให้เย็นสบายตลอดเวลาที่อยู่รอบตัว……. อย่างไรก็ตาม แนวโน้มในสำนักงานใหญ่ของเราคือพัดลม USB ขนาดเล็กที่มีขนาดประมาณ 4 ถึง 6 นิ้ว ดังนั้นโมเดลเอฟเฟกต์ทองเหลืองโบราณที่สวยงามขนาด 6 นิ้วจึงได้รับคำสั่งอย่างรวดเร็วและจัดส่งในวันถัดไป

ปัญหาของพัดลมทุกตัว ไม่ว่าจะมีการตั้งค่าความเร็วหรือโหมดการสั่นแบบกลไก คือเปิดหรือปิด และท้ายที่สุดคุณก็ต้องเปิดและปิดพัดลมตลอดเวลา จุดประกายแห่งจินตนาการ บวกกับความต้องการยกระดับจอภาพให้สูงขึ้น 3 นิ้ว และโปรเจ็กต์ต่อไปของฉันก็ถือกำเนิดขึ้น เข้าสู่ Fanomatic

ฉันเล่นกับ Arduino มาหลายปีแล้ว จึงเป็นจุดเริ่มต้นที่สมเหตุสมผล

ขั้นตอนที่ 1: รายการช้อปปิ้งและกรณี

รายการช้อปปิ้งและกรณี
รายการช้อปปิ้งและกรณี
รายการช้อปปิ้งและกรณี
รายการช้อปปิ้งและกรณี
รายการช้อปปิ้งและกรณี
รายการช้อปปิ้งและกรณี

รายการช้อปปิ้ง:

  • MDF 12 มม. 1 แผ่น - สำหรับเคส
  • 1 Arduino Uno - สมอง
  • เขียงหั่นขนม 1 sml และสายไฟ
  • 1 DHT11 - เซ็นเซอร์อุณหภูมิและความชื้นแบบดิจิตอล - สำหรับอุณหภูมิตัวอย่างเท่านั้น
  • จอแสดงผล OLED ขนาด 1.96" - เพื่อแสดงตัวแปร - ความเร็ว อุณหภูมิ ฯลฯ
  • 1 โมดูล IRF520 Mosfet - เพื่อเปิดและปิดไฟ USB สำหรับพัดลม
  • โพเทนชิโอมิเตอร์ 10k 4 ตัวพร้อมปุ่มสีต่างๆ - เพื่อควบคุมความเร็วของพัดลม เวลาตรงเวลา เวลาปิด อุณหภูมิที่ตั้งไว้
  • สวิตช์ไฟ 1 ตัว
  • สีทากระดานดำดีบุก 1 มล. - เหมาะสำหรับ MDF เคลือบ 1 ชั้น
  • สาย USB 1 เส้นและช่องเสียบ USB 1 ช่อง

กรณี:

ขนาดของเคสถูกควบคุมโดยขนาดของฐานของจอภาพ 24 ของฉันและสวิตช์ KVM 4 พอร์ตที่ความกว้าง 220 มม. และความสูงสุดท้ายที่ฉันต้องการตั้งค่าจอภาพ ความลึกค่อนข้างยืดหยุ่น ดังนั้นฉันจึงเลือก 180 มม. เพื่อให้มีมากมาย ขนาดห้องก็เลย 220mmx180mmx60mm มาทำต่อเติม

MDF ขนาด 12 มม. ถูกตัดที่บ้านอย่างง่ายดาย ก่อนติดกาวและขันสกรูเพื่อสร้างฐานการทำงานและด้านหน้า จากนั้นเจาะด้านหน้าเพื่อให้พอดีกับโพเทนชิโอมิเตอร์ 4 ตัว 10k และสวิตช์เปิด/ปิดด้านบน 1 ตัว ซึ่งจะควบคุมการจ่ายไฟให้กับ Arduino และพัดลม เจาะรูสี่เหลี่ยมเพื่อใส่แผงอะครีลิคสีเทารมควันขนาดเล็ก ด้านหลังฉันวางแผนที่จะรักษาความปลอดภัยหนึ่งในจอแสดงผล OLED ที่น่ารักเหล่านั้น ผ่านไปครึ่งทาง ฉันหวังว่าฉันจะใช้ชั้นหน้า 3 มม. แทน MDF ขนาด 12 มม. เนื่องจากมีการนำไม้ออกมากกว่าที่เหลือ

เมื่อเจาะรูและสกัดที่ด้านหลังและด้านข้างสำหรับเซ็นเซอร์อุณหภูมิ ซ็อกเก็ต usb และไฟ usb ทาสีกระดานดำสองสามชั้น มันเป็นสีที่ยอดเยี่ยมสำหรับ mdf เพราะซึมซับได้ดีและไม่ต้องการสีรองพื้น ให้พื้นผิวด้านที่ไม่อาจให้อภัยได้ซึ่งเป็นสิ่งที่ฉันกำลังมองหา

มีการติดหม้อและสวิตช์ อะครีลิครมควันติดกาวร้อน และฉลาก Dyno ที่ผลิตขึ้นเพื่อให้ดูย้อนยุค

ถัดจากส่วนควบคุม…

ขั้นตอนที่ 2: การควบคุม

การควบคุม
การควบคุม

ทั้งหมดขึ้นอยู่กับ Arduino Uno ฉันติดส่วนประกอบต่างๆ แล้วเริ่มสเก็ตช์ภาพ

ร่างใช้ 3 ไลบรารี:

  • หนึ่งเพื่อขับ irf520 mosfet เพื่อเปิดพัดลม
  • หนึ่งเดียวในการขับเคลื่อนจอแสดงผล OLED
  • หนึ่งสำหรับอ่านและแปลข้อมูลอุณหภูมิจาก DHT11

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

มีเว็บไซต์ดีๆ ที่อธิบายวิธีใช้แต่ละไซต์…. และจะรวมลิงก์ไปยังไซต์ที่ดีที่สุด (ในความคิดของฉัน) เพื่อให้ได้ประโยชน์สูงสุดจากแต่ละไซต์

ตรรกะ:

สายเคเบิล USB เส้นเดียวให้พลังงานแก่ Arduino และพัดลม USB Arduino ไม่สามารถเรียกใช้พัดลมได้เนื่องจากกระแสไฟที่ดึงออกมาจะทำให้ Arduino เสียหาย (อันที่จริงค่อนข้างน่าทึ่ง! เราจึงต้องหาวิธีใช้ Arduino เพื่อเปิดหรือปิดพัดลม

จำเป็นต้องมีทรานซิสเตอร์ อันดับแรก ฉันสั่งทรานซิสเตอร์ดาร์ลิงตัน แต่หลังจากอ่านแล้ว ฉันก็เลือกโมดูลไดรเวอร์ irf520 MOSFET จาก HobbyComponents.com การแจ้งเตือนเกินบรรยาย!! IRF520 นั้นยอดเยี่ยมสำหรับการสลับระดับลอจิก (เอาต์พุตจากพิน Arduino) แรงดันไฟฟ้าที่ส่งไปยังอุปกรณ์จะกำหนดความต้านทานของ MOSFET, I. E. การส่ง 0 ถึง 255 ไปยังพินดิจิตอลจะขับเคลื่อนพัดลม (หรืออุปกรณ์ที่เชื่อมต่ออื่น ๆ) จากความเร็วเต็มที่

เราจะกลับมาที่ 0 ถึง 255 ในภายหลัง

ดังนั้นเราจึงเปิดพัดลมด้วย Arduino ทำไมต้องกังวล? เราไม่อยากให้มันขึ้นตอนที่อากาศหนาวเกินไปใช่ไหม ดังนั้นหากเราเพิ่มเซ็นเซอร์อุณหภูมิ เราสามารถเขียนโค้ดและทดสอบเพื่อดูว่าร้อนหรือไม่ แล้วเปิดพัดลม (255) หรือปิด (0) ฉันไปสำหรับ DHT11 เพราะมันสกปรกราคาถูก เขียนโค้ดได้ง่าย และแม่นยำเพียงพอสำหรับโครงการนี้

กลับไปที่ 0 ถึง 255 ธุรกิจ หากเราทราบว่ารหัสบิตจะเปิดพัดลม (255) หากอุณหภูมิสูงหรือปิด (0) หากอุณหภูมิต่ำหากเรามีค่าระหว่าง 0 ถึง 255 ความต้านทานจะสูงขึ้นหรือลดลง MOSFET และเพิ่มความเร็วหรือลดความเร็วของพัดลม

ป้อนโพเทนชิออมิเตอร์ที่เชื่อมต่อกับพินอะนาล็อก! เมื่อหมุนแล้วจะสร้างค่าระหว่าง 0 ถึง 1,023 ค่านี้สามารถทดสอบในโค้ดเพื่อเปลี่ยนความเร็วพัดลมได้!! เย้ๆ

มีเรื่องสุดท้าย (เอ่อ คู่รัก) ไลบรารีควบคุมมอเตอร์ที่เราจะใช้เพื่อขับเคลื่อนไดรเวอร์ MOSFET ยอมรับ 2 พารามิเตอร์ พารามิเตอร์หนึ่งสำหรับตั้งค่าความต้านทาน (สำหรับความเร็ว) และอีกรายการหนึ่งสำหรับกำหนดระยะเวลา ด้วยพารามิเตอร์มหัศจรรย์นี้ เราสามารถกำหนดระยะเวลาที่พัดลมจะเปิด และระยะเวลาที่พัดลมจะปิด

ดังนั้น เรามี 4 pots เพื่อควบคุมตัวแปร 4 ตัว ต่อไปเราจะดูที่การแสดงผล

ขั้นตอนที่ 3: จอแสดงผล

จอแสดงผล
จอแสดงผล
จอแสดงผล
จอแสดงผล

จำเป็นต้องมีจอแสดงผลหรือไม่? ไม่เชิง. แล้วทำไมมันถึงมี? เพราะฉันต้องการจอแสดงผลที่น่ารักเพื่อแสดงอุณหภูมิปัจจุบัน ความเร็วพัดลม เวลาเปิดพัดลม เวลาปิดพัดลม และจุดที่ตั้งอุณหภูมิ

ไลบรารี U8G นั้นยอดเยี่ยมในการขับเคลื่อนจอแสดงผล OLED ขนาดเล็กนี้ ใช้เวลาหาข้อมูลในช่วงเย็น และฉันได้ใช้คำสั่งต่างๆ เพื่อให้ได้ขนาดตัวอักษรที่ฉันต้องการสำหรับ 5 แถว และเพื่อให้ตัวแปรแสดงโดยใช้คำสั่ง u8g.print() ข้อดีของจอแสดงผลนี้คือ ไม่ใช่จอแสดงผล 'แถว' 2 หรือ 4 แถวที่ชุมชน Arduino คุ้นเคย ดังนั้นกราฟิก ฟอนต์จึงทำได้ทั้งหมด

พูดตามตรง โค้ดส่วนใหญ่กำลังขับเคลื่อนหน้าจอ ถ้างบกำหนดค่าที่จะแสดงเช่น แปลงค่าจากหม้อแอนะล็อก (0 ถึง 1023) เป็นค่าที่จะแสดงบนหน้าจอ โดยรวมแล้ว มีชุดคำสั่งบล็อกหลายชุด กำหนดความเร็วพัดลมจากหม้อ แปลงค่าเป็น % สำหรับหน้าจอ และค่าระหว่าง 0 ถึง 255 เพื่อขับเคลื่อนพัดลม

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

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

ฉันสัญญาว่าจะอัปโหลดภาพร่างเมื่อฉันโพสต์สิ่งนี้เมื่อ 3 ปีที่แล้วและไม่เคยทำ

ดังนั้นนี่คือ……

แนะนำ: