Hm, was soll heute sein??? Heute is Samstag und??? Ist doch normal nach jedem Freitag
Spaß beseite!!!
Die Schaltung ist einfach, und noch nicht im Womo zum Einsatz gekommen sondern nur zum versuchsaufbau am Tisch. PD sind für display belegt und funktionieren einwandfrei da ich das schon in vielen anderen Schaltungen so mache und mir in im Display die Werte angezeigt werden nur wechseln die sehr schnell obwohl nix verändert wird oder zeigen gar das falsche an. Die Spannung für die Schaltung ist absolut sauber. PC0 habe ich an den Kontakt angeschlossen der für 1/4 da ist, PC1 an den Kontakt für 1/2 u.s.w bis PC3=voll. Der Kontakt am Boden des Tankes ist direkt auf Masse gelegt (die Gleiche Masse die der Atmega8 also die ganze Schaltung hat) Die Schaltung hat eine Spannung von 5V. Zum versuch hab ich nur 4 Drähte in das Bord gesteckt (PC0-PC3) und einen an Masse und diese nacheinander in eine Tasse mit Wasser. Also Masse in die Tasse und dann den Draht an PC0 in die Tasse also müsste auf dem Display stehen das der Tank 1/4 voll ist. Aber das passiert nicht ich kann alle Drähte aus der Tasse und einfach in die Luft halten ohne sie mit den Fingern zu berühren und auf dem Display wechselt die Anzeige ständich zwischen 2 Ständen hin und her oder bleibt kurz auf einem anderem stehen.
Der Code ist simpel weil ich nur die 4 Pins abfrage und dann halt ausgebe.
Alles anders!!! Durch das schreiben der letzten Zeilen ist mir noch eine Idee gekommen mein Code ist folender:
Code:
'Wassertankanzeige-Ver1.BAS: Version 1.0
'Hardware:
'---------------------------------------------------------
$regfile = "m8def.dat" 'ATmega8-Deklarationen
$crystal = 3686400 'Quarz: 3,6864 MHz
$baud = 9600 '9600 Baud, wenn Quarzfrequenz 3,6864MHz, UBRR: Bascom-"16-Bit-Register", faßt die Register UBRRH+UBRRL zusammen
Config Lcd = 20 * 4
Config Lcdpin = Pin , Db4 = Portd.4 , Db5 = Portd.5 , Db6 = Portd.6 , Db7 = Portd.7 , E = Portd.3 , Rs = Portd.2
Ddrc.0 = 0
Ddrc.1 = 0
Ddrc.2 = 0
Ddrc.3 = 0
'Portc.0 = 1
'Portc.1 = 1
'Portc.2 = 1
'Portc.3 = 1
'LCD
Cls 'clear the LCD display
Lcd "Wasserstandsanzeige "
Wait 1
Dim Stand As Integer
Dim Last As Integer
Do
Stand = 0
If Pinc.0 = 0 Then
Stand = 1
End If
If Pinc.1 = 0 Then
Stand = 2
End If
If Pinc.2 = 0 Then
Stand = 3
End If
If Pinc.3 = 0 Then
Stand = 4
End If
If Last <> Stand Then
Select Case Stand
Case 0
Locate 3 , 1
Lcd " "
Case 1
Locate 3 , 1
Lcd "1/4"
Case 2
Locate 3 , 1
Lcd "1/2"
Case 3
Locate 3 , 1
Lcd "3/4"
Case 4
Locate 3 , 1
Lcd "1/1"
End Select
Last = Stand
End If
Loop
End
Und meine "grosse Neuerung" ist das in meiner Schaltung 4 Transistoren zum einsatz kommen. Basis ist jeweils an einem der 4 Kontakte am Tank ohne Vorwiederstand da das Wasser so hochohmig ist das ich nicht glaube einen zu brauchen (oder???) Der Colektor ist an den jeweiligen PC0-PC3 angeschlossen und an einen 56kOhm wiederstand gegen +5V. Emitter an Masse versteht sich von selbst 
Jetzt kann ich sogar die "PullUP" deaktivieren un die Schaltung funktioniert
hätte ich auch gleich drauf kommen können
Ohne die Transistoren kamm nur kwatsch raus mit PullUP Aktiv funktionierte es aber nur wenn ich echte Schalter verwendet habe. Im wasser ist zu wenig Strom geflossen um den eingang auf Masse zu ziehen.
So nun muss ich das nur noch schön verpacken
und überlegen wie ich das nun mit dem Ultraschallsensor mache der muss ja wasserdicht sein ich kenne nur die wo ein Gitter am Sensor ist. Die müssten ja voll gekapselt sein und einen Bereich von naja am besten 0cm-50cm haben gibts so einen Sensor??? (Wasser reflektiert doch Ultraschallwellen oder? Müsste doch sonst würden doch ale Fledermäuse ins wasser fallen
)
Bin auf neue Lösungsvorschläge gespannt, mit so einem Sensor müsste dan eine Angabe im Liter Bereich möglich sein (oder?)
Lesezeichen