DIY ม่านไฟฟ้าจากม่าน IKEA

สวัสดีครับ ในบล๊อคนี้เดี๋ยวเราก็จะมาทำม่านม้วนไฟฟ้ากัน เนื่องจากว่าแดดยามเช้ามันช่างรุนแรง อยากให้แดดมันส่องตาเฉพาะตอนเวลาที่จะตื่นเท่านั้น(เรื่องมากอีก 555)

vlcsnap-2018-07-31-09h29m08s000.png
แดดแรงขนาดไหนคิดดู นี่ยังไม่ 7 โมงเลย

Hardware

ราคาต่อหนึ่งชุด ประมาณหนึ่งพัน

  • Wemos D1 mini – จะใช้ ESP8266 ตัวไหนก็ได้เช่น NodeMCU ก็ได้ แต่ Wemos D1 mini มันอันเล็กดี เหมาะกับการใส่ในกล่องควบคุมเล็กๆ
  • 28BYJ-48 stepper motor และบอร์ดไดรว์เวอร์ ULN2003
  • ตัวยึดมอเตอร์จากการ 3D Print ด้วยวัสดุ PLA โหลดโมเดลได้จากที่นี่
  • สวิทช์ปล่อยดับ x 2
  • กล่อง FutureBox FB01
  • คอนเน็กเตอร์, สายไฟ, ฯลฯ
  • ม่านม้วน TUPPLUR จาก IKEA

แนะนำให้ต่อลง Breadboard ก่อนบัดกรีถาวรครับ

Schematics_bb.png

Software (HomeBridge)

ต่อจากตอนที่แล้วครับที่ผมเคย Setup ตัว relay กับ HomeBridge. คราวนี้ผมก็ยังใช้ตัว HomeBridge เป็น Core เหมือนเดิม โดยจะใช้โปรโตรคอล MQTT สำหรับการสื่อสาระหว่าง ESP8266 ไป Raspberry Pi. ผมจะใช้ plugin homebridge-mqtt ในการติดต่อกัน

  1. ติดตั้ง MOSQUITTO ลง Raspberry Pi- mosquitto คือเซิฟเวอร์สำหรับการสื่อสารโดยใช้โปรตอคอล mqtt สามารถติดตั้งได่โดยใช้คำสั่งด้านล่าง
    sudo apt-get install mosquitto
  2. ติดตั้ง plugin mqtt สำหรับ HomeBridge
    sudo npm install -g homebridge-mqtt
  3. แก้ไขไฟล์ config.js ของ HomeBridge (ไฟล์ config.js จะอยู่ที่ home/.homebridge/config.js)
    sudo nano config.js

    ให้แก้ไขไฟล์ Config โดยเพิ่มส่วนที่เป็น Platform ของ homebridge-mqtt เข้าไป ตัวอย่างไฟล์ Config ที่ได้จะมีหน้าตาประมาณนี้

    {
         "bridge": {
         "name": "Homebridge",
         "username": "CC:22:3D:E3:CE:30",
         "port": 51826,
         "pin": "031-45-154"
    },
    "description": "This is an example configuration file with one fake accessory and one fake platform. You can use this as a template for creating your own configuration file containing devices you actually own.",
    "accessories": [{
         "accessory": "relay",
         "name": "My relay light 1",
         "pin": 7
         }],
    "platforms": [{
         "platform": "mqtt",
         "name": "mqtt",
         "url": "mqtt://127.0.0.1",
         "port": "1883",
         "topic_type": "multiple",
         "topic_prefix": "homebridge",
         "qos": 1
         }]
    }
    

    รัน HomeBridge แล้วใช้โปรแกรม MQTT LENS(โหลดได้จาก Chrome Webstore) แล้วเพิ่ม Connection เป็น Raspberry Pi ของเรา แล้ว Publish ไปที่

    homebridge/to/add

    โดยมี Payload เป็น

    {
         "name": "Blind 1",
         "service_name": "blind_1",
         "service": "WindowCovering"
    }
    

    หลังจากนั้นเปิดแอป Home ในไอโฟนขึ้นมา จะเจออุปกรณ์ที่ชื่อว่า blind_1 ถ้าได้ตามนี้ก็เดี๋ยวไปลุยต่อกับตัว ESP8266 ที่ผ้าม่านครับ

