Tinus016
www.tinuselectronics.nl Because DIY Electronics Matters!!!!
Hoi mede Co'ers,
Ben nu alle een 2 dagen aan het rommelen met 433Mhz zendertjes die Niels op SK verkoopt. Het is de bedoeling dat dit een aantal buiten lapen haat bedienen in de tuin dit omdat er verkeerde kabels leggen en ze op verschillen de groepen zitten. Ik krijg ze alleen maar niet aan de praat ik heb de zoekmachine van deze site al geprobeerd, veel wordt er verwezen naar deze post. Toch krijg ik dit niet werkend. Wat doe ik verkeert?
Hier onder nog even mijn volledige zender code: (Om te testen)
De ontvanger code heb ik zo overgenomen.
DEVICE 16F628A ; Gebruik een 16F628A type
CONFIG WDT_OFF, PWRTE_ON, LVP_OFF, MCLRE_OFF, HS_OSC ; INTRC_OSC_NOCLKOUT verwijderd
XTAL 4
ALL_DIGITAL TRUE ; Alle ingangen digitaal
DIM Teller AS BYTE
SYMBOL SerieelUit = PORTA.1
SYMBOL Snelheid = 17197
; 76543210
PORTA = %00000000 ;PORTA poorten LAAG
PORTB = %00000000 ;PORTB poorten laag
TRISA = %11111101 ;A.1 is uitgang voor de SEROUT
TRISB = %11111111 ;Alles is een ingang
DELAYMS 1000
WHILE 1 = 1
SEROUT SerieelUit,Snelheid, ["AAAAAAAA", "P", "W", Teller, 20]
DELAYMS 500
INC Teller
IF Teller = 250 THEN
CLEAR Teller
ENDIF
WEND
END
Wie heeft er een idee?
marcob
Honourable Member
People tend to overestimate what can be done in one year and to underestimate what can be done in five or ten years
Wat werkt er niet? Wat ik tijdens het testen heb gedaan, is de data doorsturen naar de COM poort van de PC. Zie je welke data er wel binnen komt.
Een bekend probleem is dat de ontvanger en zender te dicht bij elkaar liggen. Wanneer je de 433 modules verwijdert en de twee met een draad verbindt, werkt het dan wel?
Die van Niels moet je echt gecodeerd aansturen.. Meen dat het Manchester heet.. Als je daar op zoekt kan je al een eind verder komen..
Zo mooi als jij het nu gedaan hebt hoopte ik ook dat het kon.. Helaassss.
Sjoerd Kreyns
Golden Member
SMD weerstandjes zoeken in grijze vloerbedekking is ook een uitdaging ... 8*1=255 ... Het nadeel van ruimte: Als je het hebt, staat het binnen de kortste keren weer vol.
Dat is toevallig!
Ik ben ook ermee bezig.
Ik heb deze code in ASM. Hier maken ze niet gebruik van een USART, maar versturen ze gewoon een 0 als 400uSec en een 1 als 200uSec, met een startpuls van 5MSec.
;=================================================================================
RF_LEES_BERICHT
bcf STOPPEN
movlw D'180' ;eerst kijken of RF_IN langer dan 1ms hoog is
movwf TELLER_2
rf_lees_bericht_1
btfss RF_IN ;direkt stoppen als ...
goto rf_lees_bericht_fout;... RF_IN binnen 4,7ms weer laag wordt
movlw D'4' ;dan nu even 20us wachten ...
call WACHT_5us
decfsz TELLER_2,1 ;... en dat 180 keer herhalen (180x26us=4680 us)
goto rf_lees_bericht_1
movlw D'120' ;max. 120x5=600us kijken of RF_IN weer laag wordt
movwf TELLER_1
rf_lees_bericht_2
btfss RF_IN ;als RF_IN tijdig weer laag is ...
goto rf_lees_bericht_3 ;... dan verder gaan en eerste byte lezen
decfsz TELLER_1,1
goto rf_lees_bericht_2
goto rf_lees_bericht_fout;als je hier komt dan heeft het te lang geduurd
rf_lees_bericht_3 ;we gaan nu bericht inlezen
clrf RF_CRC ;vanaf hier CRC berekenen
call RF_LEES_BYTE ;verstuurde RF ID (geadresseerde) inlezen en ...
btfsc STOPPEN ;... als iets fout gegaan, dan stoppen
goto rf_lees_bericht_fout
btfss STATUS,Z ;als ontvangen RF_ID ongelijk aan 0 ...
goto rf_lees_bericht_fout;... dan stoppen
bsf LED_ROOD
bcf LED_GROEN
call RF_LEES_BYTE ;eerste databyte inlezen en ...
btfsc STOPPEN ;... als iets fout gegaan, dan stoppen
goto rf_lees_bericht_fout
movwf RF_BYTE_IN_1
call RF_LEES_BYTE ;tweede databyte inlezen en ...
btfsc STOPPEN ;... als iets fout gegaan, dan stoppen
goto rf_lees_bericht_fout
movwf RF_BYTE_IN_2
call RF_LEES_BYTE ;derde databyte inlezen en ...
btfsc STOPPEN ;... als iets fout gegaan, dan stoppen
goto rf_lees_bericht_fout
movwf RF_BYTE_IN_3
call RF_LEES_BYTE ;vierde inlezen en ...
btfsc STOPPEN ;... als iets fout gegaan, dan stoppen
goto rf_lees_bericht_fout
movwf RF_BYTE_IN_4
call RF_LEES_BYTE ;CRC inlezen en ...
btfsc STOPPEN ;... als iets fout gegaan, dan stoppen
goto rf_lees_bericht_fout
movf RF_CRC,1 ;hier CRC controleren: moet nu 0 zijn ...
btfss STATUS,Z ;... anders fout
goto rf_lees_bericht_fout
bsf RF_GEW
goto rf_lees_bericht_eind
rf_lees_bericht_fout
bsf STOPPEN
rf_lees_bericht_eind
return
;=================================================================================
RF_SCHRIJF_BERICHT
movlw D'3' ;het RF bericht 3 keer versturen
movwf AANTAL
rf_schrijf_bericht_1
bsf RF_UIT ;startpuls genereren door RF_UIT gedurende ...
movlw D'5' ;... 5x200x5=5ms actief te maken
movwf TELLER_2
rf_schrijf_bericht_2
movlw D'200'
call WACHT_5us
decfsz TELLER_2,1
goto rf_schrijf_bericht_2
clrf RF_CRC ;vanaf hier gaan we de CRC berekenen
movf RF_ID,0
call RF_SCHRIJF_BYTE ;RF_ID versturen
movf RF_BYTE_UIT_1,0
call RF_SCHRIJF_BYTE ;eerste byte versturen
movf RF_BYTE_UIT_2,0
call RF_SCHRIJF_BYTE ;tweede byte versturen
movf RF_BYTE_UIT_3,0
call RF_SCHRIJF_BYTE ;derde byte versturen
movf RF_BYTE_UIT_4,0
call RF_SCHRIJF_BYTE ;vierde byte versturen
movf RF_CRC,0
call RF_SCHRIJF_BYTE ;opgebouwde CRC versturen
bcf RF_UIT ;RF_UIT weer los laten
movlw D'200' ;na RF bericht even 1ms rust inbouwen
call WACHT_5us
decfsz AANTAL,1
goto rf_schrijf_bericht_1
return
;=================================================================================
RF_LEES_BYTE
movlw D'8' ;we gaan nu D0-D7 inlezen ...
movwf BIT_NR ;... en houden de teller hiervoor in BIT_NR bij
rf_lees_byte_1
rrf BYTE,1 ;bits in BYTE 1 positie naar links schuiven
movlw D'100' ;100x5=500us wachten en dan bit inlezen
call WACHT_5us
btfss RF_IN ;als RF_IN nu hoog is ...
goto rf_lees_byte_2
bsf BYTE,7 ;... dan rechter bit in BYTE '1' maken ...
bsf BIT
goto rf_lees_byte_3
rf_lees_byte_2
bcf BYTE,7 ;... anders rechtbit '0' laten en ...
bcf BIT
movlw D'80' ;... nog 400 us wachten ...
call WACHT_5us ;... (RF_IN is dan weer hoog geworden)
btfss RF_IN ;als RF_IN dan niet hoog, ...
goto rf_lees_byte_fout ;... dan foutsituatie en stoppen
rf_lees_byte_3
movlw D'40' ;maximaal 200us wachten tot datalijn ...
movwf TELLER_1 ;... weer laag geworden is
rf_lees_byte_4
btfss RF_IN
goto rf_lees_byte_7
decfsz TELLER_1,1
goto rf_lees_byte_4
movf BIT_NR,0 ;als je hier komt dan heeft het te lang ...
sublw D'1' ;... geduurd voordat RF_IN weer laag werd, ...
btfss STATUS,Z ;... behalve bij de laatste bit, ...
goto rf_lees_byte_fout ;... daar mag het maximaal ...
movlw D'250' ;... 250x250x5=0,3 sec. duren
movwf TELLER_2
rf_lees_byte_5
movlw D'250'
movwf TELLER_1
rf_lees_byte_6
btfss RF_IN
goto rf_lees_byte_7
decfsz TELLER_1,1
goto rf_lees_byte_6
decfsz TELLER_2,1
goto rf_lees_byte_5
goto rf_lees_byte_fout ;als RF_IN dan nog niet laag, dan alsnog afbreken
rf_lees_byte_7
call CRC_BEREKENEN ;CRC aanpassen op basis van laatste bit (BYTE,0)
decfsz BIT_NR,1 ;aftellen tot BIT_NR=0
goto rf_lees_byte_1
movf BYTE,0 ;BYTE klaar zetten in werkgeheugen
goto rf_lees_byte_eind
rf_lees_byte_fout
bsf STOPPEN
rf_lees_byte_eind
return
;=================================================================================
RF_SCHRIJF_BYTE
movwf BYTE ;inhoud werkgeheugen in BYTE bewaren
movlw D'8' ;we gaan nu D0-D7 wegschrijven ...
movwf BIT_NR ;... en houden de teller hiervoor in BIT_NR bij
rf_schrijf_byte_1
bcf RF_UIT ;RF zender eerst uitschakelen gedurende ...
movlw D'40' ;... 40x5=200us
call WACHT_5us
movlw D'80'
bsf BIT ;onderhanden BIT = '1'
btfsc BYTE,0 ;echter als '0' versturen ...
goto rf_schrijf_byte_2
call WACHT_5us ;... dan nog eens 80x5=400us uit laten ...
bcf BIT ;... en BIT wordt '0'
rf_schrijf_byte_2
bsf RF_UIT ;RF zender weer inschakelen ...
movlw D'80' ;... gedurende 80x5=400us
call WACHT_5us
call CRC_BEREKENEN ;bit verwerken in nieuwe CRC
rrf BYTE,1 ;bits in BYTE 1 positie naar links schuiven
decfsz BIT_NR,1 ;aftellen tot BIT_NR=0
goto rf_schrijf_byte_1
return
;=================================================================================
CRC_BEREKENEN ;berekent CRC op basis van de bit BYTE,7
btfsc BIT
goto crc_bit_1
crc_bit_0
btfsc RF_CRC,0
goto crc_bit_ongelijk
goto crc_bit_gelijk
crc_bit_1
btfss RF_CRC,0
goto crc_bit_ongelijk
crc_bit_gelijk
rrf RF_CRC,1 ;verschuif bits in CRC 1 positie naar rechts
bcf RF_CRC,7 ;MSB van CRC leeg maken
goto crc_berekenen_eind
crc_bit_ongelijk
rrf RF_CRC,1 ;move bits in CRC 1 position to right
bcf RF_CRC,7 ;clear MSB van CRC leeg maken
movlw B'10001100' ;XOR bits 2,3 and 7 of CRC
xorwf RF_CRC,1
crc_berekenen_eind
return
;=================================================================================
WACHT_5us ;wacht WORKSPACE x 5 us (incl. call, minimaal 2)
addlw D'255'
movwf TELLER_1
wacht_5us_1
nop
nop
decfsz TELLER_1,1
goto wacht_5us_1
return
;==================
WACHT_4us ;wacht 4 us (inclusief call)
return
;=================================================================================
THE_END
end
Ik heb ook ergens gelezan dat je de zender eerst een aantal Msec aan moet zetten zodat de ontvanger zich in kan stellen.
Ik heb mijn scoop op de (kanaal 1) ingang van de zender en (kanaal 2)uitgang van de ontvanger aangesloten en met deze code komen de signalen overeen. Met de huidige code zoals die overal staat werd de data vervormd.
; PIC16F648A: +--v--+
; [ ]
; [ ]
; LED Groen via 1K aan +5V >[ ]< Kristal 16Mhz
; [ ]< Kristal 16Mhz
; GND [ ] +5V
; Ontvanger >[ ]
; [ ]
; [ ]
; Zender <[ ]
; +-----+
DEVICE 16F628A
CONFIG BOREN_ON, CP_OFF, DATA_CP_OFF, PWRTE_ON, WDT_OFF, LVP_OFF, MCLRE_OFF, HS_OSC
XTAL 16
ALL_DIGITAL TRUE
;Poort aliases
LCD_RSPIN = PORTA.0 ;LCD
LCD_ENPIN = PORTA.1 ;LCD
SYMBOL LED_Groen = PORTA.4 ;Led geeft aan of er IR-signaal is.
SYMBOL Ontvanger = PORTB.0 ;Ontvanger
SYMBOL SerieelIn = PORTB.1 ;Ontvangt via HSERIN data van de bus (USART ingang, RX)
SYMBOL SerieelUit = PORTB.2 ;Stuurt via SEROUT data naar de bus (USART uitgang, TX)
SYMBOL Zender = PORTB.3 ;Zender
; 76543210
PORTA = %00000000
PORTB = %00000000
TRISA = %11100011
TRISB = %11110011 ;USART uitgang B.2 moet in rust hoog-ohmig zijn
PORTB_PULLUPS ON ;Experiment: B.2 een Uitgang gemaakt.
;Variabelen
;DWord arrays
;Word arrays
;Word variabelen
DIM OntvangenData AS WORD ;Bevat de ontvangen 16-bits data vanuit USART
;Byte variabelen
DIM BD1 AS BYTE ;Byte Dummy
DIM Waarde_RF_Ontvangen AS BYTE ;Bevat de ontvangen waarde
DIM Waarde_RF_Verzenden AS BYTE ;Bevat de te verzenden waarde
DIM Opdracht AS BYTE ;Bevat de uit te voeren Opdracht
DIM Waarde AS BYTE ;Bevat de teruggezonden waarde
;Bit variabelen
DIM ID1 AS BIT ;bIt Dummy
CLEAR
DELAYMS 500 ;LC-Display stabilisering
GOTO Start ;Spring over de subroutines
;Subroutines
;Hoofdprogramma
Start:
FOR BD1 = 1 TO 255
HIGH Zender
DELAYMS 20
LOW Zender
DELAYMS 5 ;data (start)
HIGH Zender
DELAYMS 1
LOW Zender
DELAYMS 3 ;data
HIGH Zender
DELAYMS 1
LOW Zender
DELAYMS 1 ;data
HIGH Zender
DELAYMS 1
low zender
delayms 5
DELAYMS 500
NEXT BD1
GOTO Start
END
Tinus016
www.tinuselectronics.nl Because DIY Electronics Matters!!!!
@Marcob, Met een draad er tussen werkt het ook niet.
Als ik deze voorwaarde er uit haal komen er in een razend tempo allemaal getallen voor bij.
IF Value[0] = "P" AND Value[1] = "W" THEN
tussen zender een ontvanger had ik 2 meter zitten lijkt me genoeg.
@Diebobo,
Ik even voor de duidelijkheid geld dat voor deze,
Zender.
Ontvanger.
Kan iemand bevestigen dat deze alleen met "Manchester" ???? werkt
@Sjoerd Kreyns,
Bedankt voor je code!
Van de eerste snap ik niet zo veel. Waarschijnlijk omdat ik nog nooit iets met ASM gedaan heb.
Je laatste is zoals ik het bekijk niet volledig.
correct my if im worng!
marcob
Honourable Member
People tend to overestimate what can be done in one year and to underestimate what can be done in five or ten years
Ik heb dezelfde modules gebruikt.
Ik zie dat ik een andere baudrate gebruik
Dit was mijn zend code:
SEROUT SEND , 396 , [ 65, 65, 65, 65, 65, 65, 65, 85 , 17 , SIGN , TEMP_1 , TEMP_2 , SIGN , TEMP_1 , TEMP_2 , 13 ]Dit was mijn temp uitlees programma:
DEVICE 16F877A ;Gebruik een 16F877A type
;CONFIG CP_OFF, DEBUG_OFF, WRT_OFF, CPD_OFF, LVP_ON, BODEN_ON, PWRTE_OFF, WDT_OFF, HS_OSC
XTAL = 10
ALL_DIGITAL = True
DIM VAR1 AS BYTE ' We'll only read 8-bits
DIM TELLER AS BYTE ; TELLER
DIM Received AS BYTE ; Variabelen
DIM Value[10] AS BYTE
DIM CHECK AS BYTE
DIM DB1 AS BYTE ; DUMMY BYTE 1
DIM DB2 AS BYTE ; DUMMY BYTE 2
DIM DB3 AS BYTE ; DUMMY BYTE 3
DIM DB4 AS BYTE ; DUMMY BYTE 4
DIM DB5 AS BYTE ; DUMMY BYTE 5
DECLARE LCD_DTPIN PORTB.4
DECLARE LCD_ENPIN PORTB.3
DECLARE LCD_RSPIN PORTB.1
HSERIAL_BAUD = 2400 ; Set baud rate
HSERIAL_RCSTA = %10010000 ; Enable serial port and continuous receive
HSERIAL_TXSTA = %00100000 ; Enable transmit and asynchronous mode
HSERIAL_CLEAR = ON ; Optionally clear the buffer before receiving
SYMBOL LED1 = PORTA.2 ; Alias the running led
SYMBOL LED2 = PORTB.0
ON_INTERRUPT GOTO INT_SER ; If there is UART activity: goto INT
DELAYMS 500 ;LCD stabilisering
PRINT $FE,$40,$0E,$0A,$0E,$00,$00,$00,$00,$00
CLS ;Wis eventuele oude tekst uit
PRINT AT 1 , 1 , "Temp: "
START:
INTCON.7 = 1 ; Enable Global Interrupts
INTCON.6 = 1 ; Enable Peripheral Interrupts
PIE1.5 = 1 ; Enable UART Rx Interrupt
ON_INTERRUPT GOTO INT_SER
GOTO MAIN
INT_SER:
LOW LED2 ; interrupt led aan
HSERIN [Received]
Value[0] = Value[1] ; zet ontvangen waarde in de array
Value[1] = Value[2] ; en schuif al aanwezige waarden door
Value[2] = Value[3]
Value[3] = Value[4]
Value[4] = Value[5]
Value[5] = Value[6]
Value[6] = Value[7]
Value[7] = Value[8]
Value[8] = Received
CHECK = 0
IF Value[0] = 65 THEN CHECK = CHECK + 1 ; controleer startbit
IF Value[1] = 85 THEN CHECK = CHECK + 2 ; controleer startbit
IF Value[3] = Value[6] THEN CHECK = CHECK + 4 ; contorleer gelijkheid
IF Value[4] = Value[7] THEN CHECK = CHECK + 8 ; contorleer gelijkheid
IF Value[5] = Value[8] THEN CHECK = CHECK + 16 ; contorleer gelijkheid
IF CHECK = 31 THEN
PRINT AT 1,8, Value[3], DEC Value[4] , "," , DEC Value[5] , 0 , "C "
PRINT AT 2,1, "Unit = " , DEC Value[2]
ENDIF
HIGH LED2
CONTEXT RESTORE ; Restore the registers and exit
GOTO START
MAIN:
WHILE 1=1
HIGH LED1 ; hoofdprogramma laat een ledje knipperen
DELAYMS 500
LOW LED1
DELAYMS 500
WEND
END ;Einde programmaIk heb ook zo´n zender en ontvanger gekocht maar wel uit een andere actie dus er zou iets verschil in kunnen zitten.
Ik heb het wel aan de gang gekregen. Hierbij mijn code:
Zender:
DEVICE 16F628A ;We gebruiken een 16F628A type
CONFIG HS_OSC, WDT_OFF, PWRTE_ON, LVP_OFF, BODEN_OFF, MCLRE_OFF
ALL_DIGITAL TRUE ;Alle ingangen digitaal
XTAL = 20 ;Gebruik een kristal van 20MHz
;Algemene constanten
SYMBOL Baud1000I = 17364 ;2400 Baud Inverted (baudrate voor SEROUT)
;Variabelen declareren
;BYTE
dim i as byte
dim j as byte
; 76543210
PORTA = %00000000 ;LED voor dit voorbeeld aanzetten (PIC opstart controle)
PORTB = %00000000 ;PORTB poorten laag
TRISA = %11111111 ;A.0 is uitgang voor de LED (in dit voorbeeld)
TRISB = %11111111 ;USART uitgang B.2 moet in rust hoog-ohmig zijn
CLEAR ;Wis alle RAM geheugen
DELAYMS 500 ;Stabilisatie signalen en voorbeeld LED opstart tijd
j = 0
;GOTO zendbus
goto hoofdlus ;Spring over subroutine(s)
;SUBROUTINE
ZendBus: ;De bus die door het huis loopt
for i=1 to 5
SEROUT PORTA.3, Baud1000I, ["Wind", j]
delayms 20
next
RETURN
;HOOFDPROGRAMMA
HoofdLus:
j = j + 1
if j = 9 then
j = 1
endif
gosub zendbus
delayms 2000
goto hoofdlusDeze telt dus van 0 tot 8 en dan begint het opnieuw.
En voor de ontvanger:
DEVICE 16F628A ;We gebruiken een 16F628A type
CONFIG HS_OSC, WDT_OFF, PWRTE_ON, LVP_OFF, BODEN_OFF, MCLRE_OFF
ALL_DIGITAL TRUE ;Alle ingangen digitaal
XTAL = 20 ;Gebruik een kristal van 20MHz
;Algemene constanten
SYMBOL Baud1000I = 17364 ;2400 Baud Inverted (baudrate voor SEROUT)
;Poortnamen
Symbol ShiftData = PORTa.4
Symbol Latch = PORTB.1
Symbol ShiftClk = PORTB.2
;Variabelen declareren
;BYTE
DIM Opdracht AS BYTE ;Bevat de laatst ontvangen opdrachtcode
dim Richting as byte
CLEAR ;Wis alle RAM geheugen
DELAYMS 500 ;Stabilisatie signalen en voorbeeld LED opstart tijd
while 1 = 1 ;Spring over subroutine(s)
clear opdracht
SERIN PORTA.1, Baud1000I, [WAIT("Wind"), Opdracht]
SELECT Opdracht ;We gaan de variabele 'Weerstand' testen
CASE 1 ;%76543210 ;Als 'Weerstand' is 4 dan...
Richting = %00000001 ;..."Vier" op het display zetten
CASE 2 ;Als 'Weerstand' is 5 dan...
Richting = %00000010 ;..."Vijf" op het display zetten
CASE 3 ;Als 'Weerstand' is 6 dan...
Richting = %00000100 ;..."Zes" op het display zetten
CASE 4 ;Als 'Weerstand' is 4 dan...
Richting = %00001000 ;..."Vier" op het display zetten
CASE 5 ;Als 'Weerstand' is 5 dan...
Richting = %00010000 ;..."Vijf" op het display zetten
CASE 6 ;Als 'Weerstand' is 6 dan...
Richting = %00100000 ;..."Zes" op het display zetten
CASE 7 ;Als 'Weerstand' is 4 dan...
Richting = %01000000 ;..."Vier" op het display zetten
CASE 8 ;Als 'Weerstand' is 5 dan...
Richting = %10000000 ;..."Vijf" op het display zetten
CASE ELSE ;Anders...
Richting = %01010101 ;..."Andere waarde" op het display zetten
ENDSELECT
SHOut ShiftData, ShiftClk, lsbfirst,[Richting]
pulsout Latch,5
delayms 1000
wend
endDit leest de ontvangen code en stuurt de data naar een schuifregister.
Daarnaast had ik ook antenne's erop gesoldeerd. Ik weet niet of dit verschil maakt.
Wat me wel opviel aan jou code was dat je snelheid anders is dan die van mij.
Ook de SEROUT is wat anders dan die van mij.
Mijn zender zend "wind" als een soort wachtwoord en de ontvanger leest de data pas als hij ook "Wind" ontvangen heeft.
Ook als je jou programma runt zal de waarde Teller ongedefinieerd blijven. Je geeft wel aan dat het een byte is, maar geeft het geen waarde.
Ik heb mijn code trouwens gedeeltelijk van de PicBasic website van Frits. http://www.picbasic.nl/ Onder projecten moet je dan de tweede link openen (domotica). Vanaf halverwege / driekwart staat ook wat over de 433 MHz zender.
Tinus016
www.tinuselectronics.nl Because DIY Electronics Matters!!!!
Ik wil iedereen bedanken voor zijn hulp!
Na het aanpassen van de Baudrate volgens de post van Marcob werkte het. Yes!!
Als het systeem werkt zal ik mijn volledige code posten zodat andere er ook wat aan hebben.
Iedereen bedankt!
Tinus016
www.tinuselectronics.nl Because DIY Electronics Matters!!!!
Zo we zijn ruim een week verder en het werkt nu volledig.
Omdat het nogal een stuk code is geworden kan het hier bekeken worden.
Dit hout het topic overzichtelijk
Het mogen duidelijk zijn dat ik mijn huis code heb aangepast. (Dit ivm lol broeken
)
Mocht iemand het gaan gebruiken vergeet dan niet om de SCHAAL van de potmeter en de ldr aan te passen.
voor de foto's van het project kan u hier terecht
Nogmaals bedankt voor de hulp!!
Sjoerd Kreyns
Golden Member
SMD weerstandjes zoeken in grijze vloerbedekking is ook een uitdaging ... 8*1=255 ... Het nadeel van ruimte: Als je het hebt, staat het binnen de kortste keren weer vol.
Tinus016
www.tinuselectronics.nl Because DIY Electronics Matters!!!!