Skip to content

My Project

967 Topics 13.5k Posts

Show off and share your great projects here! We love pictures!

  • Wiring for 2nd Register

    Locked
    2
    0 Votes
    2 Posts
    870 Views
    mfalkviddM
    Locking this thread to avoid double work. If anyone can help, please post in https://forum.mysensors.org/post/90962 instead.
  • SMD Reflow Oven / PID

    23
    0 Votes
    23 Posts
    7k Views
    N
    @neverdie said in SMD Reflow Oven / PID: To approximate the reflow profile, did you manually adjust the temperatures by hand while looking at a clock or something? Yes. That's why I say "remotely" :) Not very convenient but still much faster than soldering all the pads by hand.
  • PiHome - Smart Heating Control Available To download

    11
    1 Votes
    11 Posts
    5k Views
    pihomeP
    @alowhum love the safety "is there a gas leak" i m thinking to implement this as well but haven't came to agreement between 220v powered vs battery powered sensors, on same note my home heating is scheduled for ground floor and DHW but i want to have some exhaust fan to run for 10 to 15 minuts to re-fresh air on ground floor again its on my to do list. i have implemented zone max temperature, boiler max temperature and boiler hysteresis time (time between off and on again) but haven't implemented zone max run time or zone hysteresis time. some time adding extra feature/options to heating control may not suite everyone and it requires lots and lots of testing and time. Ps: i think all these commercially available options are way behind on options for domestic heating needs.
  • Danish LK wall switch

    1
    7
    3 Votes
    1 Posts
    829 Views
    No one has replied
  • 0 Votes
    1 Posts
    2k Views
    No one has replied
  • i2c Lightning Sensor +

    16
    10 Votes
    16 Posts
    12k Views
    Boots33B
    The Playing with fusion sketch uses the I2C library found here some more info on the library here
  • 50mm x 50mm board with different powering options

    16
    5 Votes
    16 Posts
    11k Views
    pihomeP
    @gertsanders you have good PCB design skills, great work :+1: but keep safety in mind, those cheap chines plastic box aren't for 220v and definitely not to houses any power supply.
  • 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
    4k Views
    N
    @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
    D
    @datim69 welcome aboard the mysensors team
  • Mailbox/Postbox Alert

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

    10
    1
    0 Votes
    10 Posts
    4k Views
    N
    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
    7k Views
    N
    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
    24k 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
    2k 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
    2k 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
    15k 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
    1k 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
    30k Views
    S
    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
    2k Views
    mntlvrM
    You are correct but the glue peels right off if I need to make changes

17

Online

12.0k

Users

11.2k

Topics

113.4k

Posts