Hardware (ผ้าม่าน)

ตัวควบคุมม่านประกอบด้วยปุ่มสองปุ่ม(ปุ่มขึ้นและปุ่มลง) ตัวควบคุมมอเตอร์ และไมโครคอนโทรเลอร์

ตัวม่านม้วนผมก็จะต่อวงจรตาม Diagram ด้านบนเลยครับ ตัวยึดมอเตอร์เข้ากับผ้าม่าน ผม โหลดโมเดล 3D มาปริ้นด้วยวัสดุ PLA ครับ

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

ปล. โค้ดของผมใช้ไลบรารี่ CheapStepper เวอร์ชั่นที่ผมดัดแปลงนิดนึงนะครับ และกรุณาแก้ไขค่า ip ของ server ในโค้ด ให้เป็น ip ของ raspberry pi และ name กับ service_name ให้ตรงกับตอนที่เราสร้าง accessories ผ่าน mqttlens ไปครับ

เมื่อแฟลชเฟิร์มแวร์เสร็จ ตัว ESP8266 จะปล่อย wifi ชื่อ ESP8266 Blinds ขึ้นมาเพื่อให้เราตั้งค่าสำหรับต่อไวไฟบ้านเราได้ เมื่อต่อไปที่ไวไฟชื่อ ESP8266 Blinds ให้เข้าไปที่ 192.168.4.1 กด Configure Wifi > จิ้มทีไวไฟของเราแล้วใส่รหัสด้านล่างกรอกรหัสแล้วกด save  หลังจากนั้นรอตัว ESP8266 ต่อไวไฟบ้านเราได้

เมื่อต่อได้แล้ว ให้ทดลองปรับค่าผ่านทางแอป Home ว่าตัว ESP8266 กับมอเตอร์นั้นตอบสนองหรือไม่

การ Calibrate ม่าน

Calibrate(ตั้งศูนย์) ม่าน เพื่อกำหนดจุดสูงสุดและจุดต่ำสุดของม่าน เนื่องจากว่าระบบนี้ไม่มีเซนเซอร์ตรวจจับความสูงของม่าน จึงต้องอาศัยการนับ Step ของมอเตอร์เอา

ขั้นตอนการ Calibrate

  1. กดปุ่มลงค้างไว้แล้วเสียบตัวควบคุมเข้ากับแหล่งจ่ายไฟ – หากถูกต้อง ผ้าม่านจะหมุนลงเรื่อยๆ ในตอนนี้สามารถปล่อยมือจากปุ่มลงได้
  2. รอให้ผ้าม่านเลื่อนลงมาถึงจุดต่ำสุด(ปิดเต็มที่) กดปุ่มลงหนึ่งที – หากถูกต้อง ผ้าม่านจะเปลี่ยนทิศทางแล้วหมุนขึ่นเรื่อยๆ
  3. เมื่อผ้าม่านหมุ่นมาถึงจุดสูงสุด(เปิดเต็มที่) กดปุ่มลงหนึ่งที – หากถูกต้อง ผ้าม่านจะหยุด ถึอว่าการ Calibrate สมบูรณ์

หากไม่ได้ตามนี้ให้ลองใหม่ครับ การ Calibrate นี่บางครั้งผมก็ไม่ติด(ไม่รู้เป็นไร 555) แต่ถ้าทำได้ก็ใช้ได้ยาวๆ ครับ ข้อมูลจะถูกบันทึกไว้ใน ROM

ติดตั้ง

ด้านขวาของผ้าม่าน IKEA TUPPLUR จะเป็นกลไกลสปริง ให้ดึงออกแล้วติดตั้งมอเตอร์เข้าไปแทน หลังจากนั้นเจาะรูที่ผนังตาม template ที่ให้มาในกล่อง(แต่ด้านที่เป็นมอเตอร์ ระยะห่างระหว่างรูบนและรูล่าง ต้องกว้างกว่าตาม template เล็กน้อยนะครับ) ยึดผ้าม่านและมอเตอร์ด้วยปุ๊กและสกรู และอย่าลืมเดินไฟ 5 โวลต์ให้กล่องควบคุม เป็นอันเสร็จสิ้นครับ 😀

