Pagina 5 van 28

Geplaatst: 15 december 2008, 20:47
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.
Afbeelding
Afbeelding

Geplaatst: 15 december 2008, 22:47
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: 16 december 2008, 16:24
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: 16 december 2008, 18:03
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: 16 december 2008, 20:10
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: 20 december 2008, 18:38
door Stynus
De print van mijn dimmer is nu af:
Afbeelding
Deze print past dan in zo een slot:
Afbeelding
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: 25 december 2008, 16:46
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: 25 december 2008, 19:27
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: 29 december 2008, 21:25
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: 29 december 2008, 21:49
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.