Skip to content

My Project

Show off and share your great projects here! We love pictures!
961 Topics 13.4k Posts
  • 3V AA Battery holder sensor

    2
    7
    7 Votes
    2 Posts
    1k Views
    nagelcN
    Clever. I have a bunch of circuit boards stuck to the back of battery holders using hot glue. This looks much better.
  • Another nRF5 based wall switch

    10
    6
    5 Votes
    10 Posts
    3k Views
    Nca78N
    @dbemowsk said in Another nRF5 based wall switch: @abarkow I like european wall switches much more than the US style ones. There is much more room for electronics in them. I agree, I have US/AU here (only a few mm difference) and I wish I had those big 82*82mm squares...
  • My MuliSensor Build (Motion, Relay, Air, Temp. Humidity and Light)

    4
    6
    1 Votes
    4 Posts
    2k Views
    dbemowskD
    @datim69 welcome aboard the mysensors team
  • Mailbox/Postbox Alert

    31
    1 Votes
    31 Posts
    18k Views
    M
    Hello, Does this code still work? Thank you
  • LoRa Nodes

    10
    1
    0 Votes
    10 Posts
    4k Views
    NeverDieN
    So, after increasing the bandwidth to 500Khz and reducing the data payload, the node now consumes 38ma for 13ms during its Tx to the gateway, which is 37% of the energy consumed in the earlier measurement above. I see that further improvements are possible, but I deem it good enough for now. :)
  • LoRa Gateway

    18
    1
    1 Votes
    18 Posts
    6k Views
    NeverDieN
    Hadn't seen it. I'm lately of the mind that it's better to have everything (including sensors) integrated onto a single board.
  • 2AA Sensor Board + RPI Gateway + RGBW Dimmer

    30
    5 Votes
    30 Posts
    23k Views
    pepsonP
    Hi Where we can found files project to create PCB ? And for Gateway MySensors it will also works with Radio RFM69HW ( Not RFM69HCW) ? Or is any chance to create PCB Gateway for Radio RFM69HW ? Or maybe Radio RFM69HCW and RFM69HW is compatible ?
  • 0 Votes
    3 Posts
    1k Views
    D
    @yveaux I think it's convenient to connect many different sensors through fieldbus, and the camera itself is one kind of sensor.
  • Looking for Sensor

    8
    0 Votes
    8 Posts
    1k Views
    rejoe2R
    Didn't test this, but using a vibration sensor (modules are available under the namee "SW-420 Vibration Tilt Sensor Alarm" at big market places) might also be an option. Should provide digital and/or analog signals. Best success with your project!
  • Water leakage sensor using thin ribbon cable (testing reliability)

    7
    5
    5 Votes
    7 Posts
    13k Views
    D
    Then I have an "alarm" flow in node-red (via openhab) which blinks all lights in the house, sends notification to mobile phones with high priority etc. Which brings me a lot of joy when all works fine (and annoys my wife, as usual)...
  • Heating control with web backend

    2
    0 Votes
    2 Posts
    892 Views
    KimmoHopK
    Though RF24 works quite well at my home, at remote location it's quite on/off. It can work for single measurement or one day or several days, and then have no data for a week. The gateway is running well, since it regularly contacts web server to get new set value(s) even on periods with no data. This led me to suspect problem with RF24, and to order 15 RFM69 radios + level converters. Boy, are they laborious to solder together and to proto shield (no more jumper wires ;) ) on top of Uno! I could make and then test 2 pieces in one day, with magnifying glasses and 3rd hand. Damn 2mm raster on RFM69! If I can get RF24 working good enough, I'll stick with them. For good :thinking_face:
  • [contest] Yet another servo blind control project

    servo venetian blinds
    19
    6 Votes
    19 Posts
    28k Views
    slartiS
    My ethernet gateway died and I made another one on a Raspberry Pi so I updated all of my sensors from 1.4 libraries to 2.2. Here's the updated sketch for these servo blind control nodes: // A sketch to control a servo with a button and MySensors messages //#define MY_DEBUG // Enable and select radio type attached #define MY_RADIO_NRF24 //#define MY_RADIO_RFM69 #include <SPI.h> #include <MySensors.h> #include <Servo.h> #include <Button.h> //https://github.com/JChristensen/Button #define BUTTON_PIN 4 //Connect a tactile button switch (or something similar) //from Arduino pin 4 to ground. #define PULLUP true //To keep things simple, we use the Arduino's internal pullup resistor. #define INVERT true //Since the pullup resistor will keep the pin high unless the //switch is closed, this is negative logic, i.e. a high state //means the button is NOT pressed. (Assuming a normally open switch.) #define DEBOUNCE_MS 20 //A debounce time of 20 milliseconds usually works well for tactile button switches. #define LONG_PRESS_PERIOD 700 //How long to keep button pressed until sweeping starts #define MAX_DEGREES 180 //Servo limits. Whatever works for you. #define MIN_DEGREES 0 #define CHILD_ID 3 Button myBtn(BUTTON_PIN, PULLUP, INVERT, DEBOUNCE_MS); //Declare the button Servo myservo; enum {DECREASING, INCREASING}; //On a servo mounted on the left, with outer slat edge down as closed, // closing is going toward 180, opening toward 0 (on my fake futaba s3003's) boolean invertConversions = true; // false if opening toward 180 boolean servoDirection = INCREASING; //A variable that keeps the current servo direction int servoPin = 3; int servoPosition; int servoSpeed = 1; // The bigger, the faster. 1=slow 5=fast MyMessage msg(CHILD_ID, V_PERCENTAGE); void setup(void) { } void presentation() { // Send the sketch version information to the gateway and Controller sendSketchInfo("Servo", "1.3"); // Register all sensors to gw (they will be created as child devices) present(CHILD_ID, S_COVER); } void loop(void) { myBtn.read(); //Read the button if (myBtn.wasReleased()){ //If the button was pressed once sweep to end of current direction SweepToDirectionEnd(); send(msg.set(ConvertDegToPercent(servoPosition))); } if (myBtn.pressedFor(LONG_PRESS_PERIOD)){ //If the button is held down the servo will start to sweep SweepUntilStop(); send(msg.set(ConvertDegToPercent(servoPosition))); } } int ConvertPercentToDeg(int percent) { int degree; if (invertConversions) degree = map(percent, 0, 100, MAX_DEGREES, MIN_DEGREES); if (!invertConversions) degree = map(percent, 0, 100, MIN_DEGREES, MAX_DEGREES); return degree; } int ConvertDegToPercent(int degree) { int percent; if (invertConversions) percent = map(degree, MAX_DEGREES, MIN_DEGREES, 0, 100); if (!invertConversions) percent = map(degree, MIN_DEGREES, MAX_DEGREES, 0, 100); return percent; } void receive(const MyMessage &message) { myservo.attach(servoPin); if (message.type==V_PERCENTAGE) { int val = message.getInt(); SweepToPosition(ConvertPercentToDeg(val)); //In this case the value has to be inverted because 0 = open send(msg.set(val)); } else if (message.type==V_STATUS) { if (message.getInt() == 1){ SweepToPosition(ConvertPercentToDeg(100)); send(msg.set(100)); } else if(message.getInt() == 0) { SweepToPosition(ConvertPercentToDeg(0)); send(msg.set(0)); } } else myservo.detach(); } void ServoMoveUp() { if ((myservo.attached()) && servoPosition < MAX_DEGREES){ servoDirection = INCREASING; servoPosition += servoSpeed; myservo.write(servoPosition); delay(10); Serial.print("Servo Position: "); Serial.println(servoPosition); } if (!myservo.attached()){ Serial.println("Servo stopped while moving toward MAX, direction unchanged"); delay(100 * servoSpeed); } if (servoPosition >= MAX_DEGREES){ Serial.println("MAX reached, changing direction toward MIN"); servoDirection = DECREASING; delay(100 * servoSpeed); // Wait for the last movement to finish } } void ServoMoveDown() { if ((myservo.attached()) && servoPosition > MIN_DEGREES){ servoDirection = DECREASING; servoPosition -= servoSpeed; delay(10); myservo.write(servoPosition); Serial.print("Servo Position: "); Serial.println(servoPosition); } if (!myservo.attached()){ Serial.println("Servo stopped while moving toward MIN, direction unchanged"); delay(100 * servoSpeed); } if (servoPosition == MIN_DEGREES){ Serial.println("MIN reached, changing direction toward MAX"); servoDirection = INCREASING; delay(100 * servoSpeed); } } void SweepToDirectionEnd() { myservo.attach(servoPin); if (servoDirection == INCREASING){ Serial.println("Going to MAX and stopping there"); while (servoPosition < MAX_DEGREES){ ServoMoveUp(); } delay(20 * servoSpeed); myservo.detach(); } else if (servoDirection == DECREASING){ Serial.println("Going to MIN and stopping there"); while (servoPosition > MIN_DEGREES){ ServoMoveDown(); } delay(20 * servoSpeed); myservo.detach(); } } void SweepUntilStop() { myservo.attach(servoPin); while (myBtn.isPressed()){ myBtn.read(); if (myBtn.isReleased()) myservo.detach(); if (servoDirection == INCREASING) ServoMoveUp(); if (servoDirection == DECREASING) ServoMoveDown(); } } void SweepToPosition(int destination) { if (abs(destination - servoPosition) >= servoSpeed) //Don't move if destination is close to position myservo.attach(servoPin); if (destination > servoPosition && myservo.attached()){ Serial.print("Going to "); Serial.print(destination); Serial.println(" and stopping there"); while (servoPosition < destination){ ServoMoveUp(); } delay(20 * servoSpeed); myservo.detach(); } if (destination < servoPosition && myservo.attached()){ Serial.print("Going to "); Serial.print(destination); Serial.println(" and stopping there"); while (servoPosition > destination){ ServoMoveDown(); } delay(20 * servoSpeed); myservo.detach(); } }```
  • ESP8266-E&nRF24L01+WIFI GW

    3
    4
    1 Votes
    3 Posts
    1k Views
    mntlvrM
    You are correct but the glue peels right off if I need to make changes
  • DIY CNC mill from mainly salvaged and 3D printed parts

    76
    5
    3 Votes
    76 Posts
    12k Views
    NeverDieN
    I notice that the kit from CNCrouterParts does appear to use the springy couplers: https://www.youtube.com/watch?v=EiOOrOfwKvw So, I guess it can't be bad, because they seem to make very nice kits.
  • nRf24L01+ connection quality meter

    43
    10 Votes
    43 Posts
    21k Views
    T
    @heizelmann I'm happy to see that you can appreciate my work as a continuation of the nice job you already did on this thread.
  • Chromecast <-> nodered <-> harmony hub remote integration.

    1
    2 Votes
    1 Posts
    2k Views
    No one has replied
  • Compile error

    7
    0 Votes
    7 Posts
    1k Views
    mfalkviddM
    https://forum.mysensors.org/topic/4276/converting-a-sketch-from-1-5-x-to-2-0-x
  • Egg incubator IOT v3.0

    9
    8
    5 Votes
    9 Posts
    6k Views
    TmasterT
    @rahokos download the file and change the extension from file to .fzz for any reason it happens when i upload this file.
  • Load cell Impact problem

    7
    0 Votes
    7 Posts
    2k Views
    tbowmoT
    Design the chair leg, so that something else is supporting the leg/chair, when the weight is above 200kg. (on my phone at the moment, so can't make a drawing atm)
  • one Arduino with three door sensors and one buzzer sensor

    4
    0 Votes
    4 Posts
    1k Views
    dbemowskD
    @schlog I agree with you. I was responding to the original post.

29

Online

11.7k

Users

11.2k

Topics

113.1k

Posts