vlcsnap-2018-07-31-09h27m57s763.png

ปัญหาที่เจอ

ผมเจอปัญหาที่ว่าตัวมอเตอร์ออกแรงดึงผ้าม่านขึ่นมาไม่ไหว ตอนแรกผมพยายามแก้โดยปรับมอเตอร์ให้มันตรงกับผ้าม่านมากที่สุด(ตอนแรกผมติดเบี้ยวนิดนึง) แต่ก็ยังดึงไม่ขึ้น ทั้งๆ ที่อันก่อนหน้าที่ผมติดตั้งก็ไม่มีปัญหาอะไร แล้วผมก็เจอว่าสายไฟ 5v ของผมมีความต้านทานค่อนข้างสูง ทำให้ไฟเลี้ยงมอเตอร์มีแอมป์ไม่พอ (แนะนำให้มีไฟเลี้ยงอย่างน้อง 1 แอมป์ครับ)  หลังจากที่เปลี่ยนสายไฟเลี้ยง 5v ใหม่ จึงทำให้มอเตอร์กลับมามีแรงดึงผ้าม่านขึ้นครับ แต่สำหรับผ้าม่านอันใหญ่สุดของผม วิธีนี้ยังไม่สามารถทำให้ผ้าม่านเลื่อนขึ้นได้ครับ ผมจึงต้องปล่อยไฟแยกประมาณ 7 โวลต์(จากเดิม 5 โวลต์) ไปที่บอร์ดควบคุมมอเตอร์ ย้ำนะครับว่าให้ต่อไฟ 7 โวลต์ไปที่ตัวบอร์ดควบคุมมอเตอร์เท่านั้น ถ้าตัว Microcontroller ได้รับไฟ 7 โวลต์ ตัว Microcontroller อาจจะเสียหายได้ครับ

และอีกปัญหาก็คือการ Calibrate มอเตอร์  ที่ทำค่อนข้างยาก ขั้นตอนแรกซึ่งผ้าม่านมันควรต้องเลื่อนลง แต่ว่ามันกลับเลื่อนขึ้นแทน (คิดว่าเกิดจากการ Debounce ของ Push button – ยังไม่มีเวลาแก้ครับ)  วิธีแก้ตอนนี้ก็คือรีเซตแล้วทำการ Calibrate ใหม่เรื่อยๆ จนกว่าจะได้ (เท่าที่ผมเจอ ไม่เกิน 5 ครั้งก็สำเร็จแล้วครับ)

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

สรุป

ผมค่อนข้างพึงพอใจนะ สุดท้ายแล้วทุกอย่างมันสามารถทำงานได้ตามที่ต้องการ แต่ผมยังกังวลในเรื่องของระยะยาวว่าวัสดุ PLA ใช้ไปนานๆ มันจะเสื่อมสภาพมั้ย และปัญหาในด้านของ Software ว่ามันจะเสถียรแค่ไหน แต่โดยรวมที่ใช้มาประมาณ 1 เดือน ก็ยังไม่มีปัญหาอะไร ถ้าใครอยากช่วยผมปรับปรุงโค้ดก็ Fork ไปไดเลยครับ 😀

IMG_7543.png

Advertisements

สร้าง Smart Home ควบคุมด้วย Siri/Alexa ด้วย Raspberry Pi ตอน 2 – ควบคุมเครื่องใช้ไฟฟ้าด้วย Relay

หลังจากบล๊อคที่แล้วที่เราได้ตั้งค่า HomeBridge โดยให้ Raspberry Pi เป็นศูนย์กลางการควบคุมเครื่องใช้ไฟฟ้า แต่ตอนนี้เรายังไม่มีเครื่องใช้ไฟฟ้าอะไรเลยที่เชื่อมต่อกับระบบ HomeBridge.  ในบล๊อคนี้เราจะมาสร้างเครื่องใช้ไฟฟ้าที่ควบคุมได้โดย HomeBridge กัน โดยจะใช้ Relay เป็นตัวเปิดปิดไฟ (Relay คืออุปกรณ์ที่ทำหน้าที่เหมือนสวิตช์ไฟ สามารถนำมาเป็นสวิตช์ไฟควบคุมไฟฟ้า 220v ได้) Continue reading “สร้าง Smart Home ควบคุมด้วย Siri/Alexa ด้วย Raspberry Pi ตอน 2 – ควบคุมเครื่องใช้ไฟฟ้าด้วย Relay”

