FAN KONTROL DEVRESİ YARDIM

Başlatan exsenim, 24 Eylül 2017, 17:44:35

exsenim

bu devreyi kendim kurdum sıfırdan ama yazılım konusunda hatalarım var bunu sıcaklık artınca fanı çalıştıracak termostat devresi yapmak istiyorum. ayar menüsü de olacak iki secenekli sıcaklık ayarı ve fan açma kapama

ete

Bu sitede temel amacımız bilmeyenlere birşeyler öğretebilmektir. Bu nedenle istekte bulunanların birşeyler karalamasını ve sıkıştığı noktada yardım istemesini bekleriz.
Sen ne yapmışsın ona bakalım. Bir devre şeması vermişsin burası tamam.
Bir yazılımdan ve hatalarından bahsediyorsun ama ortada yazılmış bir şey yok. Ama ne istediğinide açıklamışsın.
Bu açıklamadan ben senin hazır bir yazılım istediğin anlamını çıkartıyorum.
Bazı arkadaşlar sırf bu hususu bildikleri için sağdan soldan topladıkları kodları (abuk subuk kodlar) buraya ben yazdım diye koyuyorlar. Sakın böyle yapmayasın. Şunu bilmende yarar var. Bu sitede hazır program yazıp da kimseye vermiyoruz. Yazmak isteyenlere yardım ediyoruz sonuna kadar. Bu sayede konuyu takip edenlerde bir şeyler öğreniyorlar. Amacımızda bu zaten. Umarım bizi anlarsın.
Sende yazdıklarını buraya koy bakalım istersen.
Ete

exsenim

Hocam ben bu kodları netten buldum fakat isis de ısı göstergesi -0.00 yazıyor acaba kod da mı problem var devre de mi ayrıca devreyi de değiştirdim bu şekilde oldu


@ INTRC_OSC_NOCLKOUT

PORTA=0:PORTB=0
TRISB=%00000001
TRISA=0



'---------------------------LCD TANIMLAMALARI-----------------------------------
DEFINE LCD_RSREG    PORTB
DEFINE LCD_RSBIT 1
DEFINE LCD_RWREG PORTB
DEFINE LCD_RWBIT    2
DEFINE LCD_DREG PORTB
DEFINE LCD_DBIT     4
DEFINE LCD_EREG PORTB
DEFINE LCD_EBIT         3
DEFINE LCD_BITS         4
DEFINE LCD_LINES        2
DEFINE OSC4

'-------------------------------------------------------------------------------






'---------------------------PROGRAM---------------------------------------------
CMCON=7
Busy VAR BIT
HAM VAR WORD
ISI VAR WORD
ISI1 VAR WORD
ISI2 VAR WORD
Float VAR WORD
X VAR WORD
ISARET_BITI VAR HAM.Bit11
EKSI_ISI CON 1
DERECE CON 223
ISARET VAR BYTE
TEMP VAR BYTE
Comm_Pin    VAR Portb.0


'---------------------------EKRANA YAZ------------------------------------------

CLEAR
PAUSE 200
LCDOUT $FE,1

'-------------------------------------------------------------------------------
BASLA:lcdout $fe,2,"ISI DERECESi"
GOSUB SENSOROKU
GOTO BASLA
'-------------------------------------------------------------------------------

SENSOROKU:
           OWOUT   Comm_Pin, 1, [$CC, $44]' ISI değerini oku
Bekle:
           OWIN    Comm_Pin, 4, [Busy]    ' Busy değerini oku
           IF      Busy = 0 THEN Bekle    ' hala meşgulmü? , evet ise goto Bekle..!
           OWOUT   Comm_Pin, 1, [$CC, $BE]' scratchpad memory oku
           OWIN    Comm_Pin, 2, [HAM.Lowbyte, HAM.Highbyte]' İki byte oku ve okumayı bitir.
           GOSUB   Hesapla
           RETURN
Hesapla:                 ' Ham değerden Santigrat derece hesabı
    ISARET  = "+"
    IF ISARET_BITI = EKSI_ISI THEN
       ISARET   = "-" 
       ham=~ham+2
    endif
    float = (HAM*10)/16        '
    ISI=FLOAT/10 
    RETURN 
END

exsenim

bu kodları kullanmak isteyince de hata veriyor


BASLA:
LCDOUT $FE,1,"  SEC  => MENU  " 'Menu ye nasıl girileceği açıklanıyor

BIR:
LCDOUT $FE,$C0,"ODA SICAKLIGI=",#ISIODA 'ODA sıcaklığını ekrana  getiriyoruz.
PAUSE 150
IF SEC=0  THEN MENU 'Şayet SEC tuşuna basılırsa Menu ye git
GOTO BIR 'Tekrar başa git.

MENU:
LCDOUT $FE,1,  "GUNDUZ => YUKARI"
IKI:  LCDOUT $FE,$C0,"GECE =>ASAGI BAS"
PAUSE 200
IF YUKARI=0 THEN GUNDUZ 'Yukarı tuşuna basılırsa GUNDUZ 'e git.
IF ASAGI=0 THEN GECE 'Aşağı  basılırsa GECE' ye git.
IF SEC=0 THEN BASLA 'Tekrar  SEC tuşuna basılırsa Başla' ya git
GOTO IKI

ete

Kodları bana kontrol ettirmemen gerekir.
Bu sitede bir sürü DS18B20 sensörlü devre var . Saat projelerine bakabilirsin.
En azından başka bir devre yada çalışan bir devre bul ve oradaki kodlarla senin kodları karşılaştır.

Ete

Powered by EzPortal