Learn how to wire a push button and read it’s current state in Node-Red
What You Will Learn:
- Basic Circuit Prototyping
- Basic Node-Red Programming
What You Need to Know:
- 1 Push Button
- Some Male-Female Jumper Wires
- Multi Meter
- Needle Nose Pliers
What is a Push Button?
A push button is a momentarily activated button. When the button mechanism is fully depressed an internal electrical connection is made and this newly made connection can be read as the activation of the button.
What is a Breadboard?
A breadboard is a prototyping platform that allows the easy creation of circuits without having to solder. Each row of the breadboard is connected internally (not across the middle break). This mean that putting something into position 1a and 1b connects them electrically together while something plugged into position 1a and 2a are electrically isolated.
The power rails on the left and right hand side of the breadboard are connected in a column and can be an easy way to access ground of power if you choose to route it there. The color red and by extension the red column is often used for power while blue is often associated with ground and thus used for a ground connection.
Setting up the Hardware
Take care when wiring the button to the GPIO, you want to connect the correct pins. In it’s 4 pin package only some pins are isolated in the inactivated state. A pair of pins that come out of the same side of the button are isolated as well as diagonal partners. A multi meter on the diode setting can also be used to test if there is a connection between pins in an activate/inactivated state. Once you have identified the correct pair of pins attach one to 5V and the other to GPIO25.
Additionally it can be difficult to get the short legs of the push button to correctly make contact with the breadboard, I find that using needle nose pliers to straighten the legs of the push button and then inserting them 2 at a time to be a successful method.
Setting up Node-Red
Start Node-Red and navigate to 127.0.0.1:1880. Drag a Raspberry Pi input node and a Debug node into the flow area.
Double click on the Raspberry Pi input node to open its configuration menu. Set the Pin to GPIO25. Set Resistor? to pulldown. You can Name the node anything, I chose “button”.
The debug node can be left with it’s default settings, wire the button node to the debug node and deploy the flow.
If everything has been put together correctly you should see the number under the button node in the Node-Red flow change from a 0 to a 1 when the button is activated and from 1 to 0 when the button is deactivated. You should also be able to see a record of the button activation in the debug tab of Node-Red.