Shock Media

Navigatie

Proton IDE met een 16F628A

Forum > Software & Interfacing > Proton IDE met een 16F628A
Naam Bericht
Rob v

Hallo,

Ik ben onlangs met een Pic bezig in Proton IDE. Nu wil ik een extern voltage(afkomtig van een tijdklok, dus AAN of UIT) als ingang van mijn 16F628A gebruiken. Ik weet dat poortB pullup weerstanden heeft, maar deze vogel gaat niet op. Of ik moet via een transistor de ingang naar de GND koppelen. Dit lijkt mij een beetje een omweg. Ook heb ik al geprobeerd om de GND aan elkaar door te koppelen en gebruik te maken van poortA zonder de pullup weerstanden. Ook heb ik aangegeven dat de ingang die ik gebruik ook daadwerkelijk als ingang gezien wordt (met TRISA). Naar mijn weten moet dit werken, maar ik zou niet weten wat ik verkeerd heb gedaan. Dus wanneer er iemand id'tjes heeft........Hit me.

Hieronder staat de code, waarbij een led gat branden wanneer tijdklok 0 is (de led is een RGB led met common anode vandaar de nullen).
_________________________________________________
DEVICE 16F628A
CONFIG INTRC_OSC_NOCLKOUT, WDT_OFF, PWRTE_ON, LVP_OFF, MCLRE_OFF
ALL_DIGITAL TRUE
PORTB_PULLUPS ON
CLEAR

; 76543210
TRISA = %00010000
TRISB = %11111111


SYMBOL tijdklok = PORTA.4
SYMBOL led_boven_groen = PORTA.6
SYMBOL led_boven_rood = PORTA.7

WHILE 1=1

IF tijdklok = 0 THEN

led_boven_rood = 0


ELSE

led_boven_groen = 0

ENDIF
WEND
END

___________________________________________________________
Gr. Rob
Frits Kieftenbelt
Honourable member

Je moet cursus deel 1, 2 en 3 eens doorlezen.

Je maakt de LED's '0', maar waar worden ze weer '1'?
Bovendien moet je namen gebruiken, want... is '0' nu bij jou AAN (door de LED tussen poort en + te verbinden) of UIT (LED tussen poort en GND)?

www.picbasic.nl/beginners1.htm

En geeft de tijdklok nu een spanning van zichzelf (en hoeveel Volt is dat dan) of heeft het een contact dat opent of sluit?
Ohm sweet Ohm l www.picbasic.nl
Rob v

Bedankt voor je reactie Frits. Ik maak de LED's inderdaad niet meer 1. Nou gaf dit geen problemen, want de LED gaat namelijk nooit aan...
Ik maak de LED aan door de LED aan de + te verbinden en vervolgens de poort 0 of 1 te maken. Dit werkt prima. Is het trouwens noodzakelijk om aan of uit te gebruiken want 1(hoog) of 0(laag) is toch hetzelfde?

De tijdklok heeft een contact dat opent en sluit en het voltage is 12 volt.

P.S. Ik heb de curses al een doorgenomen, maar heb het nog een keer over gelezen.

Gr. Rob.
Frits Kieftenbelt
Honourable member

Het maakt inderdaad niet uit of je nu '0' of LAAG, en '1' of HOOG schrijft, maar al wij antwoord moeten geven kunnen wij aan '0' niet zien of de LED bij jou aan of uit gaat want wij kunnen (konden) niet ruiken hoe jij je LED hebt aangesloten, zoals ik in mijn eerste reactie reeds schreef.

quote:

De tijdklok heeft een contact dat opent en sluit en het voltage is 12 volt.

Is het nu een contact dat opent of sluit, of krijgt de PIC een 12V signaal aangeboden?
Ohm sweet Ohm l www.picbasic.nl
Rob v

Ok ik begrijp wat je bedoelt. Het is zoals boven vermeld een RGB led common anode, dus 0 is aan. Nu ben ik zelf even in de war, maar de pic krijgt van de tijdklok 12 volt aangeboden. Het principe werkt volgens een normale tijdklok wat voor 2 euro bij de gamma te koop is (is wel op 230V). Ik hoop dat je begrijpt wat ik bedoel.
Lithium

quote:
Op 17 augustus 2008 15:30:42 schreef Rob v:
Nu ben ik zelf even in de war, maar de pic krijgt van de tijdklok 12 volt aangeboden.


12V op VCC en GND? een pic heeft 5V nodig.
Wat is groot wat is klein? Wat is duur en wat is goedkoop? Alles is relatief!
Kevinoud

quote:
Op 17 augustus 2008 15:30:42 schreef Rob v:
Nu ben ik zelf even in de war, maar de pic krijgt van de tijdklok 12 volt aangeboden.

Dus je voert aan een ingang van de pic 12V ?
Dan kun je hem weg gooien
[Bericht gewijzigd door Henry S. op 18 augustus 2008 00:41:34]
***** No keyboard connected press F1 to continue ... *****
Henry S.
Moderator

quote:
Op 17 augustus 2008 21:57:22 schreef Lithium:
[...]

12V op VCC en GND? een pic heeft 5V nodig.

Dat is iets te simpel gezegd, een 5V PIC mag max 5V op z'n ingang hebben.
Windhoos helemaal zat? Een ATX-voeding is geen labvoeding!
Rob v

hehe, hij is nog niet dood. Maar dan gooi ik er wel een spanningsdeler overheen. De Vcc is trouwens wel 5 volt.
Bedankt voor de reactie's, nu kan ik weer voouit.
Henry S.
Moderator

quote:
Op 18 augustus 2008 12:53:08 schreef Rob v:
hehe, hij is nog niet dood.

Die ingang wel...
Windhoos helemaal zat? Een ATX-voeding is geen labvoeding!
Kevinoud

huh ? henry je hebt me bericht gewijzigt maar niks aangepast ?
***** No keyboard connected press F1 to continue ... *****
Henry S.
Moderator

Ik heb je megaquote ingekort tot het relevante deel:
http://www.circuitsonline.net/forum/faq#replys

De volgende keer zelf op letten aub.
[Bericht gewijzigd door Henry S. op 18 augustus 2008 20:23:35]
Windhoos helemaal zat? Een ATX-voeding is geen labvoeding!
Kevinoud

quote:
zelf op letten aub.

Oke is goed chef
[Bericht gewijzigd door Kevinoud op 19 augustus 2008 00:43:35]
***** No keyboard connected press F1 to continue ... *****
Rob v

quote:



Ok, ik heb nu de pic weggegooit en en nieuwe gepakt. Verder heb ik gezorgt dat de spanning op de ingang 5 volt is, maar het werkt nog steeds niet. De ingang ligt het niet meer aan, want ik heb van zowel poort a als b 3 ingangen getest.

Iemand een idee...
Lithium

Vind het nog steeds een vreemde code.
Je leds worden nooit 1 zoals al gezegd door iemand.

Heb je de gnd van alle ic's en apparaten aan elkaar gezet?
Zonder een ground weet de pic niet hoeveel volt 12 nou precies is...
Wat is groot wat is klein? Wat is duur en wat is goedkoop? Alles is relatief!
Rob v

quote:
Op 19 augustus 2008 11:56:10 schreef Lithium:
Vind het nog steeds een vreemde code.
Je leds worden nooit 1 zoals al gezegd door iemand.

Heb je de gnd van alle ic's en apparaten aan elkaar gezet?
Zonder een ground weet de pic niet hoeveel volt 12 nou precies is...



klopt, maar dit heb ik aangepast. Nu is de code (klein stukje):
_______________________________________________________

led_boven_rood = 0
led_boven_groen = 1


ELSE

led_boven_rood = 1
led_boven_groen = 0
_________________________________________________________

De LED zal dus rood of groen zijn. De twee grounds zijjn doorgekoppeld en op de ingang van de pic staat 5 volt (gemeten).
Lucky luke

kun je je code eens testen met gewoon een schakelaartje wat die ingang hoog (of laag) maakt? Als het dan opeens wel werkt, dan weet je dat het aan je schakelklok ligt en niet aan je code.

Trouwens, wat doet die pic ertussen? Die klok geeft 12V af op het moment dat je een groen ledje wilt laten branden en 0V als je een rood ledje wilt laten branden. het is een common anode rgb led.

common anode aan de + via een weerstandje, rode ledje naar de klok en de rode gaat aan al de klok 0 geeft (als die klok tenminste echt naar de gnd schakeld, anders iets met een pulldown en een transistortje)

groene ledje dan via een transistortje naar de - laten trekken als de klok 12v geeft.

of word de code uitgebreider dan dit? dan vraag ik me af waarom je een losse tijdklok gebruikt en dat niet door de pic laat doen...

Wat is je project? Wat moet het in totaal doen?
mijn homepage. // De vraag is niet: Is ubuntu klaar voor de desktop. De vraag is of de desktop klaar is voor Ubuntu.
Rob v

Ik heb de code al eerder getest en dat was niet het probleem. Dit is een klein deel van een project voor een deurtje open en dicht te laten gaan. Wij hebben namelijk regelmatig last van een vos en dit vinden onze kipjes niet zo fijn. Er moet gekozen kunnen worden tussen handmatig en automatisch. De tijdklok zit ertussen voor het instelgemak. De tijden varieren wel eens, vanddar de tijdklok. Het gaat misschien makkelijker, maar het gaat mij vooral om het project en wat meer van µC te leren.

Ik heb het opgelost en het probleem was een gaar oud vies breadbordje:S. Het heeft nog al wat tijd gekost voor ik hierachter kwam.

Iedereen bedankt voor de hulp. Straks kunnen de kippen weer gerust rondlopen....

Gr. Rob
[Bericht gewijzigd door Rob v op 19 augustus 2008 16:36:19]
Zoeken in topic