For my work with Alexa skills I needed a simple (don't add more complexity) feedback device; visual and audible.
Also, my CPU is in my "wiring closet" and I needed the output to be in a prominent location, but otherwise unobtrusive.
Simple on/off commands on the RPI3B+ initiate the lights and sounds with a barely perceptible transmission delay.
Step 1: Pinouts
These images are from the seller's Amazon page (link above). Just a convenience copy for reference.
Note: the original image is labeled incorrectly; I add updates (in green).
(this is verified in the comments section of the Amazon page)
Step 2: Prototype
Using each half of the breadboard to separate the transmitter and receiver. Powered by 3.7v (charged to 4.25v) batteries.
Since this is just an implementation of the pin-outs, I didn't create a schematic diagram.
I included an LED in series with a 3.3K resistor for testing.
To test, simply connect the control pin (here the white wire) to ground. The activation LEDs (red) light up on both the transmitter and the receiver, and my 'load' LED turns off. (pictured)
Step 3: Interlude
Sometimes the transmitter and receiver are not paired correctly, or you may wish to change the default behavior.
I am including here the vendor's instructions for these devices:
- GND : ground or negative pole
- +V : DC3.3~5V input
- D0-3: Data output
- VT: Output (this line goes low if/when any data line goes low)
How to match the transmitter and receiver
- Delete existing data: Press learning button(on the receiver) 8 times.
Response: LED flashes 7 times.
- Learning remote code: press learning button(on the receiver) once, twice or three times (see below).
LED turns on: learning mode is active.
- Press any button of the remote control.
LED indicator flashes three times: learning successfully completed.
- Test: after the above operation , the receiver board can be controlled by the remote control.
More transmitters with different IDs can be learned and stored additionally, starting with step 2. A mixture of different modes is possible.
Button usage (sets mode and starts pairing process):
- Press once: Inching mode (Momentary Mode)
- Press twice: self-Lock Mode (Toggle-Mode of the 4 Channels)
- Press three times: interlocked mode (selected channel active and be cleared, if another channel becomes active) - aka radio buttons
Step 4: Installation
After soldering the pieces as they'd been connected on the breadboard, and covering in heat-shrink to avoid short circuits, I installed the transmitter on the RPi3B+.
(note: I included extra wires for outputs I don't yet use)
I used 3v power since that is the Raspberry's native voltage.
(note: I used non-standard wire colors because it was convenient to use the existing ribbon cable)
wrclr: wire color
pi-pin: pin on the RPi3B+
trnspin: pin on the transmitter
wrclr pi-pin trnspin
-------- ----------- -------------- gray 01 power V+ purple 06 ground GND brown 11 BCM17 Data 1 red 13 BCM27 Data 0
The remote/receiver is powered with an old micro-USB transformer. I used a USB socket so I could use any power bank should I want it cordless someday.
Step 5: Code
The simplest code for validation:
import RPi.GPIO as GPIO
import time GPIO.setmode(GPIO.BCM) GPIO.setwarnings(False) GPIO.setup(27,GPIO.OUT) print "LED on" GPIO.output(27,GPIO.HIGH) time.sleep(1) print "LED off" GPIO.output(27,GPIO.LOW)
to execute: python pintst.py