Navigation

    • Register
    • Login
    • Search
    • OpenHardware.io
    • Categories
    • Recent
    • Tags
    • Popular
    1. Home
    2. Dalhoj
    • Profile
    • Following
    • Followers
    • Topics
    • Posts
    • Best
    • Groups

    Dalhoj

    @Dalhoj

    11
    Reputation
    26
    Posts
    1213
    Profile views
    0
    Followers
    0
    Following
    Joined Last Online

    Dalhoj Follow

    Best posts made by Dalhoj

    • Relay / Motion Multisensor

      Hi, I thought I would share my newest project with you Guys.
      This project is a multisensory, containing a relay and a motion sensor.

      The project is powered by 230V and has a small 5V power supply in the box as well.
      What I used:
      HC-SR501 PIR
      1 channel relay
      Arduino Pro Mini 5V
      NRF24L01+
      AMS1117 5V-3.3V Step Down Module
      1A 5V Power Supply from Ebay

      Code:
      MultiSensor_Relay_Motion.ino

      Pictures:
      image2.jpeg
      image1.jpeg
      image3.jpeg image5.jpeg image6.jpeg

      The Multisensor is used in my basement room, and turns on the light if there is motion, when I enter the room.
      The logic is made by PLEG on a Vera3

      posted in My Project
      Dalhoj
      Dalhoj
    • RE: Relay / Motion Multisensor

      @ServiceXp @hek Here just a little update

      I have now glued all parts to the box, and added a plastic cover over the part with 230V

      Billede 30-01-15 18.44.44.jpg
      Billede 30-01-15 18.47.20.jpg

      so now nothing should be able to touch and it looks a bit nicer.

      posted in My Project
      Dalhoj
      Dalhoj
    • RE: What did you build today (Pictures) ?

      Hi
      Its been a long time since I made something Mysensors.

      But now I made my first WIFI node with led dimmer. Using the ESP8266 NodeMCU.

      I use the VeraPlus and made a new Mysensors Device, and put in the IP of the NodeMCU.

      This is not my last wifi node. I am thinking of making a motion/temp sensor next 🙂

      alt text

      and the box.

      alt text

      posted in General Discussion
      Dalhoj
      Dalhoj
    • SceneController

      Hi I have made a wall controller, but I'm using S_LIGHT as presentation. Is it possible to make it as S_SCENECONTROLLER1 insted. Then I only have one device and the node, insted of as now 4 devices and a node?

      I dont know if it possible. What I want is to make is a MySensor device that acts like a scene controller.

      Regards dalhoj

      posted in Development
      Dalhoj
      Dalhoj
    • RE: Infrared Temp Sensor

      Maybe for floor heating, then you dont have to place anything on the floor, and can have a thermostat on the wall, but messure on the floor.

      posted in Hardware
      Dalhoj
      Dalhoj

    Latest posts made by Dalhoj

    • RE: What did you build today (Pictures) ?

      Hi
      Its been a long time since I made something Mysensors.

      But now I made my first WIFI node with led dimmer. Using the ESP8266 NodeMCU.

      I use the VeraPlus and made a new Mysensors Device, and put in the IP of the NodeMCU.

      This is not my last wifi node. I am thinking of making a motion/temp sensor next 🙂

      alt text

      and the box.

      alt text

      posted in General Discussion
      Dalhoj
      Dalhoj
    • RE: Infrared Temp Sensor

      Maybe for floor heating, then you dont have to place anything on the floor, and can have a thermostat on the wall, but messure on the floor.

      posted in Hardware
      Dalhoj
      Dalhoj
    • RE: SceneController

      Its a danish enclosure: http://www.lk.dk/produkter/afbrydermateriel-lk-fuga/lk-fuga/antibakteriel/underlag/baseline-2-modul-346dd488/ for the button one and: http://www.lk.dk/produkter/afbrydermateriel-lk-fuga/lk-fuga/antibakteriel/underlag/baseline-1-modul-hvid/ for the top one.

      Its a danish department of Schneider Electric called LK(Lauritz Knudsen)

      posted in Development
      Dalhoj
      Dalhoj
    • RE: motion and relay

      Hey maybe you can modify this sketch:

      http://forum.mysensors.org/topic/902/relay-motion-multisensor

      posted in My Project
      Dalhoj
      Dalhoj
    • RE: Repeater not working - How to?

      Hi I think I have the same problem, so just to be clear

      To get a static parent I'll write:(here parant 4)

      gw.begin(NULL, AUTO, false, 4);

      Or can I leave out false, is it default and write:

      gw.begin(NULL, AUTO, , 4); ????

      regards
      Dalhoj

      posted in General Discussion
      Dalhoj
      Dalhoj
    • RE: Project boxes for MySensor's nodes and gateway?

      This is my gateway.
      image.jpeg

      posted in Enclosures / 3D Printing
      Dalhoj
      Dalhoj
    • RE: Relay / Motion Multisensor

      @madmax good idea I have some DHT22 lying around. But I have not tried making a multi sensor with them.

      Have You tried the skech from the site, I tried it and it work on mine?

      posted in My Project
      Dalhoj
      Dalhoj
    • RE: Problem with node reciving data

      It's on a arduino uno, and it's powerd via the usb, som my laptop.

      Do you think I should try an extern power supply?

      posted in My Project
      Dalhoj
      Dalhoj
    • RE: Problem with node reciving data

      OK

      Now I have come a step further.

      When I remote everything from the loop() besides the process() I can recive date from the gateway.

      The question now is how to get it on the display, and change between the data, say every 2 sec.

      posted in My Project
      Dalhoj
      Dalhoj
    • RE: Problem with node reciving data

      OK so far so good

      I tryed the new code you posted @hek, but still no luck

      Then I changed the gw.begin() to:

      gw.begin(incomingMessage);
      

      Then I could see things on the display 🙂

      Then the question comes to how to send from vera to the node?

      I tryed to do as here: Mysensor forum
      I used this code:

      luup.call_action("urn:upnp-arduino-cc:serviceId:arduino1", "SendCommand", {radioId="10;255", variableId="VAR_1", value=88}, 260)
      

      The problem is when I run the code the serial monitor looks like this:

      sensor started, id 10
      send: 10-10-0-0 s=255,c=0,t=17,pt=0,l=3,st=ok:1.4
      send: 10-10-0-0 s=255,c=3,t=6,pt=1,l=1,st=ok:0
      read: 0-0-10 s=255,c=3,t=6,pt=0,l=2:M
      send: 10-10-0-0 s=255,c=3,t=11,pt=0,l=7,st=ok:Display
      send: 10-10-0-0 s=255,c=3,t=12,pt=0,l=3,st=ok:1.0
      send: 10-10-0-0 s=3,c=0,t=25,pt=0,l=3,st=ok:1.4
      send: 10-10-0-0 s=255,c=3,t=11,pt=0,l=7,st=ok:Display
      send: 10-10-0-0 s=255,c=3,t=12,pt=0,l=3,st=ok:1.0
      send: 10-10-0-0 s=3,c=0,t=25,pt=0,l=3,st=ok:1.4
      send: 10-10-0-0 s=255,c=3,t=11,pt=0,l=7,st=ok:Display
      send: 10-10-0-0 s=255,c=3,t=12,pt=0,l=3,st=ok:1.0
      send: 10-10-0-0 s=3,c=0,t=25,pt=0,l=3,st=ok:1.4
      send: 10-10-0-0 s=255,c=3,t=11,pt=0,l=7,st=ok:Display
      send: 10-10-0-0 s=255,c=3,t=12,pt=0,l=3,st=ok:1.0
      send: 10-10-0-0 s=3,c=0,t=25,pt=0,l=3,st=ok:1.4
      send: 10-10-0-0 s=255,c=3,t=11,pt=0,l=7,st=ok:Display
      send: 10-10-0-0 s=255,c=3,t=12,pt=0,l=3,st=ok:1.0
      send: 10-10-0-0 s=3,c=0,t=25,pt=0,l=3,st=ok:1.4
      send: 10-10-0-0 s=255,c=3,t=11,pt=0,l=7,st=ok:Display
      send: 10-10-0-0 s=255,c=3,t=12,pt=0,l=3,st=ok:1.0
      send: 10-10-0-0 s=3,c=0,t=25,pt=0,l=3,st=ok:1.4
      
      

      And its like the node restarts, and not recives any data.

      I also changed from the string to int, in the var1. so this the code as it is now:

      // Simple SceneController With Dispaly
      
      #include <MySensor.h>
      #include <SPI.h>
      #include <Bounce2.h>
      // Display START
      #include <Wire.h>
      #include <Adafruit_GFX.h>
      #include <Adafruit_SSD1306.h>
      
      //// If using software SPI (the default case):
      #define OLED_MOSI   3 //D1
      #define OLED_CLK   4 //D0
      #define OLED_DC    5 //DC
      #define OLED_CS    6 //CS
      #define OLED_RESET 7 //res
      Adafruit_SSD1306 display(OLED_MOSI, OLED_CLK, OLED_DC, OLED_RESET, OLED_CS);
      
      #define NUMFLAKES 10
      #define XPOS 0
      #define YPOS 1
      #define DELTAY 2
      
      #define LOGO16_GLCD_HEIGHT 16 
      #define LOGO16_GLCD_WIDTH  16 
      static const unsigned char PROGMEM logo16_glcd_bmp[] =
      { B00000000, B11000000,
        B00000001, B11000000,
        B00000001, B11000000,
        B00000011, B11100000,
        B11110011, B11100000,
        B11111110, B11111000,
        B01111110, B11111111,
        B00110011, B10011111,
        B00011111, B11111100,
        B00001101, B01110000,
        B00011011, B10100000,
        B00111111, B11100000,
        B00111111, B11110000,
        B01111100, B11110000,
        B01110000, B01110000,
        B00000000, B00110000 };
      
      #if (SSD1306_LCDHEIGHT != 64)
      #error("Height incorrect, please fix Adafruit_SSD1306.h!");
      #endif
      // Display END
      
      int VAR1 = 99;
      
      #define CHILD_ID 3
      // PIN for the buttons
      byte buttons[] = {14, 15, 16, 17, 18, 19};
      #define NUMBUTTONS sizeof(buttons)
      byte pressed[NUMBUTTONS], justpressed[NUMBUTTONS], justreleased[NUMBUTTONS];
      
      MySensor gw;
      
      Bounce debouncer[NUMBUTTONS];
      
      int oldValue[NUMBUTTONS];
      
      MyMessage msgOn(CHILD_ID,V_SCENE_ON);
      MyMessage msgOff(CHILD_ID,V_SCENE_OFF);
      MyMessage msg(CHILD_ID,V_VAR1);
      void setup()  
      {  
        gw.begin(incomingMessage);
        
        /// Make input & enable pull-up resistors on switch pins
        for (short i=0; i < NUMBUTTONS; i++){
      
          pinMode(buttons[i], INPUT);
          digitalWrite(buttons[i], HIGH);
          oldValue[i] = -1;
          // After setting up the button, setup debouncer
          debouncer[i].attach(buttons[i]);
          debouncer[i].interval(5);
          
          // Send the Sketch Version Information to the Gateway
        gw.sendSketchInfo("Display", "1.0");
        // Register binary input sensor to gw (they will be created as child devices)
        gw.present(CHILD_ID, S_SCENE_CONTROLLER); 
        
      //Display START
      // by default, we'll generate the high voltage from the 3.3v line internally! (neat!)
        display.begin(SSD1306_SWITCHCAPVCC);
        // init done
      //Display END
        }
        
      }
      
      //  Check if digital input has changed and send in new value
      void loop()  
      {
        
        // Alway process incoming messages whenever possible
        gw.process();
        
        for (short i=0; i < NUMBUTTONS; i++){
          debouncer[i].update();
          // Get the update value
          int value = debouncer[i].read();
      
          if (value != oldValue[i]) {
             // Send in the new value
             if (value==HIGH) {
               //gw.send(msgOff.set(i));
             }
             else {
               gw.send(msgOn.set(i));
             }
             oldValue[i] = value;
          }
        }
        
      //Display
      
         // Clear the buffer.
        display.clearDisplay();
      
        display.setTextSize(2);
        display.setTextColor(WHITE);
        display.setCursor(0,0);
        display.println("Test 1");
        display.display();
        delay(2000);
        
        // Clear the buffer.
        display.clearDisplay();
      
        display.setTextSize(2);
        display.setTextColor(WHITE);
        display.setCursor(0,0);
        display.println("Test");
        display.setTextColor(BLACK, WHITE); // 'inverted' text
        display.println("2");
        display.display();
        delay(2000);
        
        // Clear the buffer.
        display.clearDisplay();
        
          display.setTextSize(2);
        display.setTextColor(WHITE);
        display.setCursor(0,0);
        display.println(VAR1);
        display.display();
        delay(2000);
        
        // Clear the buffer.
        display.clearDisplay();
      }
      
      
      void incomingMessage(const MyMessage &message) {
        // We only expect one type of message from controller. But we better check anyway.
        if (message.type==V_VAR1) {
           VAR1 = atoi(message.data);
         } 
      }
      /*
      void incomingMessage(const MyMessage &message) {
        // We only expect one type of message from controller. But we better check anyway.
        if (message.type==V_VAR1) {
           Serial.println( message.getString());
         } 
      }
      */
      
      posted in My Project
      Dalhoj
      Dalhoj