Hallo,

Ik heb laatst een opdracht voor school gekregen om een voorwerp met elektronica te maken en er moet een NTC inzitten, nou heb ik op www.picbasic.nl gekeken, en heb bij PIC Basic Deel 5c gekeken die leek me wel interessant, maar nu heb ik een paar vraagjes daarover,
http://www.picbasic.nl/beginners5.htm
Zelf heb ik nog niet super veel ervaring met programmeren enzo, heb de basisonderdelen geleerd van Frits zelf (maker van www.picbasic.nl)
heb hem zelf al een mail gestuurd en hij mailde terug dat hij het iets te druk had, en hij vroeg mij om het hier op de forum te vragen.
dus hier ben ik haha.

Schema:
http://www.picbasic.nl/images/schema_cursus5c.gif

Mijn vragen:
1. kan ik op PORTA. 0, 3, 4, 5, 6, 7, ook ledjes aansluiten die hetzelfde doen als PORTA.3? bijvoorbeeld PORTA.3 gaat branden wanneer een bepaalde temperatuur is, maar kan ik inplaats van 1 ledje ook meerdere aansluiten die ook gaan branden bij een bepaalde temperatuur, in dit geval PORTA. 0, 3, 4, 5, 6, 7 of moet ik de ledjes in serie schakelen aan PORTA.3?

2. Is het ook mogelijk dat bijv. dat mijn naam op de LCD komt en 10sec later dat mijn Klasnaam komt en na 10sec weer mijn naam enzovoort?

3. Weet iemand toevallig als je een PIC in Crocodile Clips kan maken?

Zelf heb ik net een beetje geprutst met Proton IDE, en heb uiteindelijk 225 bij de ??? ingevuld. weet zelf nog niet als het werkt etc. heb de onderdelen nog niet, ik moest van de leraar eerst controleren als de schema werkt etc.

PIC programmeer code:

DEVICE 16F628A                ;Gebruik een 16F628A type
CONFIG INTRC_OSC_NOCLKOUT, WDT_OFF, PWRTE_ON, LVP_OFF, MCLRE_OFF
ALL_DIGITAL TRUE              ;Alle ingangen digitaal

;Logische constanten
SYMBOL AAN          = 0       ;Geinverteerd AAN
SYMBOL OFF          = 0       ;UIT
SYMBOL ON           = 1       ;AAN

;Algemene constanten
SYMBOL Schaal       = 225     ;<<<<< DE WAARDE VAN Schaal VOOR DE POT FUNCTIE HIER INVULLEN 

;Poortnamen
SYMBOL Tijd         = 3000    ;Tekst veranderen om de 3 seconden 
SYMBOL NTC          = PORTA.0 ;10k NTC aangesloten via een condensator aan GND
SYMBOL Potmeter     = PORTA.1 ;Potmeter voor het instellen van de thermostaat
SYMBOL LED_2        = PORTA.2 ;Groene LED brandt als temperatuur van NTC te hoog is 
SYMBOL LED_3        = PORTA.3 ;Rode LED brandt als temperatuur van NTC te hoog is
SYMBOL LED_4        = PORTA.4 ;Groene LED brandt als temperatuur van NTC te hoog is 
SYMBOL LED_5        = PORTA.5 ;Rode LED brandt als temperatuur van NTC te hoog is 
SYMBOL LED_6        = PORTA.6 ;Groene LED brandt als temperatuur van NTC te hoog is 
SYMBOL LED_7        = PORTA.7 ;Rode LED brandt als temperatuur van NTC te hoog is  
SYMBOL ResetToets   = PORTB.0 ;Hiermee is LED weer uit te zetten (als temp. laag genoeg is)

;        76543210
PORTA = %00000000             ;Alle PORTA uitgangen uit (laag)
TRISA = %11110111             ;PORTA.3 omschakelen als uitgang voor de rode LED

PORTB_PULLUPS ON              ;On-chip pull-up weerstanden actief (voor S1)
CLEAR                         ;Wis alle RAM geheugen

;Hoofdprogramma
WHILE 1 = 1                   ;Oneindige lus

DELAYMS 500                   ;LCD stabilisering

  CLS                         ;Wis oude tekst uit 
  PRINT "Dontwan"              ;Zet tekst op het scherm 
  DELAYMS Tijd                ;Tijd om tekst te laten zien 

  CLS
  PRINT "Klas: 4K5"
  DELAYMS Tijd

  CLS
  PRINT "Onderwerp: NTC"
  DELAYMS Tijd

  CLS
  DELAYMS Tijd                ;Tijd om LEEG scherm te laten zien  
  IF POT NTC, 255 < POT Potmeter, Schaal THEN ;Als temp. hoger is dan de potmeter instelling 
    LED_2 = ON             ;Groene LED aanzetten
    LED_3 = ON             ;Rode LED aanzetten
    LED_4 = ON             ;Groene LED aanzetten 
    LED_5 = ON             ;Rode LED aanzetten 
    LED_6 = ON             ;Groene LED aanzetten 
    LED_7 = ON             ;Rode LED aanzetten   
  ELSEIF ResetToets = AAN THEN;...anders, als er op reset wordt gedrukt
    LED_2 = OFF             ;Groene LED Uitzetten
    LED_3 = OFF             ;Rode LED Uitzetten
    LED_4 = OFF             ;Groene LED Uitzetten 
    LED_5 = OFF             ;Rode LED Uitzetten 
    LED_6 = OFF             ;Groene LED Uitzetten 
    LED_7 = OFF             ;Rode LED Uitzetten
  ENDIF
