47

Bring up several rolls at a time and hang one for use. Put the other two on a short vertical pole within reach of the sitter. Sitter can take another roll when needed. Mechanically sense lack of weight on the shelf at the bottom of the pole. Alarm triggers when the last roll is removed. No one has to get caught short. To sense the weight use a force ...


22

I believe the reed sensor concept put forth by jfpoilpret and jmathew is the easiest to accomplish. I have drawn a diagram of how I think it would look. You could adjust sensitivity by adjusting the height of the lower contact. This really only gets you to a "low" condition and not necessarily out. Unless you want to change rolls while there are still a ...


15

There are a number of techniques you could use here to get a unique ID. FTDI chips have a unique serial number programmed onto them. This can only be accessed from the PC side of the connection as far as I am aware. Some of the chips with built in USB (e.g. ATmega8U2/16U2/32U2) have a unique ID in the signature data, normally used for USB. Can easily be ...


14

I think I saw this in series 1 episode 2 of James May's Manlab. Similar to jfpoilpret, use a wide piece of material on a spring that makes contact with the roll at all times. I say 'wide' so that when the roll is empty the reed touches with a contact on one of the roll holders on the side. When it touches it completes a circuit to your alarm. Here's a ...


13

The chip doesn't have any sort of unique ID as far as I know.... but you could program one into the EEPROM of your boards. EEPROM documetnation You would write to a specific address and then future sketches can read the ID and do whatever with it. You may also be able to see a unqiue ID or address on the host side. I don't know enough about USB devices to ...


12

It could be possible, since it is going simply to call the same function BUT it is really a very bad design*. Usually the main purpose for a microcontroller is just sitting there and run a procedure or main function repeatedly until the end of the world. And during one loop just to check if some conditions are met. You should never stop or influence your ...


10

Using a Force Sensor to Measure a Quantity of Water To satisfy your requirement of having the sensor on the exterior of the water container, I would recommend using a force sensor to weigh the bottle at set intervals. A force sensor, such as the FlexiForce A401, is a type of resistor that changes resistance in response to the amount of force applied. While ...


10

The -AU and -PU suffixes on the part name indicate different packages. The former is used for the "32A" package (32-lead TQFP), and the latter is used for the "28P3" package (28-lead DIP). In plain English, the -AU is a surface-mount part, and the -PU is a breadboard-friendly chip. As far as functionality, there is virtually no difference. The 32A package ...


9

Use a radiation detector to detect the amount of paper left on the roll. Place some amount of radioactive material in the middle of the spool rod, and place the radiation detector somewhere else (you could mount it on the other side of the surface the roll holder is mounted to, if you want; radiation sensors are extremely flexible), and measure the radiation ...


9

For long distance wired communication, look at RS-485. Since it uses a differential balanced line over twisted pair (like RS-422), it can span relatively large distances (up to 4,000 feet (1,200 m)). A rule of thumb is that the speed in bit/s multiplied by the length in meters should not exceed 108. Thus a 50 meter cable should not signal faster ...


9

Things to consider when picking an Arduino board: Do I want native keyboard/mouse support? If yes: you'll need the Leonardo (or it's breadboard mountable equivalent) or the TRE (not released, dual MCU board). Do I want a small form factor and/or have it breadboard mountable? If yes, choose a board like the Mini/Micro/Nano/etc. If you want to make it even ...


8

Some boards, when connected to a computer, publish their serial number. My Arduino Uno R3 says [16818.451423] usb 3-2: SerialNumber: 85235353137351E02242 Though I'm not sure how unique it is.


7

There are two categories i can think of to classify comminucation features of the Arduino boards: Between 2 devices: Serial: Easy to use and only requires 2 data lines. OneWire: Harder to use and slow, but uses only one data line Between more than 2 devices I2C: You can have up to 128 devices on a network, individually addressable, but requires a master ...


7

I think 'Arluin' and 'jmathew' have the right idea. Use a lever resting on the top of the roll. I would do it slightly different however. Rather than rely on contacts shutting you can use a potentiometer. With this system you can measure the amount left instead of simply being notified when it gets low. With a contact such as those suggested already, you ...


7

Okay, here is how it works, and I checked it to make sure. Sure you can use hard paths, but every programmer hates using hard paths. They are not portable at all, and they lock your program in place. You use soft or hard links to the files in the project (look up the man pages on "ln"). But,... talk about ugly! So the question is how to do it "correctly"? ...


