Direksiyon setine shiftlight nasıl yapılır?

SALOOWEN

Kilopat
Katılım
7 Ocak 2021
Mesajlar
6.830
Makaleler
13
Çözümler
35
@fenomenale hocam siz de bi' bakabilirseniz güzel olur.

Şimdi pertinaks üzerine ledlerle shift light devresini kurup yazıcıyla case bastırıp montajlayacağım ama hız göstergesi de eklemek istiyorum. Bunun için şu segment ekranlardan kullanabilir miyim kodlaması nasıl olur?
4-dijit-7-segment-led-ekran-307a.jpg
?
 
Nasıl tür seçeceğin sana bağlı. İstersen takometre de kullanabilirsin. Daha çok JDM tür araçlar içindir takometre. İstersen GT tarzı kullanabilirsin.

Fotoğraftakine ya devir yazarsın ama muhtemelen devir sığmaz. Hızını yazarsın km/h cinsinden.

Simhub uygulamasını kullanmalısın, zorunlu gibi bir şey. Ben kendimkini yaparken etsydeki yabancı bir arkadaşımdan yardım almıştım.

Senin attığın 7 segmentli görüntü ekranı. Ona genelde vites göstergesi yapmayı tercih etmişler.

Bu içeriği görüntülemek için üçüncü taraf çerezlerini yerleştirmek için izninize ihtiyacımız olacak.
Daha detaylı bilgi için, çerezler sayfamıza bakınız.
 
Son düzenleme:
Nasıl tür seçeceğin sana bağlı. İstersen takometre de kullanabilirsin. Daha çok JDM tür araçlar içindir takometre. İstersen GT tarzı kullanabilirsin.

Fotoğraftakine ya devir yazarsın ama muhtemelen devir sığmaz. Hızını yazarsın km/h cinsinden.

Simhub uygulamasını kullanmalısın, zorunlu gibi bir şey. Ben kendimkini yaparken etsydeki yabancı bir arkadaşımdan yardım almıştım.

Senin attığın 7 segmentli görüntü ekranı. Ona genelde vites göstergesi yapmayı tercih etmişler.

Bu içeriği görüntülemek için üçüncü taraf çerezlerini yerleştirmek için izninize ihtiyacımız olacak.
Daha detaylı bilgi için, çerezler sayfamıza bakınız.

Hocam vites için led şerit tarzı bir şey yapıp vites arttıkça ışık seviyesinin yükselmesini sağlamak istiyorum. Anlatabilmişimdir umarım. :D Attığım paneli hız göstergesi olarak kullanmak istiyorum. Normalde vites, pedal direksiyon ortak arduino bağlıyordum ama buna özel devreye microyu entegre edicem direk.

Yani istediğim 3 temel özellik var:
-hız göstergesi
-devir ledleri
-vites ledleri
 
list p=16F877A
#include <P16F877A.inc>

__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC & _LVP_OFF

CBLOCK 0x20
DONGU
DISPLAY
ENDC

ORG 0x00
GOTO MAIN

ORG 0x04
GOTO ISR

MAIN
CLRF STATUS
CLRF VITES
MOVLW 0x00 ; Başlangıç değeri 0
MOVWF PORTC ; 7 segment display bağlantı noktası
MOVLW 0x30
MOVWF TRISB
BCF STATUS, RP0
BCF STATUS, RP1

LOOP
BTFSC PORTB, 0 ; Vites arttır
INCF DONGU, F
BTFSC PORTB, 1 ; Vites azalt
DECF DONGU, F
MOVF DONGU, W
CALL DISPLAY_UPDATE
GOTO LOOP

DISPLAY_UPDATE
ADDWF PCL, F
RETLW 0x3F ; 0
RETLW 0x06 ; 1
RETLW 0x5B ; 2
RETLW 0x4F ; 3
RETLW 0x66 ; 4
RETLW 0x6D ; 5
RETLW 0x7D ; 6
RETLW 0x07 ; 7
RETLW 0x7F ; 8
RETLW 0x6F ; 9

ISR
RETFIE

END

List p = 16F877a.
#İnclude <P16F877a. İnc>

__confıg _cp_off & _wdt_off & _pwrte_on & _xt_osc & _boden_off & _lvp_off & _debug_off.

Cblock 0x20.
Vıtes.
Dısplay.
Endc.

Org 0x00.
Goto maın.

Org 0x04.
Goto ısr.

Maın.
Clrf status.
Clrf vıtes.
Movlw 0x00; başlangıç değeri 0
Movwf portc; 7 segment display bağlantı noktası.
Movlw 0x30.
Movwf trısb.
Bcf status, RP0.
Bcf status, RP1.

Loop.
Btfsc portb, 0; vites arttır.
Incf vıtes, F
Btfsc portb, 1; vites azalt.
Decf vıtes, F
Movf vıtes, W
Call dısplay_update.
Goto loop.

Dısplay_update.
Addwf pcl, F
Retlw 0x3F; 0
Retlw 0x06; 1
Retlw 0x5B; 2
Retlw 0x4F; 3
Retlw 0x66; 4
Retlw 0x6D; 5
Retlw 0x7D; 6
Retlw 0x07; 7
Retlw 0x7F; 8
Retlw 0x6F; 9

Isr.
Retfıe.

End.

Vites attığında 7 SEG'deki rakam artıyor, vites azalattığında rakam düşüyor. Ama bu PIC16F877 entegresi için yazılmıs bir kod. Aynı zamanda Assembly.

Yani istediğim 3 temel özellik var:
-Hız göstergesi.
-Devir LED'leri.
-Vites LED'leri.

Bunları GitHub vb. yerlerde yapanlar vardır. Bir göz at.

Ama bu PIC16F877 entegresi için yazılmıs bir kod.

Eklemeyi unutmusum illa PIC 16F877 olacak diye bir şey yok başka pic seriside olur ama programda ufak değişiklikler yapmak gerekir.
 
Son düzenleme:

Technopat Haberler

Geri
Yukarı