WEND                          ;Terug naar WHILE

END                           ;Einde programma

Alvast bedankt voor de moeite,
Groeten, Dontwan

Vraag 1 moet je nog maar eens over na denken wat je daar allemaal precies schrijft klopt niet echt.

vraag 2 en 3. Als je te LUI bent om het de gehele picbasic cursus door te lezen dan ga ik jouw ook niet verder helpen. Het antwoord op deze 2 vragen wordt uitgebreid behandeld in de cursus.

Vraag4 Weet ik niet.

1: Je kunt in de datasheet zien wat voor poorten het zijn (met RA4 is bv. iets speciaals aan de hand).
2: zie cursus Picbasic
3: zie 2
4: met Yenka (lijkt op CP) lukt dat dacht ik wel via een flowchart.

Op 16 november 2010 21:39:58 schreef benleentje:
Vraag 1 moet je nog maar eens over na denken wat je daar allemaal precies schrijft klopt niet echt.

vraag 2 en 3. Als je te LUI bent om het de gehele picbasic cursus door te lezen dan ga ik jouw ook niet verder helpen. Het antwoord op deze 2 vragen wordt uitgebreid behandeld in de cursus.

Vraag4 Weet ik niet.

Bedankt voor de snelle reactie, ik heb vraag 1 iets verandert hopelijk is het duidelijker nu.

bij vraag 2 ik heb het gelezen sorry voor de onduidelijkheid was iets te snel! en heb het antwoord. en de vraag weggehaalt uit de topic.
bij vraag 3 kan ik alleen vinden dat de temperatuur enzo wordt weergegeven, maar niet dat je zeg maar zelf een naam kan inzetten.
bij vraag 4 kan ik het totaal niet vinden! ik heb 2 dagen volop met Crocodile Clips bezig geweest maar kan geen PIC vinden...

In picbasic word hoe tekst weer te geven uitgebreid behandeld en daar word hello world op het scherm gezet en 1 sec later weer een andere tekst. Het staat er goed in nog maar een keer lezen.

Maar je zet toch al tekst op het display je naam en de klas dat verandert nu om de 3000mS dus om de 3s.

Je kan elke andere poort ook opdezlfde manier een led laten branden maar als dat precies hetzelfde is is dat zonde van de poort en kan je die leds beter op 1 poort aansluiten. Let er wel op dat op de uitgang wel 25mA stromen maar de totale chip maar iets van 80mA aankan via de voedings pinnen (niet opgezocht) Dus je kan niet alle pinnen met 25mA belasten in de regel gebruik je daar dan een transistor of fet tussen.

aan deze antwoorden heb ik wat, ik weet dat de tekst op de LCD kan komen te staan want ik heb zelf tot PIC Basic tot 4 gedaan,
heb op Google gekeken en een led zelf laat 20 mA constant door.
dus als ik nu goed begrijp kan ik niet alle leds laten branden zonder een transistor of een fet er tussen te zetten?
enne met die tekst op LCD die vraag is een beetje krom ik bedoelde eigenlijk als de code die ik had geschreven goed genoeg was om de lcd te laten werken. in iedergeval bedankt voor de hulp.

[Bericht gewijzigd door Henry S. op (45%)]

In hoofdstuk 17 van de datasheet staan de Absolute Maximum Ratings:

Maximum output current sunk by any I/O pin...25 mA
Maximum output current sourced by any I/O pin...25 mA
Maximum current sunk by PORTA and PORTB (Combined)...200 mA
Maximum current sourced by PORTA and PORTB (Combined)...200 mA

haha mijn hersens kraken hier echt hard...
snap het nog niet echt,
ik weet dat een normale led 20mA geeft,
dus als ik 1 PORTA gebruik gebruikt de PIC direct 25mA? ofiets? ik snap het niet?

[Bericht gewijzigd door Henry S. op (52%)]

Nee zeker niet.

Absolute maximum ratings wil zeggen dat het de werkelijke maximale waarden zijn waarop de pic zijn werk doet maar er GEEN garanties zijn. Dus liever blijf je er altijd wat onder.

Een enkele pin kan dus maximaal 25mA aan maar levert verder wat je vraagt. Wil je er 100mA uithalen dan doet hij dat ook maar gaat wel kapot. Sluit je er niets op aan dan loopt er ook geen stroom

De totaal gecombineerde stroom is dus 200mA. 10 leds met 20mA is dan teveel van het goede. Het is wel precies 200mA maar de cip verbruikt zelf ook nog stroom dus is niet aan te bevelen.

ik weet dat een normale led 20mA geeft,

heb op Google gekeken en een led zelf laat 20 mA constant door.

