-
First proto (the revenge)
12/06/2020 at 14:50 • 2 commentsTime to actually build it !
For a first board, I put 100Ω in series with each LED and 39K for the pulldowns.
LED GPIO color Switch GPIO 22 Orange 2 23 Red 3 24 Green 4 25 Blue 5 26 White 6 The PCB is too small to make the typical cross but the 5 switches fit anyway.
Now, let's code !
for o in 22 23 24 25 26 do echo $o > /sys/class/gpio/export 2>&1 > /dev/null echo out > /sys/class/gpio/gpio$o/direction done while true do for o in 22 23 24 25 26 do echo -n " "$o echo 1 > /sys/class/gpio/gpio$o/value sleep .3 done for o in 22 23 24 25 26 do echo -n " "$o echo 0 > /sys/class/gpio/gpio$o/value sleep .3 done done
The green LED is quite dim, as noted in a comment of the project's main page.
...
Aaaand... the buttons don't work ! I totally forgot about the internal pull-ups...
In particular, GPIO2 & 3 are wired for I²C and have a 1K8 pull-up, the 39K pull-down lowers the voltage to 3.15V. Others are measured at 1.6V, meaning that about 30K of pull-up is already present. Damnit !
So there is no need of pull-downs and the common rail can be tied to GND instead of Vcc.
for o in 2 3 4 5 6 22 23 24 25 26 ; do echo $o > /sys/class/gpio/export sleep 0.1 done sleep 1 for o in 2 3 4 5 6 ; do echo in > /sys/class/gpio/gpio$o/direction sleep 0.1 done for o in 22 23 24 25 26; do echo out > /sys/class/gpio/gpio$o/direction sleep 0.1 done echo "loop:" while true do for o in 2 3 4 5 6 do if [ "$(cat /sys/class/gpio/gpio$o/value)" = "0" ] then echo 1 > /sys/class/gpio/gpio2$o/value else echo 0 > /sys/class/gpio/gpio2$o/value fi sleep .01 done done
Now the buttons return 0 when pressed...
The init code has taken quite a while to finally work, some setup time seems to be required...
.
-
First prototype
04/03/2017 at 20:31 • 0 commentsI received the buttons today !
They are pretty cute and I'll simply re-hash the circuits I made one month ago, shown at Raspberry Pi educational boards
The only critical parameter is the value of the resistors, that I have to tune for low power (because the Pi's pins can't supply much current) and light emission matching.
Update: OK I received a larger batch so I can consider the fabrication of a small series of boards :-)