Led kapcsolás

Hogyan programozzak AVR chipet? Programozók beállításai...
Bascom nyelvű programok...
Válasz küldése
Avatar
dutkair
Biztosítékgyilkos
Hozzászólások: 57
Csatlakozott: 2010. augusztus 29. vasárnap, 6:00

Led kapcsolás

Hozzászólás Szerző: dutkair »

Üdv!

Próbálgatok itt egy kis programot, amivel egy nyomógombbal szeretnék bekapcsolni egy led-et (egyelőre csak ennyi a célom)

A progi:

$regfile = "attiny45.dat"

Config Portb.1 = Output
Config Portb.3 = Input

Portb.3 = 1




Do

If Portb.3 = 0 Then
Portb.1 = 1



End If

Loop

End



De sajna nem nagyon akar csinálni semmit amikor a gombot nyomogatom....:(

Mi lehet a hiba?

Ugye jól sejtem, hogy a nyomógombot a föld és a portb 3 közé kell kötni?

Köszönöm!
Avatar
kapu48
Elektronbűvölő
Hozzászólások: 3375
Csatlakozott: 2008. augusztus 29. péntek, 6:00

Hozzászólás Szerző: kapu48 »

Nincsen megadva az belső oszcilátór vagy kristály frekvenciája.

Nézd meg a Helpben a Toggle utasítást!
Ott van LED villogtatás is.
Avatar
dutkair
Biztosítékgyilkos
Hozzászólások: 57
Csatlakozott: 2010. augusztus 29. vasárnap, 6:00

Hozzászólás Szerző: dutkair »

Azóta már megadtam az órajelet, de úgy sem működik...

Egyébként ez alapján írtam a progit, úgyhogy nem értem miért nem jó:

http://avr.tavir.hu/modules.php?name=Fo ... yom%F3gomb
Avatar
kapu48
Elektronbűvölő
Hozzászólások: 3375
Csatlakozott: 2008. augusztus 29. péntek, 6:00

Hozzászólás Szerző: kapu48 »

Ez így olyan gyorsan működik, hogy szemmel követhetetlen!
És a Toggle be/ki kapcsolna neked azt látnád.
Avatar
dutkair
Biztosítékgyilkos
Hozzászólások: 57
Csatlakozott: 2010. augusztus 29. vasárnap, 6:00

Hozzászólás Szerző: dutkair »

Átírtam erre:

$regfile = "attiny45.dat"
$crystal = 10000000

Config Portb.0 = Output
Config Portb.1 = Input

Portb.1 = 1

Do

If Portb.1 = 0 Then
Toggle Portb.0

End If

Loop

End

Elvileg ennek így működnie kellene?

A kapcsoláshoz portb.1-et leföldelem... Így kell?
Avatar
kapu48
Elektronbűvölő
Hozzászólások: 3375
Csatlakozott: 2008. augusztus 29. péntek, 6:00

Hozzászólás Szerző: kapu48 »

Do

If Portb.1 = 0 Then
Toggle Portb.0
Waitms 500 'ki várjuk a Kapcsoló pergését
End If
Meg e nélkül akár milyen röviden nyomod, több ezerszer átváltana!

Kapcsolóval párhuzamosan 100n kerámia kondit a GND-re, hogy csökentse a pergését , és 10K felhúzó R a VCC-re
Avatar
dutkair
Biztosítékgyilkos
Hozzászólások: 57
Csatlakozott: 2010. augusztus 29. vasárnap, 6:00

Hozzászólás Szerző: dutkair »

Bocsi, de elég bandzsa vagyok :S

A 10K felhúzót hogyan kell bekötni?:S
Avatar
kapu48
Elektronbűvölő
Hozzászólások: 3375
Csatlakozott: 2008. augusztus 29. péntek, 6:00

Hozzászólás Szerző: kapu48 »

+5V - 10K - RESETpin - 100n - GND
Avatar
dutkair
Biztosítékgyilkos
Hozzászólások: 57
Csatlakozott: 2010. augusztus 29. vasárnap, 6:00

Hozzászólás Szerző: dutkair »

Hát ez sajna nem működik, pedig az alkatrészek tuti hogy jók, kipróbáltam őket, de ez valamiért nem akar sikerülni....

Fogalmam sincs, hol a hiba
Avatar
kapu48
Elektronbűvölő
Hozzászólások: 3375
Csatlakozott: 2008. augusztus 29. péntek, 6:00

Hozzászólás Szerző: kapu48 »

Kód: Egész kijelölése

If Pinb.1 = 0 Then 'Bemenet
Toggle Portb.0      'Kimenet
Lábakat jól kötötted be?
Avatar
dutkair
Biztosítékgyilkos
Hozzászólások: 57
Csatlakozott: 2010. augusztus 29. vasárnap, 6:00

Hozzászólás Szerző: dutkair »

természetesen igen
Avatar
vavi
Biztosítékgyilkos
Hozzászólások: 72
Csatlakozott: 2006. április 29. szombat, 6:00

Hozzászólás Szerző: vavi »

Próbáld meg így:

Kód: Egész kijelölése

   
$regfile = "attiny45.dat"

Config Portb.1 = Output
Config Portb.3 = Input

Portb.3 = 1

Do

If Pinb.3 = 0 Then' Ez a sor volt sztem hibás (portb.3 --> pinb.3)
Portb.1 = 1



End If

Loop

End
Avatar
dutkair
Biztosítékgyilkos
Hozzászólások: 57
Csatlakozott: 2010. augusztus 29. vasárnap, 6:00

Hozzászólás Szerző: dutkair »

EZAZ!!!4

Köszönöm!

Persze gondolhattam volna rá hamarabb is!

Még 1x köszi!
Avatar
dutkair
Biztosítékgyilkos
Hozzászólások: 57
Csatlakozott: 2010. augusztus 29. vasárnap, 6:00

Hozzászólás Szerző: dutkair »

milyen paranccsal lehet azt megoldani, hogy egy gombot hosszan nyomva pl. 3 mp-ig kapcsoljon ki\be a led?
Avatar
kapu48
Elektronbűvölő
Hozzászólások: 3375
Csatlakozott: 2008. augusztus 29. péntek, 6:00

Hozzászólás Szerző: kapu48 »

Kód: Egész kijelölése

'Mondjuk a várakozás a legegyszerűbb:
Do

If Pinb.3 = 0 Then
Set Portb.1                        'Be kapcs
Wait 3                               'Vár 3mp
Reset Portb.1                     'Ki kapcs
Wait 3                               'Vár 3mp
End If

Loop

'Vagy:
Do

If Pinb.3 = 0 Then
Set Portb.1                      'Be kapcs
Wait 3                             'Vár 3mp
End If
If Pinb.3 = 0 Then            'Csak ha még mindég nyomják?
Reset Portb.1                   'Ki kapcs
Wait 3                             'Vár 3mp
End If

Loop
Válasz küldése