Pagina 5 van 28
Geplaatst: ma dec 15, 2008 8:47 pm
door reddevil
Heb nu zo een klein systeempje als proef bollen. In de toekomst wordt dit natuurlijk meer uitgebreid met meerder aansturingen.
Mijn collega van het werk heeft nu een een kleine proef opstelling aan het werken met 1 computer en 2 pic's. Daar worden nu gegevens van uren, datum en temperatuur tussen de computer en de pic'sverzonden. Dit is in basic geschreven, communicatie is via RS 485 tussen de pic's en RS 232 tussen computer en pic.

Geplaatst: ma dec 15, 2008 10:47 pm
door 19roland70
zou dit iets kunnen zijn voor een ontvanger?
effe vlug iets verzonnen
64 adressen met elk 6 uitgangen
Code: Selecteer alles
DEVICE 16F628A
CONFIG WDT_OFF, PWRTE_ON, LVP_OFF,MCLRE_OFF,HS_OSC
XTAL 20
ALL_DIGITAL TRUE 'Alle ingangen digitaal
HSERIAL_BAUD = 9600
HSERIAL_RCSTA = %10010000
HSERIAL_TXSTA = %00100000
HSERIAL_CLEAR = ON
SYMBOL S1 = PORTa.0 'dipswitch voor adres
SYMBOL S2 = PORTa.1 'dipswitch voor adres
SYMBOL S3 = PORTa.2 'dipswitch voor adres
SYMBOL S4 = PORTa.3 'dipswitch voor adres
SYMBOL S5 = PORTa.4 'dipswitch voor adres
SYMBOL S6 = PORTa.5 'dipswitch voor adres
'port a.6...a.7 osc 20Mhz
'port b1...b2 rx tx
SYMBOL out1 = PORTb.0
SYMBOL out2 = PORTb.3
SYMBOL out3 = PORTb.4
SYMBOL out4 = PORTb.5
SYMBOL out5 = PORTb.6
SYMBOL out6 = PORTb.7
dim dipadres as byte ' adres van de dipswitch
dim adres as byte ' adres van het ontvangen adres
dim uitgang as byte ' welke uitgang hoog moet worden
dim waarde as byte '0 is uit ,255 is aan alles ertussen is voor PWM
hoofdmenu:
while 1 = 1
porta = dipadres
HSERIN 10, timeout,[adres,uitgang,waarde]
if dipadres = adres then
if uitgang = 1 and waarde = 1 then
out1 = 1
endif
if uitgang = 1 and waarde = 0 then
out1 = 0
endif
if uitgang = 2 and waarde = 1 then
out2 = 1
endif
if uitgang = 2 and waarde = 0 then
out2 = 0
endif
if uitgang = 3 and waarde = 1 then
out3 = 1
endif
if uitgang = 3 and waarde = 0 then
out3 = 0
endif
if uitgang = 4 and waarde = 1 then
out4 = 1
endif
if uitgang = 4 and waarde = 0 then
out4 = 0
endif
if uitgang = 5 and waarde = 1 then
out5 = 1
endif
if uitgang = 5 and waarde = 0 then
out5 = 0
endif
if uitgang = 6 and waarde = 1 then
out6 = 1
endif
if uitgang = 6 and waarde = 0 then
out6 = 0
endif
endif
hserout [dipadres,out1,out2,out3,out4,out5,out6] 'terugzenden van de status
wend
*******************************************
timeout: 'nog iets voor verzinnen
goto hoofdmenu
@ reddevil : is dit ook adresseerbaar ,hoeveel uitgangen /ingangen kunnen er worden geregeld?
ziet er trouwens goed uit
Geplaatst: di dec 16, 2008 4:24 pm
door Stynus
Ik zou het adres niet met dipswitchen doen. Dan wordt het meteen te groot op de print.
Gewoon een drukknopje voorzien en als je daar op drukt kan je via de bus het adres inladen.
Verder ziet het er wel goed uit.
Als we gaan programmeren via de bus is het misschien een idee om een tabel op te stellen van data type's met hun code?
Ik heb gisteren al een stuk getekend van een dimmer slot voor in zo een actor print.
Als die af is dan zal ik ook eens beginnen met code schrijven.
(Daar blijven de projecten meestal steken omdat dit deel nogal frustrerend is. Ik heb talloze projecten op men bureau liggen die af zijn tot aan de pic software.)
Geplaatst: di dec 16, 2008 6:03 pm
door reddevil
Dit is een zeer simpele uitvoering, mijn vorige aansturing was stuk gegaan en moest vlug iets hebben voor de tuinverlichting aan te sturen. Deze heeft maar 4 uitgangen en maar 4 ingangen. Kan wel kiezen via bepaalde drukknop combinatie dat hij weet of er een relais of een triac moet aansturen. Later gaat dit automatich worden.
Dat adres inladen via de bus, dat zie ik nog niet goed komen maar ik kan mis zijn.
Geplaatst: di dec 16, 2008 8:10 pm
door 19roland70
Ik denk als het adres hardwarematig op de I/O 's worden ingesteld dit een eenvoudige en makkelijk te begrijpen oplossing is
Mijn grootste probleem is eigenlijk de opzet van de controllerprint deze moet alles 'regelen' commando's ontvangen en weer weg sturen en de tijd en scenebeloop regelen,verder denk ik dat de touchscreen(s) gezien moeten worden als uitgebreide inputprinten waar verder weinig intelligentie inzit
Daarom zullen we moeten beginnen om de centrale controller te ontwerpen
Geplaatst: za dec 20, 2008 6:38 pm
door Stynus
De print van mijn dimmer is nu af:

Deze print past dan in zo een slot:

Dit is nog niet de definitieve connector. Ik heb er besteld met 12 contacten. Daarmee dat deze te breed is.
Schema en code volgen nog.
Geplaatst: do dec 25, 2008 4:46 pm
door 19roland70
@reddevil ik heb je pindeclaratie gelezen van je GLCD, maar klopt het dan dat jij pin 17 op het display niet gebruikt hebt?
En het touch gedeelte hoe heb je dat voor elkaar gekregen?
Geplaatst: do dec 25, 2008 7:27 pm
door reddevil
Hier ga je meer informatie vinden. Ben momenteel niet meer met dit display bezich omdat het touch gedeelte stuk is. (Met dank aan de katten).Een van deze dagen heb ik een nieuwe en ga ik terug proberen het touch gedeelte aan het werk te krijgen. Heb nu problemen dat de warmte,variaties in de weerstand brengen en ik zo geen goede uitlezing heb.
http://www.mcselec.com/index.php?option=com_content&task=view&id=189&Itemid=57
Geplaatst: ma dec 29, 2008 9:25 pm
door skillalot
Hey,
ik ben nieuw hier op het forum. Ik zit ook vaak op cnczone.nl, daar zie ik ook vaak berichten van djjens voorbij komen.
Ik heb wat spulletjes besteld laatst, en heb nu ook eindelijk de software, proton, om eens aan de slag te gaan met picbasic programmeren.
Nu kwam ik toevallig dit forum met dit topic tegen, en dat lijkt me toch wel leuk om ook mee te experimenteren.
Hoe moeilijk is pic programmeren eigenlijk? Als ik die cursus een beetje volg op picbasic.nl, heb ik dan genoeg kennis om met zoiets mee te denken, of kennen jullie nog meer van zulke vervolgcursussen?
Gr Sascha
Geplaatst: ma dec 29, 2008 9:49 pm
door Stynus
Hoi,
Welkom, we hopen dat je het hier naar je zin hebt.
Als je die cursus volledig hebt gedaan zal je de code die hier bijhoort wel ongeveer gaan snappen denk ik.
Als je snapt hoe het werkt moet code aanpassen naar hoe je het zelf wil ook wel lukken.