raxkedi11
Üye
- Katılım
- 24 Ara 2010
- Mesajlar
- 2
- Puanları
- 1
- Yaş
- 44
Herkese iyi günler
Ben biyomedikal öğrencisiyim ve bitirme projemiz var.Yaptığımız cihaz otomatik kan grubu buluyor.Cihaza robot kol tasarladık cihazın kodunu yazdık ama adc de sıkıntılar oluyor.
örnek.
Ya sadece bi kan grubu gösteriyor yada 2 3 tane aynın anda kan grubu gösteriyor yada hiç göstermiyor ko şu :
Kod Burada --Motor kontrolleri sildim
Ben biyomedikal öğrencisiyim ve bitirme projemiz var.Yaptığımız cihaz otomatik kan grubu buluyor.Cihaza robot kol tasarladık cihazın kodunu yazdık ama adc de sıkıntılar oluyor.
örnek.
Ya sadece bi kan grubu gösteriyor yada 2 3 tane aynın anda kan grubu gösteriyor yada hiç göstermiyor ko şu :
Kod Burada --Motor kontrolleri sildim
void main()
Rha==0.0133712;
Rhb==0.00732;
lcd_init();
printf (lcd_putc, "\f Olcum yapmak icin tusa basiniz");
delay_ms(1000);
setup_adc_ports(AN0_AN1_AN2_AN3_AN4);
setup_adc(adc_clock_div_32);
set_adc_channel(0); //adc channel 0 okunuyor yani an0 daki değer ayarlanıyor
delay_us(20);
deger=read_adc(); //an0 daki değer okunuyor
A=0.00488*deger; // adc değeri hesaplanıyor..
set_adc_channel(1);
delay_us(20);
deger1=read_adc();
B=0.00488*deger1;
set_adc_channel(3);
delay_us(20);
deger2=read_adc();
Rh=0.00488*deger2;
if (Rha<Rh) { ////////////////////////ADC KISMI SIKINTILI OLAN BOLUM--- BURDAN SONRASI KARIŞIYOR/////////////////////////////
if ((A>0.0122) && (B>0.0122)) {
printf (lcd_putc, "\f Kan AB+");
delay_ms(1000);
}
else if ((A<0.0122) && (B<0.0122)) {
printf (lcd_putc, "\f Kan 0+");
delay_ms(1000);
}
else if (A>0.0122) {
printf (lcd_putc, "\f Kan A+");
delay_ms(1000);
}
else if (B>0.0122) {
printf (lcd_putc, "\f Kan B+");
delay_ms(1000);
}}
if (Rhb<Rh) {
if ((A>0.0122) && (B>0.0122)) {
printf (lcd_putc, "\f Kan AB-");
delay_ms(1000);
}
else if ((A<0.0122) && (B<0.0122)) {
printf (lcd_putc, "\f Kan 0-");
delay_ms(1000);
}
else if (A>0.0122) {
printf (lcd_putc, "\f Kan A-");
delay_ms(1000);
}
else if (B>0.0122) {
printf (lcd_putc, "\f Kan B-");
delay_ms(1000);
}
}
output_low(lamba1); // Önceden yaktığımız lambaları söndürdük.
delay_ms(100);
for (i=0; i<=6; i++) //2.kolu yukarı kaldırdım
{
Rha==0.0133712;
Rhb==0.00732;
lcd_init();
printf (lcd_putc, "\f Olcum yapmak icin tusa basiniz");
delay_ms(1000);
setup_adc_ports(AN0_AN1_AN2_AN3_AN4);
setup_adc(adc_clock_div_32);
set_adc_channel(0); //adc channel 0 okunuyor yani an0 daki değer ayarlanıyor
delay_us(20);
deger=read_adc(); //an0 daki değer okunuyor
A=0.00488*deger; // adc değeri hesaplanıyor..
set_adc_channel(1);
delay_us(20);
deger1=read_adc();
B=0.00488*deger1;
set_adc_channel(3);
delay_us(20);
deger2=read_adc();
Rh=0.00488*deger2;
if (Rha<Rh) { ////////////////////////ADC KISMI SIKINTILI OLAN BOLUM--- BURDAN SONRASI KARIŞIYOR/////////////////////////////
if ((A>0.0122) && (B>0.0122)) {
printf (lcd_putc, "\f Kan AB+");
delay_ms(1000);
}
else if ((A<0.0122) && (B<0.0122)) {
printf (lcd_putc, "\f Kan 0+");
delay_ms(1000);
}
else if (A>0.0122) {
printf (lcd_putc, "\f Kan A+");
delay_ms(1000);
}
else if (B>0.0122) {
printf (lcd_putc, "\f Kan B+");
delay_ms(1000);
}}
if (Rhb<Rh) {
if ((A>0.0122) && (B>0.0122)) {
printf (lcd_putc, "\f Kan AB-");
delay_ms(1000);
}
else if ((A<0.0122) && (B<0.0122)) {
printf (lcd_putc, "\f Kan 0-");
delay_ms(1000);
}
else if (A>0.0122) {
printf (lcd_putc, "\f Kan A-");
delay_ms(1000);
}
else if (B>0.0122) {
printf (lcd_putc, "\f Kan B-");
delay_ms(1000);
}
}
output_low(lamba1); // Önceden yaktığımız lambaları söndürdük.
delay_ms(100);
for (i=0; i<=6; i++) //2.kolu yukarı kaldırdım
{