Skip to content

My Project

Show off and share your great projects here! We love pictures!
961 Topics 13.4k Posts
  • Esp8266 wifi gateway with RSSI for RFM69 and Wifi

    1
    2
    3 Votes
    1 Posts
    3k Views
    No one has replied
  • BMP280 + I2C

    11
    4 Votes
    11 Posts
    30k Views
    N
    @emc2 said in BMP280 + I2C: @marekd glad it was useful. You may not need to change the address in the library. If you add these 2 lines after #include <Adafruit_BME280.h> it should work without modifications of the library and so survive any future library updates. #undef BME280_ADDRESS // Undef BME280_ADDRESS from the BME280 library to easily override I2C address #define BME280_ADDRESS (0x76) // Low = 0x76 , High = 0x77 (default on adafruit and sparkfun BME280 modules, default for library) Thanks for this good idea, but it doesn't always work. It's better to add the define before the include, in the sketch. And to replace in the lib #define BMP280_ADDRESS by #ifndef BME280_ADDRESS #define BME280_ADDRESS (0x77) #endif Of course if library updates...
  • Humidity control with arduino

    Locked
    2
    0 Votes
    2 Posts
    2k Views
    mfalkviddM
    Locking this topic to aviod unnecessary double work and confusion since the same post was made at https://forum.mysensors.org/post/71293 Pleas don't post the same question multiple times.
  • source code amonia(NH3) with MQ 135 gas sensor

    2
    0 Votes
    2 Posts
    4k Views
    mfalkviddM
    @Eko-Febrian not sure I understand the question but the gas sensor example might be what you are looking for.
  • Inexpensive, analog, temperature and light sensor

    7
    4 Votes
    7 Posts
    4k Views
    MasMatM
    It's an older model with no chance of getting direct readings or reading it's circuits non-invasively. The easiest I could figure is making a very small hole in the PU shielding close to the top and pushing that thermistor or DS18 to contact the metal surface and get a ball park reading. Maybe with some thermal paste to improve contact. I'd say I'm happy with anything within a few degrees of the truth. AND I have thermistors lying around. Anyway, going to try it. If it's bad, I'll report the results and proceed to order something like that DS18.
  • 3-in-1 Humidity Temp and Motion

    motion 3 in 1 temp humidity
    47
    4 Votes
    47 Posts
    43k Views
    mfalkviddM
    @ryanbrown204 temperature: https://www.mysensors.org/build/temp Motion: https://www.mysensors.org/build/motion See the first post in this thread for the modifications Konrad did.
  • ATTiny85 as a RepeaterNode-just a repeater, no sensors

    1
    0 Votes
    1 Posts
    1k Views
    No one has replied
  • MQTT/Ethernet Gateway using Leonardo(32u4), W5100, RFM69H, Hard SPI

    6
    2 Votes
    6 Posts
    3k Views
    G
    @Carywin Thanks for the instructions!! I followed it and just got it working on a Leonardo clone. I am receiving messages from nodes on the Mosquitto broker on a Raspberry Pi. 0;255;3;0;9;TSF:MSG:SEND,0-0-51-213,s=213,c=1,t=23,pt=2,l=2,sg=0,ft=0,st=OK:10280 0;255;3;0;9;Sending message on topic: sensors-out/213/213/1/0/23 0;255;3;0;9;TSF:MSG:READ,213-51-0,s=213,c=1,t=23,pt=2,l=2,sg=0:10281 0;255;3;0;9;TSF:MSG:ACK REQ 0;255;3;0;9;TSF:MSG:SEND,0-0-51-213,s=213,c=1,t=23,pt=2,l=2,sg=0,ft=0,st=OK:10281 0;255;3;0;9;Sending message on topic: sensors-out/213/213/1/0/23 0;255;3;0;9;TSF:MSG:READ,207-51-0,s=207,c=1,t=23,pt=2,l=2,sg=0:21655 0;255;3;0;9;TSF:MSG:ACK REQ 0;255;3;0;9;TSF:MSG:SEND,0-0-51-207,s=207,c=1,t=23,pt=2,l=2,sg=0,ft=0,st=OK:21655 0;255;3;0;9;Sending message on topic: sensors-out/207/207/1/0/23 0;255;3;0;9;TSF:MSG:READ,213-51-0,s=213,c=1,t=23,pt=2,l=2,sg=0:10282 0;255;3;0;9;TSF:MSG:ACK REQ mosquitto_sub -v -t 'sensors-out/#' -u XXXXXXX -P XXXXXXX sensors-out/0/255/0/0/18 2.1.1 sensors-out/0/255/0/0/18 2.1.1 sensors-out/213/213/1/0/23 10217 sensors-out/208/208/1/0/0 24.69 sensors-out/213/213/1/0/23 10218 sensors-out/213/213/1/0/23 10219 sensors-out/213/213/1/0/23 10220 sensors-out/213/213/1/0/23 10221 sensors-out/213/213/1/0/23 10222 sensors-out/213/213/1/0/23 10223 sensors-out/208/208/1/0/0 24.69 sensors-out/213/213/1/0/23 10224 I am using Mysensors 2.1.1. and didn't need to do anything on the nodes. Never worked with a Leonardo and spend a lot of time getting the serial port working on Win7. Also need to press reset everytime right before uploading a sketch. Also need to add: void setup() { while (!Serial) {;} } otherwise Serial monitor shows nothing.
  • RPi3 GPIO MySensors Gateway + LEDs + LNA Radio + DLink enclosure

    3
    2
    2 Votes
    3 Posts
    2k Views
    OliverDogO
    [image: 1498570438275-1-c%C3%B3pia-4-resized.jpeg] [image: 1498570438125-1-c%C3%B3pia-3-resized.jpeg] [image: 1498570437917-1-c%C3%B3pia-2-resized.jpeg]
  • Multi Node project (MySensors noob) =RASPBERRY GATEWAY PROBLEM=

    11
    0 Votes
    11 Posts
    3k Views
    L
    @sineverba Many thanks to your hint. I do same everything starts working perfectly. No can use raspi serial nrf and not need to but not necessary Arduino nano to do gateway things. Many thanks one more time. This kind configure i put, everything works now ok. Tx rx and er led not work, but i can live with that :) ./configure --my-transport=nrf24 --my-gateway=serial --my-serial-is-pty --my-serial-pty=/dev/ttyUSB020 --my-transport=nrf24 --my-rf24-irq-pin=15 --my-rf24-channel=108 --my-leds-err-pin=12 --my-leds-rx-pin=16 --my-leds-tx-pin=18 Can someone tell why mysensors sketch take so much size on program memory. And i but debug // out commented first row and after that still printing serial monitor. Here my code now. Can i do simpler that code because i know i use 3-5 ds1820 sensors not need to scan everytime what sensors there are and now they are harder rename. Try to search some examples, but almost all use this ds1820 example code. I think code is more and more simpler if just do 3pcs ds1820 sensors and name that temps allready with some name. After that see directly on Domoticz what sensor is what. Everyhints with this is ok, that works ok right now with this example code, but code is quite big (big sketch) and have that sensor scan system what i not needed. What i can do that 30000ms sleep, if i but relay and switch systems in this same node. Only edit is now couple rows code to use my oled display to show one ds1820 sensor temp. I understand that do this sketch little bit bigger, but sketch is quite big before that oled display. /** * 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. * ******************************* * * DESCRIPTION * * Example sketch showing how to send in DS1820B OneWire temperature readings back to the controller * http://www.mysensors.org/build/temp */ // Enable debug prints to serial monitor //#define MY_DEBUG // Enable and select radio type attached #define MY_RADIO_NRF24 //#define MY_RADIO_RFM69 #include <SPI.h> #include <MySensors.h> #include <DallasTemperature.h> #include <OneWire.h> // NÄYTTÖ INCLUDET! #include <Wire.h> #include <Adafruit_GFX.h> #include <Adafruit_SSD1306.h> #define OLED_RESET 4 Adafruit_SSD1306 display(OLED_RESET); #define NUMFLAKES 10 #define XPOS 0 #define YPOS 1 #define DELTAY 2 #if (SSD1306_LCDHEIGHT != 32) #error("Height incorrect, please fix Adafruit_SSD1306.h!"); #endif // NÄYTTÖ INCLUDET LOPPU! #define COMPARE_TEMP 1 // Send temperature only if changed? 1 = Yes 0 = No #define ONE_WIRE_BUS 3 // Pin where dallase sensor is connected #define MAX_ATTACHED_DS18B20 8 #define MY_DEFAULT_LED_BLINK_PERIOD 300 #define MY_DEFAULT_ERR_LED_PIN 4 #define MY_DEFAULT_TX_LED_PIN 7 #define MY_DEFAULT_RX_LED_PIN 8 float temperature = 0; unsigned long SLEEP_TIME = 30000; // Sleep time between reads (in milliseconds) OneWire oneWire(ONE_WIRE_BUS); // Setup a oneWire instance to communicate with any OneWire devices (not just Maxim/Dallas temperature ICs) DallasTemperature sensors(&oneWire); // Pass the oneWire reference to Dallas Temperature. float lastTemperature[MAX_ATTACHED_DS18B20]; int numSensors=0; bool receivedConfig = false; bool metric = true; // Initialize temperature message MyMessage msg(0,V_TEMP); void before() { // Startup up the OneWire library sensors.begin(); } void setup() { // requestTemperatures() will not block current thread sensors.setWaitForConversion(false); display.begin(SSD1306_SWITCHCAPVCC, 0x3C); delay(500); display.clearDisplay(); } void presentation() { // Send the sketch version information to the gateway and Controller sendSketchInfo("Garage Node", "1.1"); // Fetch the number of attached temperature sensors numSensors = sensors.getDeviceCount(); // Present all sensors to controller for (int i=0; i<numSensors && i<MAX_ATTACHED_DS18B20; i++) { present(i, S_TEMP); } } void loop() { // Fetch temperatures from Dallas sensors sensors.requestTemperatures(); // query conversion time and sleep until conversion completed int16_t conversionTime = sensors.millisToWaitForConversion(sensors.getResolution()); // sleep() call can be replaced by wait() call if node need to process incoming messages (or if node is repeater) sleep(conversionTime); // Read temperatures and send them to controller for (int i=0; i<numSensors && i<MAX_ATTACHED_DS18B20; i++) { // Fetch and round temperature to one decimal temperature = static_cast<float>(static_cast<int>((getControllerConfig().isMetric?sensors.getTempCByIndex(i):sensors.getTempFByIndex(i)) * 10.)) / 10.; // Only send data if temperature has changed and no error #if COMPARE_TEMP == 1 if (lastTemperature[i] != temperature && temperature != -127.00 && temperature != 85.00) { #else if (temperature != -127.00 && temperature != 85.00) { #endif // Send in the new temperature //Serial.print("xxxx"); Serial.print(temperature); // omaa debuggausta.. send(msg.setSensor(i).set(temperature,1)); // Save new temperatures for next compare lastTemperature[i]=temperature; oledNaytto(); } } sleep(SLEEP_TIME); } ////////////////OLED NÄYTÖN OHJAUS .. TEMPERATURE OTETAAN VALMIISTAJA MUUTTUJASTA JA INDEKSIN MUKAAN (1 on tällä hetkellä ainakin room temp)/////// int oledNaytto(){ display.clearDisplay(); display.setTextSize(3); display.setTextColor(WHITE); display.setCursor(0,0); display.println(lastTemperature[1]); display.display(); }
  • Rain Guage

    128
    0 Votes
    128 Posts
    110k Views
    EnfeetE
    Lets continue in correct topic https://forum.mysensors.org/topic/4821/rain-gauge/35
  • 0 Votes
    14 Posts
    3k Views
    vadimbzV
    I nwas about talking about digispark (attiny85) board that would be a good match for rolling out mysensors if only had a couple more pins: [image: 1498271391008-s-l300.jpeg] I was asking if it's possible to use them after all one way or another, at least for basic sensors with 3 pins (GND, Vcc, Signal) from which we need only Signal. I also mentioned this as known, but unwated solution: https://www.hackster.io/arjun/nrf24l01-with-attiny85-3-pins-74a1f2
  • This topic is deleted!

    1
    0 Votes
    1 Posts
    2 Views
    No one has replied
  • LCD Node - display temp from other sensor - How?

    8
    0 Votes
    8 Posts
    3k Views
    Boots33B
    @cadet You can send on the fly if you like, the message bellow is for a binary switch but the format is the same. You would need to use V_TEMP instead of V_STATUS and put the temp in the .set at the end [image: 1498081914122-node-resized.jpeg] To receive, using your code as an example void receive(const MyMessage &message) { if (message.type == V_TEMP) { temper = message.getFloat(); //put code here to be executed when the return from the request arrives Serial.print(temper); lcd.setCursor(2, 3); lcd.print(temper); } } And temper would need to be declared as a float of course.
  • Home Automation - multi-sensor nodes

    8
    1 Votes
    8 Posts
    13k Views
    Mr6510M
    @mihai Thanks Mihai, I have been struggling with getting my first basic Home Assistant + MySensors via MQTT working. Your examples got it all going for me. Thanks again for taking the effort to post.
  • Double Micro (nano) Ampere meter

    54
    3
    11 Votes
    54 Posts
    15k Views
    NeverDieN
    Once I decided to power the HX711 externally rather than through the solar node, it has turned out to be a nice little current monitor. Typical charging currents for indoor solar nodes that are far from windows is only around 50ua, and the HX711 seems good enough for monitoring charge currents at around that amount. :) Thanks @AWI for posting the project!
  • Driveway motion light

    8
    6 Votes
    8 Posts
    4k Views
    dbemowskD
    @BeniK Always glad to help
  • Finally some light in "my" sensors installation :)

    3
    5
    7 Votes
    3 Posts
    1k Views
    sundberg84S
    @tbowmo - Cool idea! (And cool painting!) Im waiting for some mosfets to make somthing similar behind my TV :)
  • Automatic Irrigation (Adjust Hour)

    1
    0 Votes
    1 Posts
    688 Views
    No one has replied
  • Timer Help

    10
    0 Votes
    10 Posts
    2k Views
    dbemowskD
    @Topdawg2881 that's where I was going with my example. There is still the delay(500) that I left in from his code, but that's a short delay.

23

Online

11.7k

Users

11.2k

Topics

113.1k

Posts