Skip to content
  • MySensors
  • OpenHardware.io
  • Categories
  • Recent
  • Tags
  • Popular
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo
  1. Home
  2. My Project
  3. Ultrasonic essential Oil diffuser

Ultrasonic essential Oil diffuser

Scheduled Pinned Locked Moved My Project
11 Posts 7 Posters 8.7k Views 11 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • fifipil909F Offline
    fifipil909F Offline
    fifipil909
    wrote on last edited by fifipil909
    #1

    Hi,

    my wife like to use essential oil in the house, but basic humidifier use a lot of water and increase the ambiant humidity in the room.
    I notice also that the smell of the oil is not really intense.

    So the idea, modify a cheap ultrasonic humidifier and create an oil diffuser without dealing with water.

    The start, a cheap Donut humidifier 6$ on ebay.

    http://www.ebay.com/itm/Donut-Shaped-Ultrasonic-USB-Humidifier-Air-Essential-Oil-Purifier-Aroma-Diffuser-/301652283655?hash=item463be09107:g:vrwAAOSwBahVbrHo

    then, I decide to build a wood enclosure with a removable top for easy oil bottle changing and put everything together.

    0_1456867650174_20160301_220334.jpg

    The top is maintain by 2 small magnet, and the ceramic caps just touch the top of the Bottle wick.

    0_1456867796260_20160301_220513.jpg

    0_1456867820284_20160301_220905.jpg

    0_1456867846543_20160301_220937.jpg

    Regarding the Sketch, Its like a dimmer, V_status for the On/Off state, V_percentage for the frequency.

    /**
     * The MySensors Arduino library handles the wireless radio link and protocol
     * between your home built sensors/actuators and HA controller of choice.
     * The sensors forms a self healing radio network with optional repeaters. Each
     * repeater and gateway builds a routing tables in EEPROM which keeps track of the
     * network topology allowing messages to be routed to nodes.
     *
     * Created by Henrik Ekblad <henrik.ekblad@mysensors.org>
     * Copyright (C) 2013-2015 Sensnology AB
     * Full contributor list: https://github.com/mysensors/Arduino/graphs/contributors
     *
     * Documentation: http://www.mysensors.org
     * Support Forum: http://forum.mysensors.org
     *
     * This program is free software; you can redistribute it and/or
     * modify it under the terms of the GNU General Public License
     * version 2 as published by the Free Software Foundation.
     *
     */
    
    //#################
    // INCLUDE
    //#################
    #include <SPI.h>
    #include <MySensor.h>
    #include <Time.h>
    
    //#################
    // OPTION
    //#################
    
    #define DEBUG
    #define MIN_DELAY  10   
    #define MAX_DELAY  90 
    bool  Diffuser_status;
    uint8_t   Diffuser_Freq;
    
    int delaytowait;
    unsigned long lastUpdate;
    int nbseconds = 0;
    
    //#################
    // CHILD ID
    //#################
    #define CHILD_ID_DIFFUSER 0
    
    
    //#################
    // PIN DEF
    //#################
    #define DIFFUSER_PIN A3
    
    
    //#################
    // VAR
    //#################
    MySensor gw;
    
    //#################
    // Messsage Settings
    //#################
    MyMessage IntensityMsg(CHILD_ID_DIFFUSER, V_PERCENTAGE);
    MyMessage StatusMsg(CHILD_ID_DIFFUSER, V_STATUS);
    
    void setup()
    {
      gw.begin(incomingMessage, AUTO, false);
      pinMode(DIFFUSER_PIN, OUTPUT);
      digitalWrite(DIFFUSER_PIN, HIGH);
    
      //#################
      // Info
      //#################
      gw.sendSketchInfo("Difuser", "1.0");
    
    
      //#################
      // Send Presentation
      //#################
    
      gw.present( CHILD_ID_DIFFUSER, S_DIMMER );
    
      Diffuser_status = gw.loadState(5);
      Diffuser_Freq = gw.loadState(8);
      gw.send(StatusMsg.set(Diffuser_status ? true : false), true);
      gw.wait(200);
      gw.send(IntensityMsg.set(Diffuser_Freq),true);
    }
    
    void loop()
    {
      unsigned long now = millis();
    
      gw.process();
    
      if (now - lastUpdate > 1000) {
        nbseconds++;
        lastUpdate = now;
      }
    
      float delaytowaittmp = ((MAX_DELAY - MIN_DELAY) / 100.0) * Diffuser_Freq;
      int delaytowait = delaytowaittmp;
    
      if ((Diffuser_status == true) && (nbseconds > delaytowait)) {
       
        digitalWrite(DIFFUSER_PIN, LOW);
        delay(100);
        digitalWrite(DIFFUSER_PIN, HIGH);
        delay(100);
        digitalWrite(DIFFUSER_PIN, LOW);
        delay(100);
        digitalWrite(DIFFUSER_PIN, HIGH);
        delay(100);
        nbseconds = 0;
      }else if(nbseconds > delaytowait)
      {
        nbseconds = 0;
      }
    
    }
    
    void incomingMessage(const MyMessage &message) {
    
      if (message.type == V_STATUS || message.type == V_PERCENTAGE) {
    
        int req_status = -1;
        int req_percentage = -1;
    
        if (message.type == V_STATUS)
        {
          req_status = message.getBool();
          Diffuser_status = req_status;
          gw.saveState(5, Diffuser_status);
        }
    
        if (message.type == V_PERCENTAGE)
        {
          req_percentage = message.getByte();
          Diffuser_Freq = req_percentage;
          gw.saveState(8, Diffuser_Freq);
        }
    
      }
    }
    
    
    
    
    

    Now, you can have good smell in every room for some dollars when you arrived from work, when you start cooking, when going to sleep or entering in your Bat Cave !

    1 Reply Last reply
    7
    • hekH Offline
      hekH Offline
      hek
      Admin
      wrote on last edited by
      #2

      Wow, I didn't see that actuator coming. :)

      1 Reply Last reply
      0
      • M Offline
        M Offline
        MikeF
        wrote on last edited by
        #3

        ...think we need a new sensor type: V_ESSENTIAL_OIL_DIFFUSER :laughing:

        1 Reply Last reply
        0
        • greglG Offline
          greglG Offline
          gregl
          Hero Member
          wrote on last edited by
          #4

          @fifipil909 That's outstanding work!

          I never knew these ultrasonic essential oil diffusers existed.

          for version 2 you need to add a sensor for when the oil is depleted!

          What sort of current does the ultrasonic humidifier demand?

          1 Reply Last reply
          0
          • tripyT Offline
            tripyT Offline
            tripy
            wrote on last edited by
            #5

            The enclosure is very nice too.
            Hand made ?

            1 Reply Last reply
            0
            • fifipil909F Offline
              fifipil909F Offline
              fifipil909
              wrote on last edited by fifipil909
              #6

              @gregl yes, I think about add a level indication by using a simple ldr and a led, shouldn't be complicated to archeve.

              regarding the ceramic caps, a lot of them you can find on ebay use 40 Vac at 1.6Mhz. so not so easy and finding a 8:1 transformer working at this frequency to make a small DC to AC converter is not that easy.

              after some search, I find some other caps like exactly the same there is on this "donut" humidifer. they are working at a much low frequency, 113khz to be exact.
              http://fr.aliexpress.com/item/20mm-113KHz-ultrasonic-atomizer-transducer-atomizing-part/32273063940.html?spm=2114.44010308.4.177.0Amsoy
              Regarding the voltage, I found some caps working at 5vpp but the donut caps seems to working arround 50v.
              I don't have any idea how they boost the voltage to that pick.

              here is some scope:

              Mofset Gate :
              0_1456920546860_IMG_006.BMP

              Caps input:
              0_1456920582586_IMG_001.BMP
              the sinus wave it's really durty, but seems to be enough to vibrate the caps.

              donut IC :
              0_1456920732712_20160302_130545.jpg

              0_1456920737957_20160302_130603.jpg

              if someone have some idea of what is this black component on the right side. seems to be the one that boost the voltage up to 60v.

              @tripy yes everything handmade. my friend carpenter help me to glue together some piece of wood plate like this : http://planete-bois.com/plans-de-travail/28-plan-de-travail-chene-lamelle-colle-aboute.html I manage the rest with a router and a drill press.

              AWIA 1 Reply Last reply
              0
              • greglG Offline
                greglG Offline
                gregl
                Hero Member
                wrote on last edited by
                #7

                "what is this black component on the right side"
                id say its a simple transformer. how many leads go into it? ( photos a bit blurry )

                1 Reply Last reply
                0
                • fifipil909F fifipil909

                  @gregl yes, I think about add a level indication by using a simple ldr and a led, shouldn't be complicated to archeve.

                  regarding the ceramic caps, a lot of them you can find on ebay use 40 Vac at 1.6Mhz. so not so easy and finding a 8:1 transformer working at this frequency to make a small DC to AC converter is not that easy.

                  after some search, I find some other caps like exactly the same there is on this "donut" humidifer. they are working at a much low frequency, 113khz to be exact.
                  http://fr.aliexpress.com/item/20mm-113KHz-ultrasonic-atomizer-transducer-atomizing-part/32273063940.html?spm=2114.44010308.4.177.0Amsoy
                  Regarding the voltage, I found some caps working at 5vpp but the donut caps seems to working arround 50v.
                  I don't have any idea how they boost the voltage to that pick.

                  here is some scope:

                  Mofset Gate :
                  0_1456920546860_IMG_006.BMP

                  Caps input:
                  0_1456920582586_IMG_001.BMP
                  the sinus wave it's really durty, but seems to be enough to vibrate the caps.

                  donut IC :
                  0_1456920732712_20160302_130545.jpg

                  0_1456920737957_20160302_130603.jpg

                  if someone have some idea of what is this black component on the right side. seems to be the one that boost the voltage up to 60v.

                  @tripy yes everything handmade. my friend carpenter help me to glue together some piece of wood plate like this : http://planete-bois.com/plans-de-travail/28-plan-de-travail-chene-lamelle-colle-aboute.html I manage the rest with a router and a drill press.

                  AWIA Offline
                  AWIA Offline
                  AWI
                  Hero Member
                  wrote on last edited by
                  #8

                  @fifipil909 I assume the black component is a coil. There are many simple circuits which can generate a high voltage with a coil/ transformer or capacitors and diodes.
                  0_1456991504666_upload-5eaa06af-25c0-46e1-8e68-4a66872cecf1 Some noisy examples

                  1 Reply Last reply
                  0
                  • fifipil909F Offline
                    fifipil909F Offline
                    fifipil909
                    wrote on last edited by
                    #9

                    There is 3 leads.
                    I did try to make better pic.

                    0_1457093736469_20160304_131257.jpg
                    0_1457093740253_20160304_131331.jpg

                    1 Reply Last reply
                    0
                    • lucyheartL Offline
                      lucyheartL Offline
                      lucyheart
                      wrote on last edited by
                      #10

                      Wow... you're resourceful persion. i want build this but it difficult for me :D

                      1 Reply Last reply
                      0
                      • fifipil909F Offline
                        fifipil909F Offline
                        fifipil909
                        wrote on last edited by
                        #11

                        Hi,

                        It's hard to say right now.
                        It can be interesting to know how do you control the On/Off.

                        Those Ceramic caps don't like to be used without any liquid and can be damaged very quickly if there are dry.
                        But normally there is a build in switch off circuit if no liquid is detected.

                        Can you tell me more how to you modify the electronic to control it with Mysensors ?

                        1 Reply Last reply
                        0
                        Reply
                        • Reply as topic
                        Log in to reply
                        • Oldest to Newest
                        • Newest to Oldest
                        • Most Votes


                        19

                        Online

                        11.7k

                        Users

                        11.2k

                        Topics

                        113.1k

                        Posts


                        Copyright 2025 TBD   |   Forum Guidelines   |   Privacy Policy   |   Terms of Service
                        • Login

                        • Don't have an account? Register

                        • Login or register to search.
                        • First post
                          Last post
                        0
                        • MySensors
                        • OpenHardware.io
                        • Categories
                        • Recent
                        • Tags
                        • Popular