PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Schalter an MEGA8 funzt net!



NRG
16.08.2005, 23:21
Hallo! Ich habe ein großes Problem!!! #-o
Und zwar will ich folgendes mit meinem Atmega8 machen:
Ich habe zwei Relais. Diese will ich mit dem mega8 schalten. Und zwar hab ich mir einen Schalter gekauft:
http://img269.imageshack.us/img269/856/schalter1kh.jpg (http://imageshack.us)
Das ist ein EIN/Aus/EIN schalter.
So ich habe mir gedacht dass ich es mit meinem Mega8 jetzt so machen könnte dass ich die zwei pole des schalters an denn mega8 hänge. und am dritten pol des schalters gnd laufen lass. Und dass ich dann mit dem mega8 die relais einzeln ansteuern lass. Mein prog schaut so aus:



.........
.........

config portd.2=input
config portd.3=input
config portb=output
portd.2=1
portd.3=1

do
A:
portb.2=0
portb.3=0
if pind.2=0 then
goto c
else
goto b

B:
if pind.3=0 then
goto d
else
goto a
end if
end if
loop

c:
portb.2=1

d:
portb.3=1




So ich hab jetzt den Schalter an die jeweiligen ports angeschlossen.
Allerdings schaltet des eine Relai sofort?!?! nur warum???
Wenn ich die Kabel wieder abmach vom mega8 die zum schalter gehen dann funzts. doch wenn ich dann nur ein einfaches kabel nehme und an den port hinhalte dann schaltet das Relai!! Dazu muss gesagt werden dass das kabel nirgends angeschlossen ist!!!

Hoffe mir kann jemand helfen!!

MFG

NRG :arrow:

chr-mt
16.08.2005, 23:34
Hi,

Config Pind.2 = Input 'Einzelne Pins werden mit "config pin"
Config Pind.3 = Input 'und nicht mit "config port" konfiguriert
Config Portb = Output

Set Pind.2 'Pullups einschalten
Set Pind.3

portd.2=1
portd.3=1

'Pins werden immer mit "PIN" und nicht mit "PORT" Gelesen.
'beim schreiben also immer "port", beim lesen "pin"

do

If Pind.2 = 0 Then
Portb.2 = 1 'Relais 1 aus
Portb.3 = 0 'Relais 2 ein
End If

If Pind.3 = 0 Then
Portb.2 = 0 'Relais 1 ein
Portb.3 = 1 'Relais 2 aus
End If
Loop

End



Noch was, der mittlere Pin des Schalters muß gegen Masse...


Gruß
Christopher

16.08.2005, 23:44
ja so hab ichs ja gemacht. den mittleren gegen masse und die äußeren an mega8