สร้าง Smart Home ควบคุมด้วย Siri/Alexa ด้วย Raspberry Pi ตอน 1 – ตั้งค่า Raspberry Pi

 

สวัสดีครับ หลังจากที่ผมได้รีวีว Eufy Genie ลำโพงอัจฉริยะที่มี Alexa อยู่ สามารถดูรีวีวได้ที่นี่  แต่ Alexa  ก็ไม่ค่อยตอบโจทย์ผมเท่าไหร่เพราะว่าผมเป็นคนใช้ iPhone ซึ่งสำหรับ iPhone การควบคุม Smart Home โดยใช้ HomeKit มันทำง่ายมาก แค่เลื่อน Control center ขึ้นมาก็ใช้ได้เลย ไม่จำเป็นต้องปลดล๊อคเครื่องหรือเข้าแอปอะไรทั้งนั้น ซึี่งทำให้มันสะดวกมากๆ แต่อย่างที่บอก อุปกรณ์ HomeKit มันค่อนข้างแพงและหายาก วันนี้เลยจะมาทำขึ้นเองโดยใช้ Raspberry Pi   แต่เท่านั้นยังไม่พอ ผมจะทำให้มันใช้งานร่วมกับ Alexa ได้ด้วย! (ไหนๆ ก็ซื้อมาแล้วก็ต้องเอามาใช้ด้วยสิ 555)

Continue reading “สร้าง Smart Home ควบคุมด้วย Siri/Alexa ด้วย Raspberry Pi ตอน 1 – ตั้งค่า Raspberry Pi”

[Project] LEDMatrix pt.2 – Software

 

คราวที่แล้วเราไปดูในส่วนของ Hardware ไปแล้ว   คราวนี้มาดู Software กันบ้าง (จะพยายามไม่ลงลึกมากนะครับ แค่ Concept คร่าวๆ ของโปรแกรม) โดยเดี๋ยวเรามาดูการใช้งานโปรแกรมกันดีกว่า

Continue reading “[Project] LEDMatrix pt.2 – Software”

[Project] LEDMatrix pt.1 – Overview& Hardware

IMG_1805

เกี่ยวกับโปรเจคนี้

โปรเจคนี้เป็นส่วนหนึ่งของวิชา OOP ซึ่งใช้ภาษา C++ ดังนั้งผมจึงเลือกทำโปรเจ็ค LEDMatrix Controller เพื่อควบคุม LEDMatrix นี้ด้วย GUI ในคอมพิวเตอร์ แต่ก่อนที่จะไปดูในส่วนของ Software เรามาดูในส่วนของ Hardware กันก่อนดีกว่า

Continue reading “[Project] LEDMatrix pt.1 – Overview& Hardware”

[Project] qID – โปรแกรมแต่งรูปง่ายๆ เพื่อการอัพลงเว็บ

qID | Quick Image Develop – โปรแกรมแต่งรูปง่ายๆ อย่างรวดเร็ว ใช้สำหรับแปลงภาพก่อนลงเว็บ

Continue reading “[Project] qID – โปรแกรมแต่งรูปง่ายๆ เพื่อการอัพลงเว็บ”

ปลูกต้นอ่อนทานตะวันแบบ Home made

หลังจากผมได้ไปเดินงานเกษตรแฟร์ ก็ไปเจอกับเม็ดทานตะวันแบบที่ปลูกไว้กินได้ ซึ่งผมเป็นคนที่ชอบทานต้นอ่อนทานตะวันอยู่แล้ว เลยได้โอกาสที่จะซื้อมาลองปลูกกินดู

Continue reading “ปลูกต้นอ่อนทานตะวันแบบ Home made”

Create a website or blog at WordPress.com

Up ↑