Helaas klopt die stelling ook niet. Een led heeft een voorschakel weerstand nodig en die bepaalt samen met de led welke stroom er door de led gaat. Je kan dus met hetzelfde gemak 100mA door de led sturen. Je bepaalt dus zelf met de weerstand de stroom door de led.

In het schema wat je heb laten zien van picbasic laten de led's ongeveer 3mA door. Dus nog lang geen 20mA en meeeeeeeer dan genoeg. Met 3mA kan je ook prima zien of de led aan of uit is. Het hoeft niet de kamer te verlichten.

dus als ik nu goed begrijp kan ik niet alle leds laten branden zonder een transistor of een fet er tussen te zetten?

Dat hangt er dus vanaf hoeveel leds je er op aan wilt sluiten en hoeveel stroom die gezamenlijk gaan vragen. Kom je boven de 20mA moet je zeker een transistor gebruiken.

enne met die tekst op LCD die vraag is een beetje krom ik bedoelde eigenlijk als de code die ik had geschreven goed genoeg was om de lcd te laten werken.

Het ziet er goed uit maar als je het echt wilt weten zou ik zeggen probeer het gewoon.

Maar de belangrijkste vraag.
Begrijp je nu wat het programma met de NTC doet ?
En waar is de NTS eigenlijk in het schema en op welke pin zit deze volgens het programma aangesloten.

Ik wil het dolgraag proberen, maar heb nog niet alle onderdelen van de leraar moest ik eerst weten dat het werkt, en daarna pas bestellen zegt hij...

en whoooops! zie nu pas een grote fout wat ik gemaakt heb, er staat dat ik 5b wou doen maar ik bedoelde 5c!!! ik zal de topic eventjes veranderen!
de NTC zit op PORTA.0 aangesloten, Als de NTC een bepaalde temperatuur voelt gaan er lichtjes branden, is de bedoeling van dit schema...

[Bericht gewijzigd door Henry S. op (25%)]

Hetgeen wat je wilt ga zo prima werken.

Wel even een opmerking plaatsen. Als je begint begin dan eerst even met de cursus picbasic. Ga dus als eers gewoon PRECIES doen wat daar staat totdat je aan dit hoofdstuk bent waar je de NTC in gevonden hebt. Dit omdat je ook nog wat vragen had over het LCD display. Als je gelijk dit gaat proberen is het even teveel voor je en als het niet werkt weet je dus ook niet uit ervaring wat je moet doen. Volg je de stappen van Picbasic dan krijg je vanzelf wat ervaring.

JE kan ook niet gelijk een F16 piloot worden moet je toch eerstoefenen met kleinere vliegtuigen.

Ik heb zelf al de cursus tot 4 gevolgd omdat ik momenteel de materiaal voor 5 en verder niet had, heb PICBasic geleerd van Frits zelf.
Maar die vraag over de LCD is dom, maarja ik wou eigenlijk weten als de code klopte ivm. de andere codes die bij tutorial 5 staan, bij de meeste van de andere codes wordt de temperatuur weergegeven etc.

[Bericht gewijzigd door Henry S. op (52%)]

Niet gelijk vragen eerst eens proberen en dan als het niet werkt eerst zelf wat proberen waarvan jij denkt dat het zou kunnen zijn. Als je dan voor je zelf al het mogelijke binnen je kennis hebt geprobeerd kan je het beste vragen gaan stellen. Daar leer je het meeste van, eigenlijk leer je nog het meeste van fouten maken en als ik je daar nu al op wijs leer je dus minder snel of zelfs helemaal nooit.

Je hebt gelijk, maar onze leraar is gewoon *^%$^&,
van hem moet alles persé werken! voordat ze iets willen bestellen..
Vandaar dat ik deze vragen vraag want deze zijn de enigste waarmee ik vastloop...

maar bedankt voor de antwoorden/hulp etc.!

[Bericht gewijzigd door Henry S. op (51%)]

Aan de onderdelen zal het niet liggen de schakeling zal zeker werken. Nu jij nog het programma en dat gaat ook wel werken maar meestal niet in de eerste keer.

Ik zou als eerst gewoon de NTC uitlezen en de temp op het display zetten en daarna pas proberen met de instel pot meter te vergelijken.

Met programmeren eigenlijk met alle elektronica test je eerst alle delen afzonderlijk. Dus eerst even de ledjes laten pulzen en dan de drukknoppn proberen en dan het lcd en dan de NCT en dan de potmeter. Als je veel ervaring hebt kan je t/m de NTC combineren mar als het dan niet werkt heb je dus wel veel dingen uit te zoeken.

Maar veel succes en zegt tegen de leraar dat het werkt.

Maar veel succes en zegt tegen de leraar dat het werkt.

okee bedankt voor alle hulp!

[Bericht gewijzigd door dontwan op (77%)]

Als je wilt antwoorden op mijn post hoef je niet te herhalen wat ik daarvoor net heb gezegd. Dat is erg irritant en is ook 1 van de regels hier.

Zoals je ziet herhaal ik enkel een klein stukje van jouw tekst om daar iets speciaals over te zeggen. Dat mag maar niet alles herhalen er enkel bedankt over zeggen. :+.

Veel succes en als het goed gaat hoor ik je niet meer.