Skip to main content

fun with the nrf24l01+

What I am trying to do nowadays is to get the "open sesame" system to work wireless.

The servo that opens the door is currently connected directly to the Raspberry Pi, which limits the use of the Raspberry Pi for just this purpose, and I was starting to want to have it around for more things.

The NRF24l01+ is a neat, cheap little device I found in the internet that gives devices a means to communicate with each other wireless through a 2.4 GHz network.

I've been looking at this site for a good sample to follow and build upon.

Currently, I have not been able to build the Raspberry Pi source given from that site on my own, but someone in the comments managed to upload a working, built binary for it, which I have been using so far for testing. I'll eventually have to be able to build it on my own, as I'll probably have to change the code for my purposes.

I've been playing around with it, and I've been able to make lights blink. However, everything seems to malfunction when I try to wire the servo. I haven't actually wired the servo used for the testing on its own, so I have to first rule out that it's a servo/power issue that's causing it.

For now, blinking lights:


Comments

Popular posts from this blog

finally got around to it (nrf24l0+ and servo)

On a previous post , I used the nrf24l01+ wireless chip to communicate between the Raspberry Pi and an Arduino, but only got lights to turn on. I remember being confused as to why servos would not work, and somewhat left it there. I started messing around with it again, and I am concluding that it might have been just a power issue. Here is the servo moving properly: The Arduino is on the ground due to the short length of the wires powering them. Just as a recap, what is happening is: - a C++ program using the RF24 library is compiled in the Raspberry Pi (connected to an nrf24l01+ chip) to broadcast a message. When executed, it will broadcast the message. - the Arduino (connected to another nrf24l01+ chip) programmed to receive messages receives the message, and upon receipt sends a signal to an Arduino that is wired to the servo to move the servo. Two separate Arduinos are used, as it seems that the servo library and the RF24 library do not seem to run properly toget

alcohol sensor (and some patience)

Soldered the alcohol sensor into something that is connectable: I tried to connect this to the Arduino, as I had the appropriate circuitry, but I did not get any legitimate output from it. 5V going in, 5V coming out with no variations. Nothing seems to be awry in wiring, as the circuit seems to be grounded properly (and the 5V current is flowing).  There are a couple of potential factors as to why I'm not seeing any results: - I'm using a 10k ohm resistor, while some guides (and the datasheet for the sensor) asks for 100-200k. However, there seems to be a good amount of people using 10k and getting at least some kind of result. A batch of 100k ohm resistors I ordered is on its way, so I guess I can try with them when they come. - This site  claims that these sensors take 24-48 hours for its signals to be stable. It also tells me that I should not be powering the sensor directly from the Arduino, which I have been doing, out of concern that the power draw of t

adding a servo

Since I don't have any lock that works based on a digital signal, it seemed appropriate to at least have something in place that would emulate the behavior of such a lock, and I thought that a servo would be a good substitute. (note: a servo is a device with which one can control a specific rotational position) Connecting a servo to the current circuit isn't too much of a challenge, as it just requires a single output connection along with the ground/power. Making the servo also just requires an addition of a few lines of code, using the Servo library . A simple video of the servo in action: Now, at least with a locking behavior in place, the one visible functionality that needs to be addressed is the device's ability to distinguish between a "standby" state (no alcohol/no breathing in: should be in "lock" mode) and a "open" state (no alcohol/breathing in: should be in "open" mode).