💬 NModule Temperature, Humidity, Light, Door sensor shield
-
@Nca78 can you please check the "drill holes" file in the source for this shield, I was testing pcbs.io and it complained about "Gerber Normalization Failed For Layer: Drill Holes". (all works fine for the main nModule)
On oshpark I get "I can't find a board outline file." (I get this error on oshpark for all the boards/layouts)
-
@dakipro I just tested on pcbs.io and :
- if I put all the "design" files folder in the zip I upload, I have a "duplicate drill file" error
- if I remove the product.txt file (which is a "legal" thing related to license but has same txt extension than drill files) then pcbs.io seems happy with the upload and shows me the "drill holes" images
-
Ahh... its been a few years since I ordered a pcb last time, forgot all the details :)
Thank you, it works like you described it, I am now looking forward to making the modules :)btw, I found out that local library has a 3d printer I could use, so I am hoping to make a few different/similar cases for the modules.
I am also considering the motion sensor together with light/temp/door... But I will start "simpler" for now, also waiting for your progress report on the nModule motion shield for the best sensor to pickThanks again
-
hi, I was just playing around with the code while I wait for the boards, and I noticed the use of
ArduinoSystemStatus library, as mentioned in the code#include <SystemStatus.h> // Get it here: https://github.com/cano64/ArduinoSystemStatusBut the library on github does not have a getVCCPercent() method as used in the code on line 262
currentBatteryPercent = SystemStatus().getVCCPercent(BATTERY_VCC_MIN, BATTERY_VCC_MAX);Do you remember where did you download SystemStatus from, I couldn't find anything on google nor github.
The code does not compile with library from the link above (as method is missing). I guess it is not difficult to replace it, but perhaps it is worth mentioning. -
hi, I was just playing around with the code while I wait for the boards, and I noticed the use of
ArduinoSystemStatus library, as mentioned in the code#include <SystemStatus.h> // Get it here: https://github.com/cano64/ArduinoSystemStatusBut the library on github does not have a getVCCPercent() method as used in the code on line 262
currentBatteryPercent = SystemStatus().getVCCPercent(BATTERY_VCC_MIN, BATTERY_VCC_MAX);Do you remember where did you download SystemStatus from, I couldn't find anything on google nor github.
The code does not compile with library from the link above (as method is missing). I guess it is not difficult to replace it, but perhaps it is worth mentioning.@dakipro yes it's strange, all reference I find when looking for the method point to MySensors forum.
I don't remember writing this method, but I probably did. I will either make a proper fork of the library, or update my code to include the GetVccPercent method.
Before that here is the method
In h file in "public:" :int getVCCPercent(int vccMin, int vccMax);In c file :
int SystemStatus::getVCCPercent(int vccMin, int vccMax) { int vcc = getVCC(); if (vcc > vccMax) { return 100; } else if (vcc < vccMin) { return 0; } else { return (10 * (vcc - vccMin)) / ((vccMax - vccMin) / 10); } } -
Thanks, I wrote something similar "inline" just to get the node out.
I also noticed that reed switch is not mentioned in the code (or I missed it). Not that it is difficult to implement, but maybe you have some more improvements :)To be honest, I wasn't expecting any source code for the node so I really appreciate that you shared it, and also made it very clear and easy to use. I also like optimizations related to the CR battery, so thank you for that
-
I made a sketch for both normal and NO/NC reed switch, I will check and publish it.
-
As mentioned on the nModule thread, I finally managed to get it to work.
And as usual, I have a few questions @Nca78 :)From your photos of the module, you have a door sensor separate from the light/temperature, is that only "strategical" choice, or is it some technical limitation?
Meaning, would it be possible to have all of them on one sensor, as TempHumLighDoor sensor?And I might be pushing it now, but... would it be possible to add a motion sensor on top of that? Can you connect two sensors on same interrupt pin? (both interrupts are occupied by the no-nc door sensor, thus leaving no interrupt for motion sensor) or is there some fancy trick that would allow both of them to be "interruptable"?
-
As mentioned on the nModule thread, I finally managed to get it to work.
And as usual, I have a few questions @Nca78 :)From your photos of the module, you have a door sensor separate from the light/temperature, is that only "strategical" choice, or is it some technical limitation?
Meaning, would it be possible to have all of them on one sensor, as TempHumLighDoor sensor?And I might be pushing it now, but... would it be possible to add a motion sensor on top of that? Can you connect two sensors on same interrupt pin? (both interrupts are occupied by the no-nc door sensor, thus leaving no interrupt for motion sensor) or is there some fancy trick that would allow both of them to be "interruptable"?
@dakipro said in 💬 NModule Temperature, Humidity, Light, Door sensor shield:
From your photos of the module, you have a door sensor separate from the light/temperature, is that only "strategical" choice, or is it some technical limitation?
Meaning, would it be possible to have all of them on one sensor, as TempHumLighDoor sensor?It's a choice, you can use them both at the same time. But for me it's not convenient as the doors are not the place where I want to put the temp/hum sensors.
So yes you can have a TempHumLightDoor sensor.And I might be pushing it now, but... would it be possible to add a motion sensor on top of that? Can you connect two sensors on same interrupt pin? (both interrupts are occupied by the no-nc door sensor, thus leaving no interrupt for motion sensor) or is there some fancy trick that would allow both of them to be "interruptable"?
If you go this way the more simple is to use only interrupt 3 with a high value resistor and a normally opened reed. It will leave you with interrupt 2. Power consumption is not going to be as low as with no/nc reed, but if you're including a PIR your battery life on a CR2032 will drop severely so it won't matter much to have 2-3 uA more for the door sensor.
The other solution is to use pin change interrupts, it's not very difficult in itself, but you have to rewrite a sleep function that manages them as the sleep function in MySensors will not.
-
And no mixing interrupt from any other sensor with the no/nc reed switch will not work
-
I see. How about using CR123 battery for such a "all-in-one" sensor, I see it has 5-6 times capacity of CR2032.
Would it be able to drive such sensor for a year perhaps (i know it is impossible to say, but just speculating)?
Or two AAAs?@dakipro I would go for the CR123 you will last over one year with it with 1MOhm resistor for the reed switch and a AM312 PIR.
AAA will have less available capacity because the AM312 will fail a bit below 2.7V so a big share of their capacity will be wasted, while CR123 will have around 10% of capacity left. -
Hey, do you have any experience with rechargable CR123, regarding the "capacity/voltage loss curve" or what the name is?
Meaning if rechargeable cr123 would hold enough voltage over time, as the lithium(?) ones doe?
I found these for a nice price, I have positive experience with Ultrafire http://www.dx.com/p/ultrafire-3-6v-880mah-lc-16340-protected-cr123a-battery-2-pack-3273 -
Hey, do you have any experience with rechargable CR123, regarding the "capacity/voltage loss curve" or what the name is?
Meaning if rechargeable cr123 would hold enough voltage over time, as the lithium(?) ones doe?
I found these for a nice price, I have positive experience with Ultrafire http://www.dx.com/p/ultrafire-3-6v-880mah-lc-16340-protected-cr123a-battery-2-pack-3273@dakipro these are li-ion batteries.
For Ultrafire I think like many brand they are old batteries from packs, with new end plates to mask the traces of the removed soldered connectors from their previous life. And of course a beautiful wrapping to make them look new. But you have 0 assurance that 2 batteries you buy at the same time are in fact identical, and all claims made on packaging like "protection" could be bullshit.
You can check here for an example of UltraFire 16340 with 1000mAh claim that fail to reach 600 even at low load.
Note the introduction test "A 16340 from a cheap and often low quality brand"
http://lygte-info.dk/review/batteries2012/UltraFire 16340 1000mAh (Blue) UK.html
and see the conclusion here :
"Ultrafire is usual not a good brand. These cells have the rated capacity, but are not good at delivering current and the protection is doubtful."
http://lygte-info.dk/review/batteries2012/UltraFire 14500 750mAh (Black-red) UK.htmlUse at your own risks...
-
Hey, do you have any experience with rechargable CR123, regarding the "capacity/voltage loss curve" or what the name is?
Meaning if rechargeable cr123 would hold enough voltage over time, as the lithium(?) ones doe?
I found these for a nice price, I have positive experience with Ultrafire http://www.dx.com/p/ultrafire-3-6v-880mah-lc-16340-protected-cr123a-battery-2-pack-3273@dakipro to complete the "use at your own risks" I found the disassembly page of some Ultrafire batteries from the same guy.
Not looking good...http://lygte-info.dk/info/batteryDisassemblyUltraFire UK.html
-
Ok, that certainly throws a new light on the matter :(
Thanks for the info, I will throw all ultrafire I have at home (before I get what their name suggests) and buy some from a trusted brand.
Cheers!@dakipro said in 💬 NModule Temperature, Humidity, Light, Door sensor shield:
Ok, that certainly throws a new light on the matter :(
Thanks for the info, I will throw all ultrafire I have at home (before I get what their name suggests) and buy some from a trusted brand.
Cheers!It should be fine with a good charger and if you avoid discharging them too low.
You can check the lygte website for other battery brands the guy tested a lot of them. Soshine brands seems ok. -
I just managed to fry the only working module I've build so far (life got some other plans for my spare time).
I just took it in a hand to show it to a friend, and logs show no activity since. The battery was 99%, and now it is 1V. I tried powering it from the power supply, but the voltage drops from 3V to 0.1V, indicating that something is shorting it out. Resistance between gnd and vcc is not 0, so it is not direct connection between them, but I guess static did its thing and some component died, leaving entire module non-functioning :(
So... when you build one, make sure you put it in the case and do not touch it with bare hands
(I remember holding it on the edges to avoid touching the circuits, but I still managed to fry it) -
Wow that's bad news and very strange, I manipulated a bunch of NModule boards without special precaution and never fried any.
It would be nice to investigate about what went wrong, maybe I can improve the design in some way.Did you cut the "power" part of the board ? Could be two cut traces too close to each others, or something similar.
You can contact me by private message if you want to discuss it. -
Speaking generally, the radio module tends to be the most likely component to fail.. Try replacing that and see if it works again. Or, more conservatively, just unsolder the radio module and then see if you can talk to the mpu again.