background preloader

Getting Started with nRF24L01+ on Arduino

Getting Started with nRF24L01+ on Arduino
Nordic’s nRF24L01+ 2.4GHz RF radios are a great way to communicate wirelessly between Arduino’s. They’re cheap, and powerful. Unfortunately, they can be a little daunting to beginners to get started. Today, I want to make it easy for total beginners to get up and running on nRF24L01+ radios quickly and easily. Stuff we need First, we have to go shopping. Reasonable substitutes for this stuff can also be found at Sparkfun if you like spending a lot more money. Preparation We only need one of the 2×4 pin female headers. Here’s what it looks like all ready to go. Solder it up The 8-pin male header goes in position C09-16.The 6-pin male header goes in position V13-18.The 2×4-pin male header goes in position K16-N15.The wires are connected as follows: Here’s what it looks like with all the wires in place, up close and personal. Software Get the RF24 library from github. From the File menu, select “Examples”, then “RF24″, and finally “GettingStarted”. Make another one From here… Related:  home automationRFgoodreds

RF24Network: Network Layer for RF24 Radios This class implements an OSI Network Layer using nRF24L01(+) radios driven by the RF24 library. Purpose/Goal Create an alternative to ZigBee radios for Arduino communication. Xbees are excellent little radios, backed up by a mature and robust standard protocol stack. For many Arduino uses, they seem like overkill. Please see the Comparison to ZigBee page for a comparison against the ZigBee protocols Features The layer provides: Host Addressing. The layer does not (yet) provide: Fragmentation/reassembly. How to learn more Topology for Mesh Networks using nRF24L01(+) This network layer takes advantage of the fundamental capability of the nRF24L01(+) radio to listen actively to up to 6 other radios at once. Octal Addressing Each node must be assigned an 15-bit address by the administrator. Node 00 is the base node. How routing is handled When sending a message using RF24Network::write(), you fill in the header with the logical node address. Starting up a node Directionality

Setup Nordic nRF24L01 RF modules to both Arduino UNO and Raspberry Pi In my process of building a Wireless Sensor Network, I obtained a few low cost RF module from Inhaos that are compatible with Nordic Semiconductor nRF24L01. My plans are to have these low cost RF modules replaces the wires for my sensor network on Arduino and connect them to Raspberry Pi as the IP gateway to the rest of the Internet. This entry will show you on how to setup both Arduino UNO & Raspberry Pi to connect to these nRF24L01 modules. Some basic information on these low cost RF modules, they communicate using SPI to the microcontroller and works on raw speed of 250Kbps, 1Mbps and 2Mbps. I'm using the following hardware & software:- RF modules used here :- Too many to choose from, just google for the above keyword on eBay or choose the cheapest as they sells in bulk of 10 pieces for a very low cost... *** The main differences between the regular nRF24L01+ modules and the Inhaos RF2400P modules are that the RF2400P have a higher output power of 5dBm but could not do 250Kbps speed. or

leeclarke/TheGardenDroid [Arduino] DIY (stupid and cheap) Plants Irrigator | Hack | Lenotta It’s a burning summer in Florence and I needed a solution to watering my little plants I have around the house. Of course I had a look at some shops for a ready solution, but where is the joy of experimenting with an arduino? First thing to do in this case is to know what you want, and where your project could drive you. So here we are with our project/tutorial: a time programmed irrigator which will water my plants for 1 minute, once a day, on alternate days. The whole thing costs around 25$ (we’ve bought almost everything from china). - an Arduino (we used a Nano 328)- an RTC (Real Time Clock)- Water Control NC Solenoid Valve- a relay board I wanted to make arduino water my plants on alternate days, so we had to add a little function ‘dayOfYear’ which will tell us (guess what?) Maybe there was a better solution, or it was already implemented, but this way was faster for our purpose. We’ve used the RTClib (with the little edit I mentioned about ‘dayOfYear’) to control and read the RTC.

Wireless Arduino-compatible miniatures The IoT platform GroveStreams is a new IoT platform in the cloud designed to interact with users and remote M2M networks. Some developers let us know their interest in integrating with GoroveStreams since it seems to be providing some nice capabilities such as: On-line graphs and data logsEvent handling and calendarsSMS alertsGUI widgets that can be inserted into custom web pagesRESTful API Lagarto-MAX is very adaptable to this kind of online services so we accepted the challenge to add compatibility for GroveStreams. GroveStreams introduces a new concept called "component template", which lets us format data streams in a common way. Integration with lagarto GroveStreams is device oriented so we can transmit multiple datastreams (endpoint values) associated to a common device or component into a single HTTP request.However, lagarto-max's Event Manager is mostly endpoint oriented so we will be taking each endpoint value as an independent component from GroveStreams.

Plantduino Greenhouse | Revolt Lab Introduction: This project is in the instructables microcontroller contest. If you enjoy it, please vote here! Disclaimer: This project uses high voltages! This is the new schematic for DC relay control: The battery is over 12 volts. My name is Clover and I am in love with vascular plants and robots. This summer I wanted to combine my two loves of plant science and engineering. I have constructed an automated watering and temperature system. I want to document this project on Revolt Lab so that anyone who is also in love with vascular (or nonvascular) plants can join me and we can nerd out together! Step 1: Plant Science One facet of this project is to grow my own vegetables and do some scientific experiments. Greenhouses There are a lot of reasons that I am building a greenhouse. Greenhouses can be made of glass or plastic. The stem of the plant grows from what is called the coteledon in the seed. Gardening: Plant Nutrients Iron Deficiency Step 2: Build a Garden and Plant Seeds Like this:

Home automation in Node.js with Raspberry PI and Arduino Some examples using the Arduino plugin. Example controlling plug-in receiver using a FS1000A 5V 433Mhz TX/RX Module. Arduino Schematics created with Fritzing: Settings for an m-e plug-in receiver with a 4 - 1 setting: The codes can be found here: Example reading sensor value from an LM 335 temperature sensor. Settings for the LM 335 temperature sensor: Example reading an A 995011 photoresistor Settings for the A 995011 photoresistor: Example controlling TVs and peripherals using an infrared LED Settings for an LG Plasma TV: Example lighting an LED light Settings for a LED on port 4:

More 433Mhz RF Hacking | Tickett's Blog I touched on the smoke detectors and door/window sensors I ordered last week: – here are a few more details. The smoke detectors were £5.75 each – (all now sold out, but more available on a separate listing from the same seller – The door/window sensors were £2.50 each – (shop link if/when the listing ends – The RF signals broadcast by both devices are not decoded by the RFXCom receiver/transceiver RFXtrx433. I already had a few jeenodes ( knocking about and a 433Mhz plug ( – there are many alternatives available. I didn’t even have the right components so I improvised: So I disabled all of the decoders and enabled just the raw signal capture: Next steps: Like this: Like Loading...

The Garden Droid 1.0 Well after many months in the lab toiling away with a soldering iron and C compiler I have finally gotten the first version of my Arduino project done! OK really It just took months to get the time to finish the project but that doesn't sound as impressive really.. This is my first Arduino project and first really large electronics project so mistakes were made but overall I'm really happy that it all works! I really started the project way back in February of last year and a little over a week ago I planted the GardenDroids first crop, Spinach. So what is a mini-greenhouse? This is my mini-greenhouse which I am calling The Garden Droid (you know like garden gnome?) What you see above is my Garden Droid which boasts a whopping 3 sq. ft. of well lit gardening space, soil moisture monitoring, temperature logging, LED grow lights and wireless transmission of data to my computer. Has I mentioned the website where I can monitor everything going on?

Interface Board Kit | Quick2Wire The Quick2Wire® Interface Board Kit gives you safe and easy access to all the features on your Raspberry Pi’s expansion header. The Board and its components are supplied in kit form. You will also need a Raspberry PiTM computer with an SD card, power supply, keyboard, display and cables. The board provides easy access to 8 General Purpose I/O (GPIO) pinsan Inter-Integrated Circuit (I2C) interfacetwo Serial-Peripheral Interface (SPI) channelsserial communications3.3 volt and 5 volt supplies, and ground The board connects to the Pi with a 26-way ribbon cable, included in the kit. GPIO We protect the eight GPIO pins from mistaken connections with series resistors and diodes. I2C The Pi’s expansion header brings out the SDA and SCL lines that make up an I2C interface. SPI The Pi’s expansion header gives access to two SPI channels, each of which normally gives access to a single SPI device. The Pi’s expansion header allows you to connect to the Pi’s serial port. Documents

Reverse Engineering LightwaveRF - about:benjie I’ve been stumped for a little while trying to decode LightwaveRF data using a cheap 433.92MHz receiver and a Arduino Nano. Today I’ve finally cracked it! Thanks to Geek Grandad’s LightwaveRF GitHub repo I finally figured out the missing link - my zeros were not zeros, but instead 10s! Sure, this doesn’t make sense yet, but let me explain. The setup To capture the radio data, I used a cheap 433.92MHz receiver hooked up to an Arduino Nano. For example, if it was low for 250us (microseconds) then high for 350us then low for 250us, the sketch would output the equivalent of “250, 350, 250”. In the image above the regular bits is the sensible data (4 different button presses, each automatically repeated to help with collisions) and the areas in-between are just noise. Limitations Due to not wanting to overflow the ringbuffer in the Arduino sketch I only allowed each capture to go up to 5,000 records (which worked out to be pretty variable, but generally a couple of seconds). Capture Analysis