Nexa & Basic Stamp

Planering och tankar kring eventuella framtida projekt.
blueint
Inlägg: 23238
Blev medlem: 4 juli 2006, 19:26:11
Kontakt:

Inlägg av blueint »

En idé är att koppla ingången till ASK sändaren, till parallellporten och sampla med minst 10 kHz. Använd dock timers för att sampla då moderna CPU är oberäknliga i utförande tid.
v-g
EF Sponsor
Inlägg: 7875
Blev medlem: 25 november 2005, 23:47:53
Ort: Kramforce

Inlägg av v-g »

Har för mig att den "självlärande" har plats för 4 st koder i minnet och man "lär" dem genom att stoppa i kontakten och sen trycka på den sändarknapp vars kod man önskar lära in. Väldigt Lo-tec alltså.

Läste bakpå en på jula så jag kan minnas fel.
Fredrick
Inlägg: 342
Blev medlem: 9 januari 2004, 23:12:33

Inlägg av Fredrick »

Nu har jag fått en 16F872 + en Parallax RF transmitter http://www.parallax.com/Store/Accessori ... roductName
Att fungera tillsammans med NEXAS brytare både självlärande och Code-Swich seriern, den fungerar kanon bra och har mycket längre räckvidd än originalfjärren.

Koden är skriven i PicBasic Pro som jag tyvärr inte kan ta åt mig äran av att ha skrivit på egen hand utan fick den av Bruce på www.renton.com.

Så ja Basic Stamp och parallax transmittern fungerar nog till NEXA dom med, PicBasic koden kanske tom går att köra rakt av i stampen så BasicStamp språket är väldigt likt PicBasic?
Användarvisningsbild
Icecap
Inlägg: 26637
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Inlägg av Icecap »

Om programmet använder timer-interrupt (vilket det ganska troligt gör) fungerar det INTE på BS, använder det loop-timing fungerar det INTE på BS... osv.
Fredrick
Inlägg: 342
Blev medlem: 9 januari 2004, 23:12:33

Inlägg av Fredrick »

Programmet använder inte timer-interrupt, vet inte exakt vad du menar med loop-timing men ja sändkoden består av en loop som som loopar 12 gånger där loopen sänder 1 bit per loop.

Antar att det är det du menar med loop timing?

Varför fungerar det inte i BS men i PBP?
Användarvisningsbild
Icecap
Inlägg: 26637
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Inlägg av Icecap »

Fredrick: vet du ens hur BS fungerar? PBP kompilerar till maskinkod som sedan kör "full patte", BS kör med interpeterat kod vilket ger runt 50k instruktioner/sek som bäst, timingen är alltså under all kritik.
Användarvisningsbild
PHermansson
EF Sponsor
Inlägg: 4340
Blev medlem: 22 december 2004, 00:46:38
Ort: Särestad Grästorp
Kontakt:

Inlägg av PHermansson »

v-g skrev:Har för mig att den "självlärande" har plats för 4 st koder i minnet och man "lär" dem genom att stoppa i kontakten och sen trycka på den sändarknapp vars kod man önskar lära in. Väldigt Lo-tec alltså.

Läste bakpå en på jula så jag kan minnas fel.
Stämmer bra, har en självlärande här. I med den i väggen, tryck tre-fyra gånger på en sändarknapp och vips så har mottagaren lärt sig. Det borde inte ha nån betydelse för sändningen om det är en ny eller gammal mottagare, self-learn fungerar bra med mina gamla icke self-learn fjärrkontroller.
blueint
Inlägg: 23238
Blev medlem: 4 juli 2006, 19:26:11
Kontakt:

Inlägg av blueint »

När glömmer den sin självlärda kod?
Fredrick
Inlägg: 342
Blev medlem: 9 januari 2004, 23:12:33

Inlägg av Fredrick »

När man trycker på "Self Learn" knappen på mottagaren och därefter trycker på fjärrens OFF knapp, då försvinner den kanalens plats i mottagaren. (Gäller de nyare självlärda mottagare)


Annars finns mycket information tillgänglig här www.nexa.se
Fredrick
Inlägg: 342
Blev medlem: 9 januari 2004, 23:12:33

Inlägg av Fredrick »

Här är källkoden till programmet iallafall, om någon är intresserad :)

Kod: Markera allt

Define OSC 20

T CON 350      ' T = 350uS
T3 CON 1050    ' 3T
T32 CON 11200  ' 32T (Stop/Synch)

' Note we're using 1 VS X as shown in text
A1_ON  CON %111000000000 ' 12-bit code for House/Unit A1 ON
A1_OFF CON %011000000000 ' 12-bit code for House/Unit A1 OFF 
'           ||||||||||||____ 4-bit House code
'           ||||||||________ 4-bit Unit code
'           ||||____________ 3-bit Unknown code
'           |_______________ 1-bit Activation code 1=ON 0=OFF 
'
'        House code  Unit Code 
'       ------------------------
'       | 0000 - A | 0000 - 1  |   
'       | X000 - B | X000 - 2  |
'       | 0X00 - C | 0X00 - 3  |
'       | XX00 - D | XX00 - 4  |
'       | 00X0 - E | 00X0 - 5  |
'       | X0X0 - F | X0X0 - 6  |
'       | 0XX0 - G | 0XX0 - 7  |
'       | XXX0 - H | XXX0 - 8  |
'       | 000X - I | 000X - 9  |
'       | X00X - J | X00X - 10 |
'       | 0X0X - K | 0X0X - 11 |
'       | XX0X - L | XX0X - 12 | 
'       | 00XX - M | 00XX - 13 |
'       | X0XX - N | X0XX - 14 |
'       | 0XXX - O | 0XXX - 15 |
'       | XXXX - P | XXXX - 16 |
'       ------------------------

D_PACKET VAR WORD ' Holds 12-bit data packet to send
INDEX VAR BYTE    ' Data packet bit index pointer
LOOPS VAR BYTE    ' Loop counter

TX VAR PORTB.0    ' Connects to RF transmitter data in

LOW TX            ' TX output idles low for RF carrier OFF

Main:
    D_PACKET = A1_ON
    GOSUB Send
    PAUSE 5000
    D_PACKET = A1_OFF
    GOSUB Send
    PAUSE 5000
    GOTO Main
    
Send:
    FOR LOOPS = 1 TO 4    ' send each packet 4 times
      FOR INDEX = 0 TO 11 ' sends 12 bits per pass LSB 1st
        
        HIGH TX           ' The 1st half of a 0 or X  bit period is the
        PAUSEUS T         ' same so no need to repeat this sequence inside
        LOW TX            ' the IF block
        PAUSEUS T3 
        
        IF D_PACKET.0[INDEX]=1 THEN
           HIGH TX        ' send a 1 bit (1=X here)
           PAUSEUS T3
           LOW TX
           PAUSEUS T
        ELSE
           HIGH TX        ' send a 0 bit
           PAUSEUS T
           LOW TX
           PAUSEUS T3
        ENDIF
      NEXT INDEX          ' loop until all 12-bits sent
      
      ' Start of Stop/Synch period after each 12-bit packet
      HIGH TX
      PAUSEUS T
      LOW TX
      PAUSEUS T32
      ' End of Stop/Synch period
      
    NEXT LOOPS        ' send 4 packets per pass
    RETURN
      
    END
Skriv svar