Hallo ihr Pi begeisterten,
ich möchte meinen PI mit einem Fotosensor beschäftigen und dazu will (und muss) ich den MCP3008 nutzen damit ich die analogen Werte mit dem PI auslesen bzw. nutzen kann.
dabei halte ich mich strikt an dieses tut.
http://nicht-traeumen-sondern-machen.de/RaspberryPi_Ba…ge.php?anker=a4
Jedoch bekomme ich über die PHP Variante immer den Wert 1023 oder 1022 und mit dem Python Skript die Fehlermeldung:
unexpected end of file.
#!/bin/sh
#Auslesen des 3008 ADC
#Variablen
byte[1]="0,0,0,0,0,0,0,1" #immer "1" als erstes Byte senden
byte[2]="1,0,0,0,0,0,0,0" #Zweites Byte enthält immer auch den Channel (8+Channel)
byte[3]="0,0,0,0,0,0,0,0" #Drittes Byte ist immer "0"
#Deklarieren der Pins
cs="6"; # GPIO25 Pin 22 (Chip Select)
Din="5";# GPIO24 Pin 18 (Digital in)
Dout="4";# Gpio23 Pin 16 (Digital Out)
clk="1"; #GPIO18 Pin 12 (Clock)
#Ausgänge als solche deklarieren
gpio mode $cs out
gpio mode $Din out
gpio mode $Dout in
gpio mode $clk out
#Reset
gpio write $cs 1
gpio write $cs 0
gpio write $clk 0
#bytes lesen
for ((anz=1;anz<=3;anz++))
do
#Zerlegen der byte Variablen in 8 einzelne Befehle
go=(`echo ${byte[$anz]}| tr ',' ' '`)
for ((z=0;z<=7;z++))
do
#Schreibe die Low und Highs in die Pins
gpio write $Din ${go[$z]} #Schreibe Bits
vin[$anz]="$( gpio read $Dout )" #Lese die Bits
input=$input""${vin[$anz]} #Sammle die Bits in einer Zeichenkette
gpio write $clk 1
gpio write $clk 0
done
var=${input:14:22} #Behalte nur die letzten 10 Bytes
echo "ibase=2; $var" | bc #Ausgabe als Dezimalzahl
exit
Alles anzeigen
ich wäre schon froh wenn die bash läuft kann das mal bitte jemand testen. Die Verkabelung habe ich auch soweit gleich außer ch1 bis ch7 liegen nicht auf ground auch habe ich es mal mit und mal ohne wiederstand realisiert. immer mit dem gleichen Ergebnis.
Leider bin ich aber noch nicht so fit in dem Thema deswegen wäre Hilfe sehr erwünscht.