arkadaşlar herkese iyi forumlar. ben motorsikletim için hangi viteste olduğumu gösteren bir display li bir devre yapmak istiyorum. çalışma yapısı şöyle olacak:
bir metal çubuk düşünün bu metal çubuğu yukarı kaldırarak vites artmakta aşağı bastırarak ta vites azalmakta.
iki sensör olacak sanırım toplamda bir üstü görmesi için bir de altı görmesi için ancak nasıl bir sensör kullanılmalı mıknatıslı birşeyler mi kullanılmalı açıkçası pek bilgim yok.
gösterge olarak tek display kullanacağım. ve şunu sormak istiyorum. kontağı kapatınca pic in içindeki vites bilgisi kabolmasın istiyorum yani motora tekrar bindiğimde hangi viteste bıraktıysam o numarayı göstersin istiyorum. böyle bir devre yapabilir miyiz arkadaşlar? bana yardımcı olabilir misiniz? teşekkür ederim şimdiden :)
Dikkat etmeniz gereken birkaç nokta var. Öncelikle algılamayı ne ile yapacağınız önemli. Dış ortam şartlarına uygun yağmurdan çamurdan etkilenmeyen bir algılama yöntemi kullanmalısınız. Bunun için tavsiyem manyetik bir yöntem kullanmanızdır. Mesela reed switch olabilir. Bir diğer mevzu ise elektrik kesilmesi durumunda vitesin hafızada kalmasını yazmışsınız fakat motor duruyorken vites değiştirilse ne olacak? Bunu düşünmeniz lazım. Bunun için de motor durduğunda devreyi kapatmak yerine uyku moduna geçirerek ekrana bilgi yazmasını engelleyebilir ve vites değişiminde pic i uyandırarak gene ekrana yazmadan vites değişimlerini algılatabilirsiniz. Siz başlayın devamı gelecektir.
Saygılar.
teşekkür ederim bu switch olayını araştırıcam. buarada ben micro c de program yazmaya çalışıyorum fakat sanırım yanlış gidiyorum bana yardımcı olabilirseniz sevinirim.
int i=0;
void main()
{
PORTA=0;
TRISA=0x03;
PORTB=0;
TRISB=0;
while(1)
{
if (PORTA==0x01)
i= i++;
EEprom_Write(i,0x32);
if (PORTA==0x02)
i= i--;
EEprom_Write(i,0x32);
if (i==1)
PORTB = 0x06;
Delay_ms(1000);
if (i==2)
PORTB = 0x5B;
Delay_ms(100);
if (i==3)
PORTB = 0x4F;
Delay_ms(100);
if (i==4)
PORTB = 0xE6;
Delay_ms(100);
if (i==5)
PORTB = 0x6D;
Delay_ms(100);
}
}
Alıntı yapılan: cyrex_t - 10 Şubat 2011, 18:53:27
teşekkür ederim bu switch olayını araştırıcam. buarada ben micro c de program yazmaya çalışıyorum fakat sanırım yanlış gidiyorum bana yardımcı olabilirseniz sevinirim.
int i=0;
void main()
{
PORTA=0;
TRISA=0x03;
PORTB=0;
TRISB=0;
while(1)
{
if (PORTA==0x01)
i= i++;
EEprom_Write(i,0x32);
if (PORTA==0x02)
i= i--;
EEprom_Write(i,0x32);
if (i==1)
PORTB = 0x06;
Delay_ms(1000);
if (i==2)
PORTB = 0x5B;
Delay_ms(100);
if (i==3)
PORTB = 0x4F;
Delay_ms(100);
if (i==4)
PORTB = 0xE6;
Delay_ms(100);
if (i==5)
PORTB = 0x6D;
Delay_ms(100);
}
}
Hata derken derleme sırasında mı hata oluyor ?
hayır proteusta gösterge vs çalışmıyor
rica etsem proteus dosyanızı ekleyebilirmisiniz