01/07/2021, 10:16
Buongiorno.
Ho un RPI4 rev B con raspian appena scaricata.
Ho problemi leggendo i GPIO.
I pullup non vanno, leggo sempre basso, allora li ho messi tutti puldown, ma qualcuno lo leggo alto.
Nello specifico i 7 8 9 10 11 15, li leggo sempre alti.
Allego il codice.
Ho un RPI4 rev B con raspian appena scaricata.
Ho problemi leggendo i GPIO.
I pullup non vanno, leggo sempre basso, allora li ho messi tutti puldown, ma qualcuno lo leggo alto.
Nello specifico i 7 8 9 10 11 15, li leggo sempre alti.
Allego il codice.
Codice:
#!/bin/bash
# Video da GPIO
cd /home/pi
ff=1
gpio mode 0 in
gpio mode 0 down
gpio mode 1 in
gpio mode 1 down
gpio mode 2 in
gpio mode 2 down
gpio mode 3 in
gpio mode 3 down
gpio mode 4 in
gpio mode 4 down
gpio mode 5 in
gpio mode 5 down
gpio mode 6 in
gpio mode 6 down
gpio mode 7 in
gpio mode 7 down
gpio mode 8 in
gpio mode 8 down
gpio mode 9 in
gpio mode 9 down
gpio mode 10 in
gpio mode 10 down
gpio mode 11 in
gpio mode 11 down
gpio mode 12 in
gpio mode 12 down
gpio mode 13 in
gpio mode 13 down
gpio mode 14 in
gpio mode 14 down
gpio mode 15 in
gpio mode 15 down
while :
do
ING0=$(gpio read 0)
ING1=$(gpio read 1)
ING2=$(gpio read 2)
ING3=$(gpio read 3)
ING4=$(gpio read 4)
ING5=$(gpio read 5)
ING6=$(gpio read 6)
ING7=$(gpio read 7)
ING8=$(gpio read 8)
ING9=$(gpio read 9)
ING10=$(gpio read 10)
ING11=$(gpio read 11)
ING12=$(gpio read 12)
ING13=$(gpio read 13)
ING14=$(gpio read 14)
ING15=$(gpio read 15)
ING=$(( 0 + ING0 + ING1 + ING2 + ING3 + ING4 + ING5 + ING6 + ING7 + ING8 + ING9 + ING10 + ING11 + ING12 + ING13 + ING14 + ING15 ))
sleep 0.1
if [ "$ff" = "1" ]; then
echo "TOT" $ING
if [ $ING != "0" ]; then
if [ $ING0 = "1" ]; then
echo "ING0"
fi
if [ $ING1 = "1" ]; then
echo "ING1"
fi
if [ $ING2 = "1" ]; then
echo "ING2"
fi
if [ $ING3 = "1" ]; then
echo "ING3"
fi
if [ $ING4 = "1" ]; then
echo "ING4"
fi
if [ $ING5 = "1" ]; then
echo "ING5"
fi
if [ $ING6 = "1" ]; then
echo "ING6"
fi
if [ $ING7 = "1" ]; then
echo "ING7"
fi
if [ $ING8 = "1" ]; then
echo "ING8"
fi
if [ $ING9 = "1" ]; then
echo "ING9"
fi
if [ $ING10 = "1" ]; then
echo "ING10"
fi
if [ $ING11 = "1" ]; then
echo "ING11"
fi
if [ $ING12 = "1" ]; then
echo "ING12"
fi
if [ $ING13 = "1" ]; then
echo "ING13"
fi
if [ $ING14 = "1" ]; then
echo "ING14"
fi
if [ $ING15 = "1" ]; then
echo "ING15"
fi
ff=0
fi
else
if [ $ING = "0" ]; then
ff=1
fi
fi
done