7

The Nano boards that I have used all have pins on 0.1" (2.54mm) spacing. There are single-row female connectors that are designed to accept 0.025" square pins. One example is Samtec 32 position female header but there are many others. Note that these female headers are available to accept either 0.018" round or 0.025" square pins. My great preference is ...


6

The internal RAM of the Arduino will be reset when you repower the chip, so if you want to keep your data, you need to store it in EEPROM. If you are worried about the limited write/erase cycles, you should estimate how often the data would be updated (i.e. written to EEPROM) and how long you plan the lifetime of the device you build. If 100,000 cycles ...


5

Another option is to measure the current going into the pump; when it runs dry, the current goes up, which generates the heat that fries the pump. Or measure the temperature on the pump, but measuring the current will detect the beginning of the pump's meltdown, while the temperature may only detect the middle or end of the meltdown. :-( Or install a ...


5

Freakduino makes some Arduino boards with built in wireless. Their long range wireless is 900 MHz and their shorter range is 2.4GHz. I think they are actually XBee radios and for programming you would use a library called chibiArduino, which is available (and documented) on the Freakduino website. When communicating wirelessly with another radio you can use ...


5

You could just crack open one of those playing birthday cards and adapt the switch to the holder arm. Once you hear 'Happy Birthday" chiming from the toilet you know you're in trouble! (and because they are very low-power these things chime on forever ;-) ) I've shown a LED setup here but you get the idea...


5

The nRF24L01+ has a somewhat complex SPI based interface, where many registers have to be configured and tested and timeouts honored. Therefore it requires some kind of microcontroller to send or receive even the simplest message. This can be as simple as a 3.3v Arduino Pro Mini (less than $3 with shipping), and there are libraries which simplify the task ...


5

There is no difference as far as Arduino is concerned. I think the AU has a couple extra pins (analog ins), that you might want to route to header locations in a surface mount design, but if your design is based on an Uno, them you can also just leave those pins disconnected with no impact.


4

To the best of my knowledge the USB chips all come with a unique serial number, at least for the FTDI chips. On Linux you can easily assign unique device names from that, check my website. Other than that, what you are describing is pretty much a simple form of version control. Make sure your source files have version numbers. To identify your Arduino, you ...


4

I think you want a "liquid level switch", possibly also known as a "fluid switch" ... I realize this may not satisfy your requirements, but this is one way to solve the problem for >$10. I would probably hack something together that would put this sensor inline to the bottle. it's probably too hacky, but you could have a disc of plywood the same diameter as ...


4

Whenever light follows a path that takes it from one material to the next, it makes a sharp turn. However, the angle of deviation is different based on the characteristics of the materials. You can use this principle. Set a LED on the level that you want to be your lowest. When the water is full, its light will follow a certain path across the container ...


4

There are two constraints here, and I think it might back you into a corner. Size and then power. 2Kbyte/s is 2*60*60*24/1024 = 168.75Mbyte/day. This is a lot. The only readily available technology that can be used with a small microprocessor that can store this volume of data is an SD card. There are no serial EEPROM or flash chips this large, and the ...


4

Ah, now I see. Your confusion in this case is perfectly understandable. They threw a couple of capacitors into the circuit without explaining why they were added in the first place. In order to understand why capacitors were added you need to go a little deeper into electronics theory, specifically capacitance and inductance, what they are and how they work. ...


4

Let's assume you have an Arduino that you have arranged to sample a signal with a sample rate of 1/T that is then processed by your controller. Let's also assume that the processing time for your controller is small compared to T e.g. 0.1/T Firstly, you need to convert the controller transfer function to discrete time. There are lots of ways to do this. ...


4

In addition to the other answers, I have a few ideas: 1.) Instead of doing variable prefixes, have them wrap all of their code inside a namespace! Please note that you can't wrap "setup" or "loop" in that namespace. Example setup() { if(conditionIsTrue) { aGroup::setup(); } else { bGroup::setup(); } } loop() { if(conditionIsTrue) { ...


4

The good news is that SATA drivers are fairly generic so you don't have to write the OS side. The bad news is everything else. just a SATA wire coming from a mother board plugged into a socket on a breadboard Let me stop you there. The minimum data rate for SATA is sufficiently high that you need a PCB. If you try and do this with wires or breadboards it ...


Only top voted, non community-wiki answers of a minimum length are eligible