Note:
At this point in the project I will try and explain as best as I can how I see these components working and how they should integrate with the main system. Unfortunately I do not have time to continue developing them along with the Challenge but if nobody is against it I will continue updating these post as I progress with development so I can come to a conclusion on all the parts.
Previous posts:
Pi IoT - Simone - Introduction
Pi IoT - Simone - #1 - Light Controller
Pi IoT - Simone - #2 - Main System
Pi IoT - Simone - #3 - Door / Window notifier
Pi IoT - Simone - #4 - Power consumption statistics and control
This module is actually made of two parts but they both are based on weighting things, and they both can be implemented for more than laundry.
1. Notification when you have enough dirty clothes to make a washing cycle
Most washing machines have a limit of how many clothes they can wash on one cycle based on weight. The first part is a scale that tells you when you reached that weight. For this I first imagined making three drawers ( one for whites, one for blacks and one for colors ) and the system could notify me when one of the drawers is close the the washing machine's limit.
2. Notification for how many washing cycles you can do with your available detergent.
As mentioned before, this is also based on weighting things, in this case the bag of detergent. Even if there are small fluctuations the quantity of detergent you use for a wash is almost the same. The system can take into consideration as the quantity needed for one wash the quantity that is missing between two different measurements, and make an average. This way it can tell you how many washing cycles you can make at any time and you can consult this when you are shopping and you don't know if you need to buy detergent or not.
One thing to take into consideration is to make a logic that resolves problems based on unusual handling. For example you can take the box from the scale when you use it and the system would add into the statistic that you used 5 kilos of detergent; so it has to disregard this reading by not taking 0 into consideration. Another possibility is to use some detergent for something else or borrow some to another person. In this case there will be an abnormal usage and the system should persist this quantity and take it into consideration only if it repeats a couple of times.
The third thing to take into consideration on implementation would be the adding of new detergent, the system should reset the quantity it takes into consideration but again, you could press on the scale with your hand while you fill the detergent box at the same time as the system is calculating the weight, so this issue should be handled. For this I think it would be safe to take into consideration only the values that persist for half an hour.
The whole calculation for this system would take place on the raspberry pi and a weight sensor could be attached to it using the same I2C protocol as described in the posts before this one. The sensor should only send the weight to the main server and then all the calculation would take place there.
This system can be used for any other thing that you use in a consistent manner. For example the coffee, I for one am using roughly the same amount of coffee every morning. Since the actual weights are not needed since the calculation is based on the statistics of the usual consumption, you can use it on anything.