PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Anfänger braucht Hilfe



vitja09
04.10.2006, 18:56
erstmeinmal ein lautes Hallo an Alle, wie man sieht bin ich neu hier.
=D>

Ich hoffe es werden nciht gleich alle schreien, aber ich hab wirklich ncihts gefunden zu meinem Problem, Hier gehts gleich um richtig große KOmplizierte Sachen dabei scheitere ichs chon bei etwas ganz wesentlichem :(

Ich habe eine C-Control M-Unit die aller erste (hab das Ding shcon seit dem es die überhaupt gibt, also schon richtig alt) Nun habe ich zB. eine Schaltung bei der durch irgendetwas herforgerufen ein Transistor durchschaltet, nehmen wir an ein Abstandssensor hat ein Hitnerdniss gesichtet und schaltet einen Transistor, wie geht der Weg weiter? Ich will das die M-Unit daraufhin bestimmte aktionen ausführt (weiter Ports öffnen/ schließen) Wie Programmiere ich es es und vor allem wie schließe ich das an der M-UNit an?

If Port[1] =On then Port[2] = Off
so habe ich das versucht, den durchgeschalteten minus des transistors habe ich dabei an der Port 1 gesteckt, wenn der jetzt durchschaltet sollte doch der Port 2 ebenfalls öffnen oder nicht?

Vielen Dank

FriLu
04.10.2006, 21:05
Hi,
also ich rate mal...
Hast du die Wokbench von Dierk Schmid als Editor? Da würde die Zeile zumindest keinen Fehler darstellen, beim Conrad-Original gehts so nicht!
Die M-Unit hat keine Pullup-Widerstände, du musst also deinen Transistor-Eingang mit Widerstand ( ca. 10k ) nach + beschalten.
( NPN Typ, Emitter an Masse, Kollektor an Eingangspin ).
Also, Transistor ist gesperrt -> Eingang ist ON, Transistor ist geschaltet -> Eingang ist OFF, im Prog beachten!
Übrigens, mal über die BASIC-Befehle "drübergucken" O:)
Wenn du den Ports Namen gibst, wirds übersichtlicher...
z.b.:


define Transistoreingang port[1]
define LEDausgang port[2]

#lp
if not Transistoreingang then LEDausgang = ON else LEDausgang = OFF
pause 1
goto lp

' if-Abfrage auf on/off kann vereinfacht werden
' zum Testen eine Led an Port[2] - Katode an Masse, Rv ~330Ohm nicht vergessen.
' prog läuft endlos, test auf schaltfunktion an port[1]



Bis bald... Lutz

vitja09
05.10.2006, 15:47
Vielen Dank erstmal:) ist mein Schaltplan soweit richtig?

Beim Umlegen des Schalters T1 Soll die M-Unit einen Verbraucher ansteuern.

mein quellcode soll so aussehen.


define ausgang port [1]
define eingang port [2]

#programm
if eingang = off then ausgang = off
if eingang = on then ausgang = on

goto programm

FriLu
05.10.2006, 21:17
Hi,
Nein, so funktioniert es nicht.
Der Kontroller-Pin als eingang braucht eine bezugsgrösse- ist er offen (sehr hochohmig) wirkt er als Antenne und schaltet wild hin und her.
( In deinem Plan, wenn der Transistor gesperrt ist ).
Also, wie ich schon schrieb, Widerstand (10k) zwischen Eingang und +.
Damit der Eingang eine Chance hat umzuschalten, Transistor-Kollektor an den Eingang anschliessen. O:)
Ich nahm an, du weisst das der Transistor an seiner Basis auch einen Widerstand braucht- vorschlag 4k7 zwischen basis und +.
Wenn der Transistor am Ausgang leistungsmässig die Glühlampe schafft-
dann gehört der Emitter an masse, die Glühlampe zwischen Kollektor und +.

Ich seh grad, Schalter an Transistor, Transistor an Eingang- unnötig.
Also Schalter zwischen Masse und Eingang, 10k an +( s.o. ).

Zum Programm: Die IF-Abfrage funktioniert so, aber
( Sorry, ich will dich wirklich nicht "fertigmachen"! )
1. Wenn der Taster/Schalter betätigt wird, liest der Eingang off, also zuordnung "umdrehen".
2. if-abfragen auf on bzw. off kann man vereinfachen: if eingang then ... ist funktionell gleich mit if eingang=on then ...
3. Was gefällt dir nicht an ELSE, das du es nicht benutzt?

Puhhh, ich hoffe, ich hab dich nicht verschreckt ... LG Lutz

vitja09
07.10.2006, 11:00
:-# man irgednwie klappt das nicht, ist vlt meine m-unit kaputt?
Ich habe jetzt folgendes Programm:

define ausgang port[1]
define eingang port[2]

#programm
if not eingang then ausgang = ON else ausgang= OFF
goto progamm


ich habe nun eine Led am Port 1, wenn ich es starte leuchtet die LED, soweit ja richtig. lege ich nun einen WIderstand von 10k zwishcen PLus und Port 2 erlischt die Lampe, so weit ja auch richtig, nehme ich den Widerstand wieder weg, erwarte ich eigetnich das sie wieder leuchtet..aber das tut sie nicht, entweder sie glimmt langsam nach kurzer Zeit auf oder bleibt ganz aus, manchmal geht sie aber auch an so wie es soll.
was mache ich da nur falsch

DIE HARD
07.10.2006, 12:32
:-# man irgednwie klappt das nicht, ist vlt meine m-unit kaputt?
Ich habe jetzt folgendes Programm:

define ausgang port[1]
define eingang port[2]

#programm
if not eingang then ausgang = ON else ausgang= OFF
goto progamm


ich habe nun eine Led am Port 1, wenn ich es starte leuchtet die LED, soweit ja richtig. lege ich nun einen WIderstand von 10k zwishcen PLus und Port 2 erlischt die Lampe, so weit ja auch richtig, nehme ich den Widerstand wieder weg, erwarte ich eigetnich das sie wieder leuchtet..aber das tut sie nicht, entweder sie glimmt langsam nach kurzer Zeit auf oder bleibt ganz aus, manchmal geht sie aber auch an so wie es soll.
was mache ich da nur falsch

Ein unbeschalteter Port nimmt irgend einen Zustand ein. Du musst den Port
für LO auf GND legen und für HI auf 5V.

vitja09
07.10.2006, 13:13
Vielen Dank erstmal für die ganzen schnellen und Geduldigen Antworten!
gibt es da keine Beispielschaltung mit allen tranistoren, ihren Widerständen für eine Anwendung wie diese? ich wüsste jetzt nicht wie ich den POrt bei unbeschaltetem Zustand auf gnd legen sollte 8-[

FriLu
07.10.2006, 13:18
Hi,
Taster an gnd und eingang, Widerstand 10k an Eingang und +.

vitja09
07.10.2006, 13:31
juhuuuu ich habs hinbekommen mit meinen leds, vielen Dank jetzt erscheint mir di eganze Sache auch einbischen logisch ](*,)