Results 1 to 10 of 10

Thread: Lez's PIC projects:serial based relay controller

  1. #1
    Advanced Member
    Join Date
    May 2005
    Posts
    6,071

    Lez's PIC projects:serial based relay controller

    Brought about after failing to compleat the mp3 car pic based serial relay project because everyone wants a different toy but they all want it ready in a box....


    This aint that type of project.

    This will be simple serial control of 8 relays, the pic has 2 control wires that talk serial data and has a simple command of on/off etc

    only two wires (ie 1 com port) need to control 26 boards

    The hex for the pic, the asm, and the basic, plus a pcb design, can all now be found here...


    **** WARNING *****

    The board at this URL has an issue, you need to add a resistor (1k or less etc) from pin 4 to 14, or just a wire will do.

    Thanks to optczr over at mp3car for spotting that and the invaluable work he has done in duplicating this design and spotting that!

    Also RA0 and RA1 on the pcb have been swapped to RA1 RA2 etc, dont know how, shoot me, either swap the pins or re-compile the code for now

    I will fix this from revision 9 onwards, no major changes, just revision 9 will fit 4 boards onto a 8*4 blank etc, saves on pcb blanks that way


    http://homepage.ntlworld.com/tinabri...purpose_board/

    And heres the basic if you want to compile your own........








    '================================================= ============
    '================================================= ============
    '
    ' PIC16F88 PIC For serial relay control / input
    '
    '================================================= ============
    '
    ' Allows control of a pic16f84/88 port b via serial from host pc
    '
    ' This code is not 'clean and tidy' its fully functional
    ' lots of bad ways are use to save on code space like
    ' using GOSUB and not RETURN but using a GOTO into
    ' the middle of some other code to save duplication
    ' and getting a return for free.
    '
    ' Read, enjoy, laugh, drink vodka
    '
    '================================================= ============
    '================================================= ============
    '
    '
    ' connect to serial and use 2400 8n1 no handshakes
    '
    '
    'MPB_AS will read the status
    '
    'MPB_AM0 will set output mode
    'MPB_AM1 will set INPUT+OUTPUT mode
    'MPB_AM2 will set INPUT mode
    '
    'MPB_Axy WHERE X IS A PIN NUMBER 0 TO 7 AND y IS (R)EAD (0) OR (1)
    '
    'MPB_ADD set autoload to 'default' eeprom value
    'MPB_ADL set autoload to 'last' eeprom value
    'MPB_ADN set autoload to 'dont bother'
    'MPB_ADS set 'default' eeprom to current output
    'MPB_AD1 set output to the 'default' eeprom value







    INCLUDE "bs2defs.bas"

    'CMCON = 7 ' not for16f84
    'ANSEL = 0 ' not for 16f84
    'OSCCON = %01110000 ' set internal osc to 8 MHZ If not using a 4mhz xtal
    'ADCON1 = 7 ' PORTA digital


    ' setup variables
    rout VAR b9 'relay number storage variable
    onoff VAR b8 'relay status ON/OFF variable
    boardmode var b6
    x var b5
    y var b4
    z var b3

    serpincntl VAR porta.0 'serial input pin
    serpinreply var porta.1




    ' initial eepromdata is as follows
    ' location value explanation
    '
    ' 0 65 This chips unique access code, can be changed by command
    ' 1 0 port direction, 0=all output,1=4+4,2=all input
    ' 2 0 coms speed - initial speed 2400 (0=2400,1=9600)
    ' 3 1 autoload last relay status and set on power up. 0=no 1=yes 2=use default
    ' 4 5 last relay status
    ' 5 12 default relay status

    eeprom 0,[65,0,0,1,5,12,"mpb "] ' default values for a fresh programmed pic.
    eeprom 10,["err port pin"]
    eeprom 22,[" is input***"] ' message storage aspicbasic has no string
    eeprom 34,["mode not set "]
    eeprom 47,["default OKoutput*"] ' functions and saves on ram to put them here












    ' setup hardware from power on state

    trisa = %11110001 ' everything as an input except serout and led
    trisb = 255 ' input so all led's relays off etc
    porta.3 = 1 ' light led to show power up
    porta.2 = 0 ' led off not ready for a command yet





    gosub hworld ' print board nameand id

    gosub scrlf ' print a <crlf>

    GOSUB SETBMODE ' setup the boards port


    '************ start of load default relay values *******************


    read 3,x ' eeprom byte 3 tells us how to set the relays
    read 1,y ' and byte 1 if port is all input.
    portb = 0 ' turn all relays off to start


    if x=0 then noautoload ' just go to start if not autoloading
    if y=2 then noautoload ' just go to start if all input

    x=43:y=45
    gosub sout ' print the word set
    b0="t"
    gosub sout1 ' (set) + T
    b0="i"
    gosub sout1 ' TI
    b0="n"
    gosub sout1 ' TIN
    b0="g"
    gosub sout1 ' (set)TING !
    gosub sspce

    read 3,b3
    if b3=1 then lastrelay '

    read 5,b3 ' if we get to this point, we are going to set the
    ' default relay values from the eeprom

    write 4,b3 ' If we are going to set defaults then we can also
    ' change last values to the default now.
    ' by doing this it saves on code as now we can
    ' fall through into the last relay code and let it
    ' write to the port for us, or it would look like this
    '
    ' read 5,b3
    ' portb = b3
    ' gosub dout
    ' gosub sspace
    ' goto noautoload
    gosub dout ' send the word output backto the pc
    gosub sspce ' send a space


    lastrelay:

    read 4,b3 ' read the last relay values

    portb = b3 ' write the value out the port.

    read 3,b3
    if b3=2 then noautoload
    gosub last


    noautoload:


    x=57:y=63 ' print the word output
    gosub sout
    read 4,y
    gosub sbins ' print the value of the port
    GOSUB SCRLF



    ' ************ End of load default relay *******************






    ' star of main code *****************************************




    loop1:

    porta.2=1 ' turn on waiting for command led
    nodata:

    y = portb ' read the port b latch to get value of outputs
    write 4,y ' store the portb value in the eeprom






    ' Wait for incoming data, putboard ID char
    ' from eeprom(0) into x so we know its this board

    read 0,x
    SERIN porta.0,N2400,["MPB_",x],rout,onoff








    porta.2=0 ' turn off led to show command received





    if rout = "S" then stats ' query board status
    if rout = "W" then ledsout ' set all leds to asciivalue of onoff
    if rout = "D" then ledsdef ' set led's to default
    if rout = "R" then rall ' going to read all pins or led value
    if rout = "M" then bmdechng ' change IO mode of board
    if rout = "I" then idchnge ' change IO mode of board

    if onoff="R" then rpin ' goingtoread a pin

    if onoff="0" then over ' should be just a standard write but error
    if onoff="1" then over ' check that its 1 or 0
    goto erin
    over:
    read 1,b0
    if b0=2 then badwrite ' IF MODE IS ALL INPUT THEN SHOULD NOT BE HERE
    IF rout = "0" THEN led0
    IF rout = "1" THEN led1
    IF rout = "2" THEN led2
    IF rout = "3" THEN led3

    read 1,b0
    if b0=1 then badwrite ' BOARD IS HALF INPUT SHOULD NOT BE WRITING TO UPPER

    IF rout = "4" THEN led4
    IF rout = "5" THEN led5
    IF rout = "6" THEN led6
    IF rout = "7" THEN led7



    erin:

    gosub idstring
    gosub pinp
    gosub sspce
    x=10:y=12
    gosub sout
    gosub scrlf
    goto loop1

    bmdechng:

    if onoff="0" then bm0
    if onoff="1" then bm1
    if onoff="2" then bm2
    goto erin

    bm0:
    write 1,0
    write 4,0
    portb=0
    gOSUB SETBMODE
    goto loop1

    bm1:
    write 1,1
    write 4,0
    portb=0
    gosub setbmode
    goto loop1

    bm2:
    write 1,2
    write 4,0
    gosub setbmode
    goto loop1



    gotoloop1

    badwrite:

    gosub idstring

    x=10:y=30
    gosub sout
    gosub scrlf
    goto loop1

    pok:
    gosub sok
    goto loop1



    rpin:

    read 1,b0

    if b0=0 then badread

    IF rout = "4" THEN inp4
    IF rout = "5" THEN inp5
    IF rout = "6" THEN inp6
    IF rout = "7" THEN inp7

    read 1,b0
    if b0=1 then badread


    IF rout = "0" THEN inp0
    IF rout = "1" THEN inp1
    IF rout = "2" THEN inp2
    IF rout = "3" THEN inp3


    badread:

    gosub idstring

    x=10:y=25
    gosub sout

    gosub pout
    gosub scrlf
    goto loop1

    sen: ' send back the value of a read pin......

    gosub idstring
    x=14:y=25
    gosub sout
    return

    sen2:
    gosub sen3
    GOSUB SCRLF
    goto loop1

    sen3:
    b0=b0+48
    goto sout1

    inp0:
    gosub sen
    b0=portb.0
    goto sen2

    inp1:
    gosub sen
    b0=portb.1
    goto sen2

    inp2:
    gosub sen
    b0=portb.2
    goto sen2

    inp3:
    gosub sen
    b0=portb.3
    goto sen2

    inp4:
    gosub sen
    b0=portb.4
    goto sen2

    inp5:
    gosub sen
    b0=portb.5
    goto sen2

    inp6:
    gosub sen
    b0=portb.6
    goto sen2

    inp7:
    gosub sen
    b0=portb.7
    goto sen2



    rall:

    gosub sen
    b0=portb.7
    gosub sen3
    b0=portb.6
    gosub sen3
    b0=portb.5
    gosub sen3
    b0=portb.4
    gosub sen3
    b0=portb.3
    gosub sen3
    b0=portb.2
    gosub sen3
    b0=portb.1
    gosub sen3
    b0=portb.0
    gosub sen3
    GOSUB SSPCE
    GOSUB SOK
    GOSUB SCRLF
    goto loop1


    '-------------------- end of part1, please stay tuned for a few words from our sponsors
    Last edited by flez1966; 14-02-2007 at 21:46.

  2. #2
    Advanced Member
    Join Date
    May 2005
    Posts
    6,071
    '-------------------- Welcome back to the next instalment of our exciting project

    stats:

    gosub idstring

    gosub dout
    gosub sspce
    read 5,y
    gosub sbins
    gosub sspce
    gosub last
    read 4,y
    gosub sbins
    gosub sspce
    gosub setbmode2

    goto loop1



    ledsout:

    write 4,onoff
    portb=onoff
    GOSUB SOK
    GOSUB SCRLF
    goto loop1

    ledsdef:

    if onoff="D" then setautoloadd
    if onoff="L" then setautoloadl
    if onoff="S" then setdef
    if onoff="N" then nodef
    if onoff="1" then outputdef

    goto erin

    outputdef:


    read 5,b0 ' get current value
    write 4,b0 ' store it in the default
    PORTB = B0
    gosub sok ' back to loop
    gosub scrlf

    goto loop1

    nodef:
    write 3,0
    x=43:y=54 ' print msg set default
    gosub sout ' back to loop
    ' b0="t"
    ' gosub sout1
    ' b0="o"
    ' gosub sout1
    ' gosub sspce

    b0="n"
    gosub sout1
    b0="o"
    gosub sout1
    b0="n"
    gosub sout1
    b0="e"
    gosub sout1

    gosub scrlf
    goto loop1

    setautoloadl:
    write 3,1
    x=43:y=54 ' print msg set default
    gosub sout ' back to loop
    b0="t"
    gosub sout1
    b0="o"
    gosub sout1
    gosub sspce
    gosub last
    gosub scrlf
    goto loop1

    setautoloadd:
    write 3,2
    x=43:y=54 ' print msg set default
    gosub sout ' back to loop
    b0="t"
    gosub sout1
    b0="o"
    gosub sout1
    x=46:y=54 ' print default ok
    gosub sout ' back to loop
    gosub scrlf

    goto loop1

    setdef: ' set value of default


    read 4,b0 ' get current value
    write 5,b0 ' store it in the default
    x=43:y=54 ' print msg set default
    gosub sout ' back to loop
    read 4,y
    gosub sbins
    GOSUB SSPCE
    gosub sok
    gosub scrlf


    goto loop1

    led99:

    gosub sok
    gosub scrlf
    goto loop1

    led0:



    IF onoff = "1" THEN
    portb.0=1

    else
    portb.0=0

    endif

    goto led99


    led1:

    IF onoff = "1" THEN
    portb.1=1
    else
    portb.1=0
    endif

    goto led99

    led2:
    IF onoff = "1" THEN
    portb.2=1
    else
    portb.2=0
    endif
    goto led99

    led3:
    IF onoff = "1" THEN
    portb.3=1
    else
    portb.3=0
    endif
    goto led99

    led4:
    IF onoff = "1" THEN
    portb.4=1
    else
    portb.4=0
    endif
    goto led99

    led5:
    IF onoff = "1" THEN
    portb.5=1
    else
    portb.5=0
    endif
    goto led99

    led6:
    IF onoff = "1" THEN
    portb.6=1
    else
    portb.6=0
    endif
    goto led99

    led7:
    IF onoff = "1" THEN
    portb.7=1
    else
    portb.7=0
    endif
    goto led99







    SETBMODE:


    gosub idstring ' print ioboard
    setbmode2:

    x=14:y=18
    gosub sout ' port
    x=34:y=38
    gosub sout ' mode
    x=23:y=25
    gosub sout ' is



    read 1,boardmode ' now its time toset the I/O setup and relay values

    ' Set port according to eeprom data



    if boardmode=0 then itszero
    if boardmode=1 then itsone

    trisb=255 ' io mode is not 0 or 1, so set all input
    gosub pinp ' display input
    goto modeset


    itszero: ' io mode is 0, all output

    trisb=0

    gosub pout

    goto modeset


    itsone: ' io mode is 1,half input half output

    trisb=240 ' set trisb to nibbles
    gosub pinp ' print the word input
    b0=43 ' +
    gosub sout1 ' print the word output
    gosub pout



    modeset:






    gosub scrlf

    RETURN

    idchnge:
    if onoff<"A" then erin
    if onoff>"Z" then erin

    write 0,onoff
    goto loop1



    ' ************** Serial out routine
    ' x and y point to start and end of string
    ' in eprom data area, z used to count.
    '





    sout:
    FOR Z=X TO Y
    read Z,b0
    gosub sout1
    NEXT Z
    return

    sout1:
    serout porta.1, N2400,[b0]
    return











    sbins:

    ' ****** convert y to binary string and serial send.....


    x=128
    gosub conv
    x=64
    gosub conv
    x=32
    gosub conv
    x=16
    gosub conv
    x=8
    gosub conv
    x=4
    gosub conv
    x=2
    gosub conv
    x=1

    conv:
    if y>=x then
    y=y-x
    b0="1"
    gosub sout1
    else
    b0="0"
    gosub sout1
    endif
    return




    ' ************************************************** ******************
    '
    ' String output routines
    '
    '


    dout:

    x=47:y=53
    goto sout ' default


    pout: ' Print output
    x=57:y=62 ' output
    goto sout

    pinp

    x=26:y=30 ' input
    goto sout


    sspce: ' print a space

    b0=32
    goto sout1


    sok:
    x=55:Y=56 ' print ok
    goto sout


    scrlf:
    B0=10
    goSUB sout1 'print crlf
    B0=13
    GOTO SOUT1


    hworld:

    gosub idstring ' print board id

    gosub sspce ' print a space
    gosub sok ' print ok
    goto scrlf ' do a crlf


    idstring:
    x=6:Y=9 ' print MPB<SPACE>
    gosub sout
    read 0,b0
    gosub sout1
    goto sspce



    last:
    b0="l"
    gosub sout1
    b0="a"
    gosub sout1
    b0="s"
    gosub sout1
    b0="t"
    gosub sout1
    goto sspce


    '------------------------------------------------ EOF

    updated 060429

  3. #3
    Advanced Member
    Join Date
    May 2005
    Posts
    6,071
    place holder for updates / fixes etc


    Current version

    http://homepage.ntlworld.com/tinabri...purpose_board/




    If you want an IO line to switch a relay, then on that line on the board fit a 560 ohm resistor and an npn transistor, with a .1uf cap acros the transistor E and C, board is designed for that, if its to be an input, then fit a resistor of about 1k and another .1uF cap to debounce it, board has space for that, once you have decided at the hardware level which are going to be inputs/outputs, you send the command to the pic to set it, the you can read/write to io lines etc as you wish, its very very modular.
    Last edited by flez1966; 03-01-2007 at 11:27.

  4. #4
    Advanced Member Scouse Monkey's Avatar
    Join Date
    Sep 2004
    Location
    Bristol
    Posts
    27,596
    cool lez. been looking at this type of thing for contrilling my hU from the pc.

    how does yours compare to this? http://www.rentron.com/PIC16F84.htm

  5. #5
    Advanced Member
    Join Date
    May 2005
    Posts
    6,071
    funnily enough I looked at that then started on mine, its /almost/ the same thing, but that circuit is 'dumb' you dont get any feedback, and it only does output, mine responds to commands, and can be told to do input/output or half of each.

    Command format is simple enough to implantable into frontends etc

    MPB_AS will read the status

    MPB_AM0 will set output mode
    MPB_AM1 will set INPUT+OUTPUT mode
    MPB_AM2 will set INPUT mode

    MPB_Axy WHERE X IS A PIN NUMBER 0 TO 7 AND y IS (R)EAD (0) OR (1)


    boards respond ok or error etc, work in hyperterminal type programs, basic etc, but not windows hyperterminal(dont ask)


    The transistor output stage is 'very similar' also as its a standard design concept since about 1970, the board design on my page has space for transistors and other bits depending on how its built/ intended to be fitted.

    I really should /buy/ 50mb of webspace somewhere so I can host my sites better than free isp space, as evertime I change isp etc...

    actually if your controlling a headunit then dump the transistors and use a cd4066(IIRC)
    Last edited by flez1966; 30-04-2006 at 19:59.

  6. #6
    Advanced Member MC_Stoo's Avatar
    Join Date
    Apr 2004
    Location
    Manchester UK
    Posts
    5,155
    Quote Originally Posted by lez
    '-------------------- Welcome back to the next instalment of our exciting project

    stats:

    gosub idstring

    gosub dout
    gosub sspce
    read 5,y
    gosub sbins
    gosub sspce
    gosub last
    read 4,y
    gosub sbins
    gosub sspce
    gosub setbmode2

    goto loop1



    ledsout:

    write 4,onoff
    portb=onoff
    GOSUB SOK
    GOSUB SCRLF
    goto loop1

    ledsdef:

    if onoff="D" then setautoloadd
    if onoff="L" then setautoloadl
    if onoff="S" then setdef
    if onoff="N" then nodef
    if onoff="1" then outputdef

    goto erin

    outputdef:


    read 5,b0 ' get current value
    write 4,b0 ' store it in the default
    PORTB = B0
    gosub sok ' back to loop
    gosub scrlf

    goto loop1

    nodef:
    write 3,0
    x=43:y=54 ' print msg set default
    gosub sout ' back to loop
    ' b0="t"
    ' gosub sout1
    ' b0="o"
    ' gosub sout1
    ' gosub sspce

    b0="n"
    gosub sout1
    b0="o"
    gosub sout1
    b0="n"
    gosub sout1
    b0="e"
    gosub sout1

    gosub scrlf
    goto loop1

    setautoloadl:
    write 3,1
    x=43:y=54 ' print msg set default
    gosub sout ' back to loop
    b0="t"
    gosub sout1
    b0="o"
    gosub sout1
    gosub sspce
    gosub last
    gosub scrlf
    goto loop1

    setautoloadd:
    write 3,2
    x=43:y=54 ' print msg set default
    gosub sout ' back to loop
    b0="t"
    gosub sout1
    b0="o"
    gosub sout1
    x=46:y=54 ' print default ok
    gosub sout ' back to loop
    gosub scrlf

    goto loop1

    setdef: ' set value of default


    read 4,b0 ' get current value
    write 5,b0 ' store it in the default
    x=43:y=54 ' print msg set default
    gosub sout ' back to loop
    read 4,y
    gosub sbins
    GOSUB SSPCE
    gosub sok
    gosub scrlf


    goto loop1

    led99:

    gosub sok
    gosub scrlf
    goto loop1

    led0:



    IF onoff = "1" THEN
    portb.0=1

    else
    portb.0=0

    endif

    goto led99


    led1:

    IF onoff = "1" THEN
    portb.1=1
    else
    portb.1=0
    endif

    goto led99

    led2:
    IF onoff = "1" THEN
    portb.2=1
    else
    portb.2=0
    endif
    goto led99

    led3:
    IF onoff = "1" THEN
    portb.3=1
    else
    portb.3=0
    endif
    goto led99

    led4:
    IF onoff = "1" THEN
    portb.4=1
    else
    portb.4=0
    endif
    goto led99

    led5:
    IF onoff = "1" THEN
    portb.5=1
    else
    portb.5=0
    endif
    goto led99

    led6:
    IF onoff = "1" THEN
    portb.6=1
    else
    portb.6=0
    endif
    goto led99

    led7:
    IF onoff = "1" THEN
    portb.7=1
    else
    portb.7=0
    endif
    goto led99







    SETBMODE:


    gosub idstring ' print ioboard
    setbmode2:

    x=14:y=18
    gosub sout ' port
    x=34:y=38
    gosub sout ' mode
    x=23:y=25
    gosub sout ' is



    read 1,boardmode ' now its time toset the I/O setup and relay values

    ' Set port according to eeprom data



    if boardmode=0 then itszero
    if boardmode=1 then itsone

    trisb=255 ' io mode is not 0 or 1, so set all input
    gosub pinp ' display input
    goto modeset


    itszero: ' io mode is 0, all output

    trisb=0

    gosub pout

    goto modeset


    itsone: ' io mode is 1,half input half output

    trisb=240 ' set trisb to nibbles
    gosub pinp ' print the word input
    b0=43 ' +
    gosub sout1 ' print the word output
    gosub pout



    modeset:






    gosub scrlf

    RETURN

    idchnge:
    if onoff<"A" then erin
    if onoff>"Z" then erin

    write 0,onoff
    goto loop1



    ' ************** Serial out routine
    ' x and y point to start and end of string
    ' in eprom data area, z used to count.
    '





    sout:
    FOR Z=X TO Y
    read Z,b0
    gosub sout1
    NEXT Z
    return

    sout1:
    serout porta.1, N2400,[b0]
    return











    sbins:

    ' ****** convert y to binary string and serial send.....


    x=128
    gosub conv
    x=64
    gosub conv
    x=32
    gosub conv
    x=16
    gosub conv
    x=8
    gosub conv
    x=4
    gosub conv
    x=2
    gosub conv
    x=1

    conv:
    if y>=x then
    y=y-x
    b0="1"
    gosub sout1
    else
    b0="0"
    gosub sout1
    endif
    return




    ' ************************************************** ******************
    '
    ' String output routines
    '
    '


    dout:

    x=47:y=53
    goto sout ' default


    pout: ' Print output
    x=57:y=62 ' output
    goto sout

    pinp

    x=26:y=30 ' input
    goto sout


    sspce: ' print a space

    b0=32
    goto sout1


    sok:
    x=55:Y=56 ' print ok
    goto sout


    scrlf:
    B0=10
    goSUB sout1 'print crlf
    B0=13
    GOTO SOUT1


    hworld:

    gosub idstring ' print board id

    gosub sspce ' print a space
    gosub sok ' print ok
    goto scrlf ' do a crlf


    idstring:
    x=6:Y=9 ' print MPB<SPACE>
    gosub sout
    read 0,b0
    gosub sout1
    goto sspce



    last:
    b0="l"
    gosub sout1
    b0="a"
    gosub sout1
    b0="s"
    gosub sout1
    b0="t"
    gosub sout1
    goto sspce


    '------------------------------------------------ EOF

    updated 060429
    Waaaaaayyy over my head

    My Farcebook Page| Best Dashboard Install 2005 & 2007 ::::car now sold::::

  7. #7
    Advanced Member
    Join Date
    May 2005
    Posts
    6,071
    lol like the quote.......

    It was easier to paste it in then to link it for download, as I had no where to put it, I change internet providers whenever I get skint, so often things go missing, what I really should do is /buy/ some space, but its stupidly priced. I get 55mb free with my isp, but to buy that would cost more that what my broadband costs.



    just been looking, 500mb, 10gb monthly txfer, about 30 quid for the year, may go with that........

  8. #8
    Advanced Member ~Rob's Avatar
    Join Date
    Apr 2006
    Location
    Cambridge, UK
    Posts
    15,087
    I can host for a little while, but my domain name is www.hillbilly-clan.co.uk - which is quite long...
    ~Rob - Proving more posts don't mean more knowledge

  9. #9
    Advanced Member
    Join Date
    May 2005
    Posts
    6,071
    T'is ok, been looking at some cheap places now, about 25 quid for a year, should do fine.

  10. #10
    Advanced Member
    Join Date
    May 2005
    Posts
    6,071
    **** WARNING *****

    The board at the URL provided in post 1 has an issue, you need to add a resistor (1k or less etc) from pin 4 to 14, or just a wire will do.

    Thanks to optczr over at mp3car for spotting that and the invaluable work he has done in duplicating this design and spotting that!

    Also RA0 and RA1 on the pcb have been swapped to RA1 RA2 etc, dont know how, shoot me, either swap the pins or re-compile the code for now

    I will fix this from revision 9 onwards, no major changes, just revision 9 will fit 4 boards onto a 8*4 blank etc, saves on pcb blanks that way

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. Lez's PIC projects:serial sms based car controller
    By flez1966 in forum Development
    Replies: 46
    Last Post: 25-01-2008, 21:47
  2. Lez's PIC projects:serial based window control
    By flez1966 in forum Development
    Replies: 8
    Last Post: 08-11-2006, 21:16
  3. DIY Serial iDrive Controller?
    By affie in forum Input
    Replies: 3
    Last Post: 14-10-2006, 20:32
  4. Lez's PIC projects:serial controlled DAB
    By flez1966 in forum Development
    Replies: 0
    Last Post: 06-01-2006, 08:50
  5. Lez's PIC projects:serial based mini relays
    By flez1966 in forum Development
    Replies: 0
    Last Post: 06-01-2006, 08:43

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •