ROBOT KOLLARININ MODERNİZASYONU VE KONTROLÜ

Ebat: px
Şu sayfadan göstermeyi başlat:

Download "ROBOT KOLLARININ MODERNİZASYONU VE KONTROLÜ"

Transkript

1 ROBOT KOLLARININ MODERNİZASYONU VE KONTROLÜ MUSTAFA SERKAN BOZKURT MEHMET FİDAN MEHMET KARADENİZ

2 İÇİNDEKİLER 1) GİRİŞ 2)GELİŞME 3)SONUÇ 4)KAYNAKÇA 5)EKLER

3 GİRİŞ Bu projede 5 eklemli robot kolu incelendi ve geliştirildi. Topel robotumuz 4 step ve 1 DC motordan oluşmaktadır. Bu motorların özellikleri şekil 1de gösterilmektedir. Bu motorlar 2 sürücü kartıyla sürülmektedir. Bu sürücü kartlarından biri 4 step motoru, diğeri de 5. step motoru ve DC motoru sürüyor. Bu kartların devre şemaları şekil 2 ve 3 gösterilmektedir. DC motor robot elinin açılıp kapanmasında kullanılıyor. Robot eli içte ve dışta olmak üzere 2 anahtara sahip. İçteki anahtar el kapandıktan sonra motoru durduruyor. Dıştaki anahtar da el açıldıktan sonra motoru durduruyor. Bu anahtarlar sayesinde PC den DC motoru durdurmak için ayrıca bilgi gönderilmesi gerekmiyor. Bu anahtarların bağlantı şemaları şekil 4 te gösterilmektedir. Motorlardan step motor olan 4 tanesi robot kolun alt tarafında toplanmakta ve 1 step ve 1DC motor robotun uç tarafında toplanmaktadır. Altaki 4 step motor hareketlerini eklemlere kayışlar aracılığıyla iletmektedir. Uçtaki step ve DC motorlar hareketlerini güneş dişli sistemiyle iletmektedir. Uçtaki ve kayışların bağlı olduğu dişli sistemleri elektrik kesildiği anda eklemlerin bulunduğu konumda sabit kalmasını sağlamaktadır. 24 giriş-çıkış imkanı sağlayan ve 8255 programlanabilir arayüz çipinin 0 modunu kullanan bir PIO kartı kullanılmıştır. Bu 50 pin uyumlu I/O kartıyla PC den transistör ve optokuplerlerden oluşan devreye oradan da motorlara bilgi gönderilmektedir. Önceden de söylediğimiz gibi 2 tane sürücü kartı kullanılmıştır. Yani sadece 1 bilgisayar kullanılarak 2 tane bilgi yolu gerekmektedir. Bu yüzden, sürücü kartlarıyla PC arasında bir kart dizayn edilmiştir. Motorları sürmek için 28 bitlik bilgi gerekmesine rağmen tasarlanan I/O kartında 24 bitlik çıkış bulunmaktadır. Bu bir sorun oluşturmaktadır. Başka bir sorun ise PCL 724 PIO kartının A4 ve C4 pinlerinin çalışmamasıdır. Şekil 5te gösterilen 74HC04N inverterinin kullanıldığı bir devreyle sorun halledilmiştir. Yapılan bütün bağlantılar şekil 1de gösterilmektedir. GELİŞME Robot kol kinematiğinde verilen eklem açılarına göre pozisyon bulunur. Ters kinematikte ise girilen pozisyona ulaşabilmek için gerekli eklem açıları bulunur. Bu ters kinematik denklemlerinde birden fazla çözüm vardır. Bu çözümlerin sayısı robot koldaki eklem sayısına bağlı olmakla birlikte bundan başka bağlantı parametrelerine ve bunların ulaşabileceği alana da bağlıdır. Girilen nokta çalışma uzayı içindeyse en mantıklı olanı en yakın çözümü almaktır. Fakat yazılımda ters kinematiğin geometrik çözümü kullanılarak belli bir hata payı içerisine girildiğindeki ilk eklem açı değerleri alınmaktadır. Çözümler yapılırken Hakan Korul un yüksek lisans tezindeki denklemler kullanılmıştır. TOPEL robotunu çalıştıracak C programı yazılmıştır. Program ilk önce robot kolun bulunduğu başlangıç pozisyonunun eklemlerdeki açısal değerini referans fonksiyonunda istemektedir. Daha sonra gidilecek pozisyonun X, Y, Z koordinatlarını cm. cinsinden koordinat fonksiyonunda istenilmektedir. X, Y, Z olarak girilen pozisyonun kolun gidebileceği bir noktada olup olmadığını sınırla fonksiyonunda kontrol edilmektedir. Kontrol sonucu girilen pozisyon eğer çalışma uzayı dışarısındaysa program yeni konum girilmesini istemektedir. Eğer çalışma uzayı içerisindeyse döngü fonksiyonlarında gidilecek noktanın eklemlerdeki açısal değerleri hesaplanmaktadır. Bu hesaplanan açılar hesapla fonksiyonlarında motorlara gönderilecek sinyal sayılarına çevrilmektedir. TOPEL robotumuz kayışlarla hareket ettirildiğinden bir eklemin hareketi diğer eklemleri de etkilemektedir. Bunun sonucunda ortaya çıkan diğer eklemlerdeki düzeltme gereksinimi düzeltme fonksiyonlarında hesaplanıp motorlara gönderilecek sinyal sayılarına eklenmektedir.

4 Programda motorlara gönderilecek sinyal sayıları başla fonksiyonunda büyükten küçüğe sıralanmaktadır. Bu sıralamaya göre sinyal sayısı en küçük olan motorun hareketinin ilk önce, büyük olan motorun hareketinin de en sonda tamamlanacak şekilde sinyaller düzenlenmektedir. Düzenlenen bu sinyaller sinyal fonksiyonu kullanılarak motorları aynı anda çalıştıracak şekilde motorlara gönderilmektedir. Gidilecek noktaya gelindikten sonra yani eklemlerin hareketi durduktan sonra el eklemi bir nesneyi tutmak üzere kapanmaktadır. Nesne tutulduktan sonra devam et fonksiyonu kullanılarak ya nesnenin götürüleceği yeni koordinatların girilmesi istenilmekte ya da başlangıç noktasına dönülmektedir. Yeni konum girilirse nesne o konuma götürülüp bırakılmakta eğer başlangıç noktasına dönülürse nesne başlangıç noktasına bırakılıp programdan çıkılmaktadır. Programın akış şeması ekler bölümünde verilmiştir. SONUÇ TOPEL robot kolu yazılan C diliyle ister eklemlerin her birinin ayrı ayrı gideceği açılar verilerek ister kolun gideceği noktanın cm. cinsinden X, Y, Z konumları verilerek hareket ettirilmiştir. Ancak dişlilerdeki boşluklar yüzünden bazı eklemlerde sapmalar görülmüştür. Bu sapmalar girilen konumlara tam varılmasını engellemektedir. Yine de bu sapmalar önceden hesaba katılarak istenilen konumlara varılabilir. Eğer motorlar eklemler üzerine konulacak şekilde donanım tasarımı yapılırsa, eklemler birbirinden bağımsız hareket ettirilebilir ve yazılımdaki düzeltme fonksiyonlarının yazılmasına gerek kalmayacaktır. Böylelikle istenilen noktaya gitmek daha sağlıklı olacaktır. Aynı zamanda böyle bir donanım tasarımı sonucunda robotun çalışma uzayı da genişleyecektir. KAYNAKÇA KORUL, Hakan. Robot Kollarının Video Kameradan Alınan Derinlik Bilgisi Geri Besleme ile Kontrolu, bitirme tezi, 1995 TÜRKAN, Mehmet Beş Eklemli Robot Kolu Kontrolu, rapor, 2003 PIO-724 Arayüz kartı manuali

5 EKLER Programın Akış Şeması BAŞLA Başlangıç pozisyonunun açılarını gir hedef noktasını gir H çalışma uzayı içinde mi? E Açıları hesapla Sayıları hesapla Düzeltmeleri hesapla Motor datalarını bul Motorlara sinyalleri gönder el eklemini çalıştır devam edilecek mi? E H Başlangıç noktasına dön DUR ve ÇIK

6 MOTOR ÖZELLİKLER MOTOR GİRİŞİ Stepper 5 - Stepper 4 Stepper 3 Stepper 2 Stepper 1 Step Syn Stepping Motor Type I 03G I IBM PN 94X5937 INSUL. CLASS B DC 4.1V 1.1A 1.8 DEG / STEP LOT NO - SANYO DENKI CO..LTD. SANYO Step Syn Stepping Motor Type I I DC 4.5V 1.4A 2 DEG / STEP IBM P/N LOT NO - SANYO CO..LTD. SANYO Step Syn Stepping Motor Type I I IBM P/N LOT NO - DC 4.5V 1.4A 2 DEG / STEP DENKI SANYO CO..LTD SANYO Step Syn Stepping Motor Type I I IBM P/N LOT NO - DC 4.5V 1.4A 2 DEG / STEP DENKI Beyaz Mavi Sarı Kırmızı Mavi Kırmızı KırmBeyaz MaviBeyaz Siyah Beyaz Mavi Kımızı KırmBeyaz MaviBeyaz Siyah Beyaz Mavi Kırmızı KırmBeyaz MaviBeyaz Siyah Beyaz Mavi Kımızı KırmBeyaz MaviBeyaz Siyah Beyaz BAĞLANAN KABLO Kahverengi Blue Sarı Yeşil Mavi Turuncu Kahverengi Yeşil Gümüş Gümüş Mavi Turuncu Kahverengi Yeşil Gümüş Gümüş Mavi Turuncu Kaverengi Yeşil Gümüş Gümüş Mavi Orange Kahverengi Sarı Gümüş Gümüş SANYO DENKI CO..LTD şekil 1. (a) step motorlarının özellikleri ve bağlantıları KART ÇIKIŞI 1STEP+DC SÜRÜCÜ Kahverengi pin.7 Mavi pin.2 yellow pin.6 green pin.1 4XSTEP SÜRÜCÜ Beyaz pin.13 Turuncu pin.15 Yeşil pin.16 Mavi pin XSTEP SÜRÜCÜ Siyah pin.12 Yeşil pin.10 Turuncu pin.9 Beyaz pin XSTEP SÜRÜCÜ İşaretli Beyaz pin.5 Beyaz pin.7 İşaretli Gri pin.8 Gri pin XSTEP SÜRÜCÜ Kırmızı pin.4 Mavi pin.2 Siyah pin.1 Yeşil pin.3 - -

7 MOTOR End-effector* ( DC motor ) ÖZELLİKLER MOTOR GİRİŞİ BAĞLANAN KABLO KART ÇIKIŞI 1STEP+DC SÜRÜCÜ - Siyah Dış switch (II) - Beyaz Pembe Sarı pin.3 şekil 1. (b) DC motorun özellikleri ve bağlantıları Şekil-2 1x4 Step Motor Sürücü Kartı Şekil-3 1 step+dc Motor Sürücü Kartı Şekil-4 Anahtar Bağlantı Şeması Şekil-5 74HC04N Devre Şeması

8 Şekil-6 Yeni Robot Eli Şekil-7 Yeni Robot Elinin Step motora Bağlantısı Şekil-8 Elin DC motor-çark Bağlantısı Şekil-9 Elin Parmak Bağlantısı Şekil-10 Eli Kapatırken Durduracak Anahtar

9 Şekil-10 Topel Robot Eli Şekil-11 İç Anahtar Şekil-12 Dış Anahtar Şekil-13 PIO 82C55 Arayüz Kartı Şekil-14 82C55 Çıkış Terminali

10 ROBOTTEST.CPP /* Topel robotunun eklemlerini tek tek hareket ettiren program */ #include <time.h> #include <stdio.h> #include <dos.h> #include <conio.h> int Base=0x2c0; int d=5; void motor1_left(int step); void motor1_right(int step); void motor2_up(int step); void motor2_down(int step); void motor3_up(int step); void motor3_down(int step); void motor4_up(int step); void motor4_down(int step); void motor5_left(int step); void motor5_right(int step); void hand_open(); void hand_close(); int main(void) /*Base=0x378 - Control Register=Base+2 - Data Register=Base+0*/ int count; int i; int Vo; char a; /*Initialize*/ outportb(base+3,0x80); /*Set Port A as IN and Port B as OUT*/ outportb(base+0,0x00); outportb(base+1,0x00); outportb(base+2,0x00); while(!kbhit()) hand_close(); /* motor5_left(50);*/ void motor1_right(int step)

11 int i; for(i=0;i<step;i++) outportb(base+0,0x06); outportb(base+0,0x0a); outportb(base+0,0x09); outportb(base+0,0x05); void motor1_left(int step) int i; for(i=0;i<step;i++) outportb(base+0,0x05); outportb(base+0,0x09); outportb(base+0,0x0a); outportb(base+0,0x06); void motor2_up(int step) int i; for(i=0;i<step;i++) outportb(base+0,0x60); outportb(base+0,0xa0); outportb(base+0,0x90); outportb(base+0,0x50); void motor2_down(int step) int i;

12 for(i=0;i<step;i++) outportb(base+0,0x50); outportb(base+0,0x90); outportb(base+0,0xa0); outportb(base+0,0x60); void motor3_up(int step) int i; for(i=0;i<step;i++) outportb(base+1,0x06); outportb(base+1,0x0a); outportb(base+1,0x09); outportb(base+1,0x05); void motor3_down(int step) int i; for(i=0;i<step;i++) outportb(base+1,0x05); outportb(base+1,0x09); outportb(base+1,0x0a); outportb(base+1,0x06); void motor4_up(int step) int i; for(i=0;i<step;i++)

13 outportb(base+1,0x60); outportb(base+1,0xa0); outportb(base+1,0x90); outportb(base+1,0x50); void motor4_down(int step) int i; for(i=0;i<step;i++) outportb(base+1,0x50); outportb(base+1,0x90); outportb(base+1,0xa0); outportb(base+1,0x60); void motor5_left(int step) int i; for(i=0;i<step;i++) outportb(base+2,0x06); outportb(base+2,0x0a); outportb(base+2,0x09); outportb(base+2,0x05); void motor5_right(int step) int i; for(i=0;i<step;i++) outportb(base+2,0x05);

14 outportb(base+2,0x09); outportb(base+2,0x0a); outportb(base+2,0x06); void hand_open() outportb(base+2,0xa0); void hand_close() outportb(base+2,0x50); BASIC_C.CPP /*Topel robotu koordinatlar verilerek hareket ettiren program*/ #include <time.h> #include <process.h> #include <stdlib.h> #include <stdio.h> #include <dos.h> #include <conio.h> #include <iostream.h> #include <math.h> int sign[6],bul[6],devir[6],bul1[6],bul2[6],bul3[6],bul4[6],bul5[6],i,j,k,l,m,t,min; int porta[6],portb[6],portc[6]; void sinyal(int c[6]); int minimum(int b[6]); int basla1(); int basla(); /*60*/ int devamet(); /* aras*/ void donuyor(); /* aras*/ void koordinat(); /* aras*/ void sinirla(); /* aras*/ void disarda(); /* aras*/ void dongu1(); /* aras*/ void dongu2(); /* aras*/ void dongu3(); /* aras*/ void dongu4(); /* aras*/ void dongu5(); /* aras*/ void hesapla(); /* aras*/ void referans();

15 void hesapla4(); /* arasi*/ void duzeltme();/* arasi*/ void duzeltme1();/* arasi*/ void duzeltme2();/* arasi*/ void duzeltme3();/* arasi*/ void duzeltme4();/* arasi*/ void duzeltme5();/* arasi*/ void duzeltme6();/* arasi*/ void duzeltme7();/* arasi*/ void duzeltme8();/* arasi*/ void duzeltme9();/* arasi*/ void sayac(); int yuvarla(float r); char harf; float Q22,Q32,Q42,Q1,Q11,Q21,Q31,Q41,Q51,Q52,Q3,Q2,Q4,Q5,X1,X2,Y,Y1,Z,Z1,G1,G2,G3; float T1,T2,T3,T4,T5,R1,R2,R3,R4,R5; float pi=(m_pi/180); float a[6],a1[6]; int d32a,d42a,d43a,d32y,d42y,d43y; int count,s[6]; int cevap; int main() outportb(0x2c3,0x80); outportb(0x2c0,0x00); outportb(0x2c0,0x00); cout<<"basla"<<endl; count=1; while(count>=1) basla1(); if((count%2)==1) outportb(0x2c2,0x50); delay(7000); ; if((count%2)==0) outportb(0x2c2,0xa0); delay(7000);; if (cevap==2) break; count++;; return 0; int basla() if (count>1) devamet(); else referans(); return(0); int devamet() cout<<"yeni konum girmek i in 1e "<<endl; cout<<"baÿlang noktasna d np programdan kmak i in 2ye basnz:"; cin>>cevap;

16 Q11=T1; Q21=T2; Q31=T3; Q41=T4; Q51=T5; switch(cevap) case 1: cout<<"yeni koordinatlar giriniz:"; cin>>x2>>y>>z; sinirla(); break; case 2: cout<<"baÿlang noktasna d nyorum."<<endl; Q1=R1; Q22=R2; Q32=R3; Q42=R4; Q52=R5; hesapla(); break; ; return(0); void referans() cout<<"baÿlang noktasn Q11,Q21,Q31,Q41,Q51 olarak giriniz:" ; cin>>q11>>q21>>q31>>q41>>q51; R1=Q11; R2=Q21; R3=Q31; R4=Q41; R5=Q51; koordinat(); void koordinat() cout<<"koordinatlari X,Y,Z sirasiyla giriniz:"; cin>>x2>>y>>z; cout<<"kartezyen koordinatlari girildi"<<endl; cout<<" aliÿma uzayi i inde olup olmadi i kontrol ediliyor."<<endl; sinirla(); void sinirla() if (Z<3 Z>102.7 Y>65) disarda(); else if ((X2>=60 && Z>40) (X2>60 && Z>=40)) disarda(); else if (X2>=57 && Z>=52) disarda(); else if (X2>=71 && Z>=25) disarda(); else if (((X2*X2)+(Z*Z))<850) disarda(); else if (((((Z-30.7)*(Z-30.7))+(X2*X2))*(0.707))>(65*65)) disarda(); else if (abs(y)>abs(x2)) disarda(); dongu1();

17 void disarda() cout<<"koordinatlar calsma uzaynn dsnda"<<endl; cout<<"yeni koordinatlar giriniz"<<endl; koordinat(); cout<<"polar koordinatlar hesaplanmaya baÿland"<<endl; dongu1(); void dongu1() float Q2C,xa,za,t,Q2F,Q3F,Q4F; if (Z>65) Q2C=45; else Q2C=0; for(q2=(90-q2c);q2>=(50-q2c);q2=(q2-5)) for(q3=0;q3<=35;q3=(q3+5)) for(q4=0;q4<=35;q4=(q4+5)) G1=90-Q2; G2=Q2+Q3; G3=G2+Q4; xa= *cos(G1*pi)+28.6*sin(G2*pi)+16.0*sin(G3*pi); X1=abs(X2)-xa; za=(30.5+(28.0*sin(g1*pi))+(28.6*cos(g2*pi))+(16.0*cos(g3*pi))); Z1=Z-za; t=(x1*x1)+(z1*z1); /* delay(1000); */ if(((x1*x1)+(z1*z1))<10) break; if(((x1*x1)+(z1*z1))<10) break; if(((x1*x1)+(z1*z1))<10) break; cout<<"xa= "<<xa<<"za= "<<za<<endl; cout<<"q2="<<q2<<" Q3="<<Q3<<" Q4="<<Q4<<endl; cout<<"x1="<<x1<<" Z1="<<Z1<<endl; if(q2==0) Q2F=0; else Q2F=2.5; if(q3==0) Q3F=0; else Q3F=2.5; if(q4==0) Q4F=0; else Q4F=2.5; cout<<q2f<<" "<<Q3F<<" "<<Q4F<<" "<<endl; for(q22=(q2-q2f);q22<=(q2+2.5);q22=(q22+0.5)) for(q32=(q3-q3f);q32<=(q3+2.5);q32=(q32+0.5)) for(q42=(q4-q4f);q42<=(q4+2.5);q42=(q42+0.5)) G1=90-Q22; G2=Q22+Q32; G3=G2+Q42; X1=abs(X2)-3-(28.0*cos(G1*pi))-(28.6*sin(G2*pi))-(16.0*sin(G3*pi)); Z1=Z-(30.5+(28.0*sin(G1*pi))+(28.6*cos(G2*pi))+(16.0*cos(G3*pi)));

18 t=(x1*x1+z1*z1); /* cout<<"t= "<<t<<endl; delay(1000);*/ if(((x1*x1)+(z1*z1))<3) break; if(((x1*x1)+(z1*z1))<3) break; if(((x1*x1)+(z1*z1))<3) break; /*Q22=Q2; Q32=Q3; Q42=Q4;*/ cout<<"q22="<<q22<<" Q32="<<Q32<<" Q42="<<Q42<<endl; cout<<"x1="<<x1<<" Z1="<<Z1<<endl; Q22=Q2; Q32=Q3; Q42=Q4; for (Q1=0;Q1<=90;Q1=(Q1+2)) Y1=abs(Y)-abs(X2)*tan(Q1*pi); if ((Y1*Y1)<1) break; if ((X2<0)&&(Y<0)) Q1=180-Q1; else if ((X2<0)&&(Y>0)) Q1=180+Q1; else if ((X2>0)&&(Y>0)) Q1=360-Q1; cout<<"q1="<<q1<<" "<<"Q22="<<Q22<<" "<<"Q32="<<Q32<<" "<<"Q42="<<Q42<<endl; T1=Q1; T2=Q22; T3=Q32; T4=Q42; T5=Q51; Q52=Q51; cout<<"x1="<<x1<<" "<<"Y1="<<Y1<<" "<<"Z1="<<Z1<<endl; cout<<"polar koordinatlar hesaplandi"<<endl; cout<<"sinyal sayilari hesaplaniyor."<<endl; hesapla(); void hesapla() a[1]=q1-q11; while(a[1]>360.0) a[1]=a[1]-360.0; while(a[1]<-360.0)a[1]=a[1]+360.0; if (a[1]<=360.0&&a[1]>=0.0) if (a[1]>180.0) a[1]=a[1]-360.0; if (a[1]<=180.0) a[1]=a[1]; ; if(a[1]>=-360.0&&a[1]<0.0) if (a[1]>=-180.0) a[1]=a[1]; if (a[1]<-180.0) a[1]=360.0+a[1]; hesapla4(); int yuvarla(float r) int b; b=r; if ((r-b)>=0.5) b++; return b; void hesapla4()

19 int vi,i,j; s[1]=abs( yuvarla((a[1]*4960.0)/360.0) ) ; bul[1]=s[1]; a[2]=q22-q21; s[2]=abs( yuvarla((a[2]*1800.0)/90.0) ) ; bul[2]=s[2]; a[3]=q32-q31; s[3]=abs( yuvarla((a[3]*4150.0)/90.0) ) ; bul[3]=s[3]; a[4]=q42-q41; s[4]=abs( yuvarla((a[4]*1350.0)/45.0) ) ; bul[4]=s[4]; if (count==1) a[5]=0-q51; else a[5]=q52-q51; s[5]=abs( yuvarla((a[5]*148.0)/180.0) ) ; bul[5]=s[5]; vi=0; cout<<"bul1="<<bul[1]<<" Bul2="<<bul[2]<<" Bul3="<<bul[3]<<" Bul4="<<bul[4]<<" Bul5="<<bul[5]<<endl; for (i=1;i<=4;i++) for(j=(i+1);j<=5;j++) if (bul[i]==bul[j]) vi++; if (vi==10) cout<<"zaten baÿlangictayiz."<<endl; cout<<"baslangcta degilsek bu noktaya ulaÿmak i in yeni aci degerlerini giriniz."<<endl; duzeltme(); void duzeltme() cout<<"sinyal saylar hesapland."<<endl; cout<<"sinyal saylar zerinde gerekli dzeltmeler yaplyor."<<endl; if (a[5]<0) bul[5]=-1*bul[5]; cout<<"bul[5]="<<bul[5]<<endl; cout<<"a[2]="<<a[2]<<"a[3]="<<a[3]<<"a[4]="<<a[4]<<endl; if(a[2]>=0&&a[3]>=0&&a[4]>=0) duzeltme1(); else duzeltme2(); void duzeltme1() cout<<"dzeltme 1deyim"<<endl; d32a=yuvarla(a[2]*1420.0/90.0); cout<<"d32a="<<d32a<<endl; bul[3]=bul[3]+bul[2]+d32a; cout<<"bul[3]="<<bul[3]<<endl; d42a=yuvarla(a[2]*280.0/90.0); cout<<"d42a="<<d42a<<endl; bul[4]=bul[4]+bul[3]-d42a; cout<<"bul[4]="<<bul[4]<<endl; d43a=yuvarla(a[3]*1244.0/120.0); cout<<"d43a="<<d43a<<endl; bul[4]=bul[4]-d43a; cout<<"bul[4]="<<bul[4]<<endl; a[2]=1;

20 a[3]=1; a[4]=1; // sayac(); void duzeltme2() cout<<"dzeltme 2deyim"<<endl; if (a[2]<=0&&a[3]<=0&&a[4]<=0) duzeltme3(); else duzeltme4(); void duzeltme3() cout<<"dzeltme 3deyim"<<endl; d32y=abs(yuvarla(a[2]*1420.0/90.0)); bul[3]=bul[3]+bul[2]+d32y; d42y=abs(yuvarla(a[2]*280.0/90.0)); bul[4]=bul[4]+bul[3]-d42y; cout<<"bul[4]="<<bul[4]<<endl; d43y=abs(yuvarla(a[3]*1244.0/120.0)); bul[4]=bul[4]-d43y; cout<<"d32y="<<d32y<<"bul[3]="<<bul[3]<<"d42y="<<d42y<<"bul[4]="<<bul[4]<<"d43y ="<<d43y<<endl; a[2]=-1; a[3]=-1; a[4]=-1; // sayac(); // void duzeltme4() cout<<"dzeltme 4teyim"<<endl; if (a[2]<=0&&a[3]<=0&&a[4]>=0) duzeltme5(); else duzeltme6(); void duzeltme5() cout<<"dzeltme 5deyim"<<endl; d32y=abs(yuvarla(a[2]*1420.0/90.0)); bul[3]=bul[3]+bul[2]+d32y; d42y=abs(yuvarla(a[2]*280.0/90.0)); bul[4]=abs(-bul[4]+bul[3]-d42y); cout<<"bul[4]="<<bul[4]<<endl; d43y=abs(yuvarla(a[3]*1244.0/120.0)); bul[4]=abs(bul[4]-d43y); cout<<"d32y="<<d32y<<"bul[3]="<<bul[3]<<"d42y="<<d42y<<"bul[4]="<<bul[4]<<"d43y ="<<d43y<<endl; a[2]=-1; a[3]=-1;

21 a[4]=1; // sayac(); void duzeltme6() cout<<"dzeltme 6daym"<<endl; if (a[2]<=0&&a[3]>=0&&a[4]>=0) duzeltme7(); else duzeltme8(); void duzeltme7() cout<<"dzeltme 7deyim"<<endl; d32y=abs(yuvarla(a[2]*1420.0/90.0)); bul[3]=abs(-bul[3]+bul[2]+d32y); d42y=abs(yuvarla(a[2]*280.0/90.0)); bul[4]=abs(-bul[4]+bul[3]+d42y); cout<<"bul[4]="<<bul[4]<<endl; d43a=abs(yuvarla(a[3]*1244.0/120.0)); bul[4]=abs(bul[4]-d43a); cout<<"d32y="<<d32y<<"bul[3]="<<bul[3]<<"d42y="<<d42y<<"bul[4]="<<bul[4]<<"d43a ="<<d43a<<endl; a[2]=-1; a[3]=1; a[4]=1; // sayac(); void duzeltme8() cout<<"dzeltme 8deyim"<<endl; if (a[2]<=0&&a[3]>=0&&a[4]<=0) duzeltme9(); // else sayac(); void duzeltme9() cout<<"dzeltme 9daym"<<endl; d32y=abs(yuvarla(a[2]*1420.0/90.0)); bul[3]=abs(-bul[3]+bul[2]+d32y); d42y=abs(yuvarla(a[2]*280.0/90.0)); bul[4]=abs(-bul[4]+bul[3]+d42y); cout<<"bul[4]="<<bul[4]<<endl; d43a=abs(yuvarla(a[3]*1244.0/120.0)); bul[4]=abs(bul[4]+d43a); cout<<"d32y="<<d32y<<"bul[3]="<<bul[3]<<"d42y="<<d42y<<"bul[4]="<<bul[4]<<"d43a ="<<d43a<<endl; a[2]=-1; a[3]=1; a[4]=-1; cout<<"dzeltmeler bitti."<<endl; cout<<"motorlara gidecek gerekli sinyaller oluÿturuluyor."<<endl; cout<<"sinyaller g nderiliyor ve saya kontrol ediliyor."<<endl; delay(5000); // sayac();

22 int minimum(int b[6]) int k,i; k=0; for(i=1;i<=5;i++) k=(k+b[i]); for(i=1;i<=5;i++) if((b[i]!=0)&&(k>b[i])) k=b[i]; return k; void sinyal(int c[6]) if (((c[1]*a[1])==0)&&((c[2]*a[2])==0)) for (i=1;i<=4;i++) porta[i]=0;; if (((c[1]*a[1])==0)&&((c[2]*a[2])<0)) porta[1]=0x60;porta[2]=0xa0;porta[3]=0x90;porta[4]=0x50;; if (((c[1]*a[1])>0)&&((c[2]*a[2])==0)) porta[1]=0x06;porta[2]=0x0a;porta[3]=0x09;porta[4]=0x05;; if (((c[1]*a[1])>0)&&((c[2]*a[2])<0)) porta[1]=0x66;porta[2]=0xaa;porta[3]=0x99;porta[4]=0x55;; if (((c[1]*a[1])==0)&&((c[2]*a[2])>0)) porta[1]=0x50;porta[2]=0x90;porta[3]=0xa0;porta[4]=0x60;; if (((c[1]*a[1])<0)&&((c[2]*a[2])==0)) porta[1]=0x05;porta[2]=0x09;porta[3]=0x0a;porta[4]=0x06;; if (((c[1]*a[1])<0)&&((c[2]*a[2])>0)) porta[1]=0x55;porta[2]=0x99;porta[3]=0xaa;porta[4]=0x66;; if (((c[1]*a[1])<0)&&((c[2]*a[2])<0)) porta[1]=0x65;porta[2]=0xa9;porta[3]=0x9a;porta[4]=0x56;; if (((c[1]*a[1])>0)&&((c[2]*a[2])>0)) porta[1]=0x56;porta[2]=0x9a;porta[3]=0xa9;porta[4]=0x65;; if (((c[3]*a[3])==0)&&((c[4]*a[4])==0)) for (i=1;i<=4;i++) portb[i]=0;; if (((c[3]*a[3])==0)&&((c[4]*a[4])<0)) portb[1]=0x60;portb[2]=0xa0;portb[3]=0x90;portb[4]=0x50;; if (((c[3]*a[3])<0)&&((c[4]*a[4])==0)) portb[1]=0x06;portb[2]=0x0a;portb[3]=0x09;portb[4]=0x05;; if (((c[3]*a[3])<0)&&((c[4]*a[4])<0)) portb[1]=0x66;portb[2]=0xaa;portb[3]=0x99;portb[4]=0x55;; if (((c[3]*a[3])==0)&&((c[4]*a[4])>0)) portb[1]=0x50;portb[2]=0x90;portb[3]=0xa0;portb[4]=0x60;; if (((c[3]*a[3])>0)&&((c[4]*a[4])==0)) portb[1]=0x05;portb[2]=0x09;portb[3]=0x0a;portb[4]=0x06;; if (((c[3]*a[3])>0)&&((c[4]*a[4])>0)) portb[1]=0x55;portb[2]=0x99;portb[3]=0xaa;portb[4]=0x66;; if (((c[3]*a[3])>0)&&((c[4]*a[4])<0)) portb[1]=0x65;portb[2]=0xa9;portb[3]=0x9a;portb[4]=0x56;; if (((c[3]*a[3])<0)&&((c[4]*a[4])>0)) portb[1]=0x56;portb[2]=0x9a;portb[3]=0xa9;portb[4]=0x65;; if((c[5]*a[5])>0) portc[1]=0x05;portc[2]=0x09;portc[3]=0x0a;portc[4]=0x06;;

23 if((c[5]*a[5])<0) portc[1]=0x06;portc[2]=0x0a;portc[3]=0x09;portc[4]=0x05;; if((c[5]*a[5])==0) for(i=1;i<=4;i++) portc[i]=0;; int basla1() basla(); for (i=1;i<=5;i++) bul1[i]=abs(bul[i]); if (bul[i]!=0) sign[i]=bul[i]/bul1[i]; else sign[i]=1; for (i=1;i<=5;i++)if (bul1[i]!=0) bul2[i]=bul1[i]-minimum(bul1); else bul2[i]=0;; for (i=1;i<=5;i++)if (bul1[i]!=0) bul1[i]=minimum(bul1); else bul1[i]=0;; for (i=1;i<=5;i++)if (bul2[i]!=0) bul3[i]=bul2[i]-minimum(bul2); else bul3[i]=0;; for (i=1;i<=5;i++)if (bul2[i]!=0) bul2[i]=minimum(bul2); else bul2[i]=0;; for (i=1;i<=5;i++)if (bul3[i]!=0) bul4[i]=bul3[i]-minimum(bul3); else bul4[i]=0;; for (i=1;i<=5;i++)if (bul3[i]!=0) bul3[i]=minimum(bul3); else bul3[i]=0;; for (i=1;i<=5;i++)if (bul4[i]!=0) bul5[i]=bul4[i]-minimum(bul4); else bul5[i]=0;; for (i=1;i<=5;i++)if (bul4[i]!=0) bul4[i]=minimum(bul4); else bul4[i]=0;; for (i=1;i<=5;i++)cout<<bul1[i]<<" "; for (i=1;i<=5;i++)cout<<bul2[i]<<" "; for (i=1;i<=5;i++)cout<<bul3[i]<<" "; for (i=1;i<=5;i++)cout<<bul4[i]<<" "; for (i=1;i<=5;i++)cout<<bul5[i]<<" "; devir[1]=minimum(bul1); devir[2]=minimum(bul2); devir[3]=minimum(bul3); devir[4]=minimum(bul4); devir[5]=minimum(bul5); for(i=1;i<=5;i++)cout<<devir[i]<<" "; /* delay(15000); */

24 sinyal(bul1); cout<<porta[1]<<" "<<porta[2]<<" "<<porta[3]<<" "<<porta[4]<<endl; cout<<portb[1]<<" "<<portb[2]<<" "<<portb[3]<<" "<<portb[4]<<endl; cout<<portc[1]<<" "<<portc[2]<<" "<<portc[3]<<" "<<portc[4]<<endl; cout<<a[1]<<" "<<a[2]<<" "<<a[3]<<" "<<a[4]<<" "<<a[5]<<endl; for(i=1;i<=(4*devir[1]);i++) m=i%4; if(m==0) m=4; outportb(0x2c0,porta[m]); outportb(0x2c1,portb[m]); outportb(0x2c2,portc[m]); delay(6); ; /* delay(15000); */ sinyal(bul2); cout<<porta[1]<<" "<<porta[2]<<" "<<porta[3]<<" "<<porta[4]<<endl; cout<<portb[1]<<" "<<portb[2]<<" "<<portb[3]<<" "<<portb[4]<<endl; cout<<portc[1]<<" "<<portc[2]<<" "<<portc[3]<<" "<<portc[4]<<endl; cout<<a[1]<<" "<<a[2]<<" "<<a[3]<<" "<<a[4]<<" "<<a[5]<<endl; for(i=1;i<=(4*devir[2]);i++) m=i%4; if (m==0) m=4; outportb(0x2c0,porta[m]); outportb(0x2c1,portb[m]); outportb(0x2c2,portc[m]); delay(6); ; /* delay(15000); */ sinyal(bul3); cout<<porta[1]<<" "<<porta[2]<<" "<<porta[3]<<" "<<porta[4]<<endl; cout<<portb[1]<<" "<<portb[2]<<" "<<portb[3]<<" "<<portb[4]<<endl; cout<<portc[1]<<" "<<portc[2]<<" "<<portc[3]<<" "<<portc[4]<<endl; cout<<a[1]<<" "<<a[2]<<" "<<a[3]<<" "<<a[4]<<" "<<a[5]<<endl; for(i=1;i<=(4*devir[3]);i++) m=i%4; if (m==0) m=4; outportb(0x2c0,porta[m]); outportb(0x2c1,portb[m]); outportb(0x2c2,portc[m]); delay(6); ; /* delay(15000); */ sinyal(bul4); cout<<porta[1]<<" "<<porta[2]<<" "<<porta[3]<<" "<<porta[4]<<endl; cout<<portb[1]<<" "<<portb[2]<<" "<<portb[3]<<" "<<portb[4]<<endl; cout<<portc[1]<<" "<<portc[2]<<" "<<portc[3]<<" "<<portc[4]<<endl; cout<<a[1]<<" "<<a[2]<<" "<<a[3]<<" "<<a[4]<<" "<<a[5]<<endl; for(i=1;i<=(4*devir[4]);i++) m=i%4;

25 if (m==0) m=4; outportb(0x2c0,porta[m]); outportb(0x2c1,portb[m]); outportb(0x2c2,portc[m]); delay(6); ; /* delay(15000);*/ sinyal(bul5); cout<<porta[1]<<" "<<porta[2]<<" "<<porta[3]<<" "<<porta[4]<<endl; cout<<portb[1]<<" "<<portb[2]<<" "<<portb[3]<<" "<<portb[4]<<endl; cout<<portc[1]<<" "<<portc[2]<<" "<<portc[3]<<" "<<portc[4]<<endl; cout<<a[1]<<" "<<a[2]<<" "<<a[3]<<" "<<a[4]<<" "<<a[5]<<endl; for(i=1;i<=(4*devir[5]);i++) m=i%4; if (m==0) m=4; outportb(0x2c0,porta[m]); outportb(0x2c1,portb[m]); outportb(0x2c2,portc[m]); delay(6); ; /* delay(15000);*/ return(0); TEST2.CPP /* Topel robotu eklem açıları verilerek hareket ettiren program */ #include <time.h> #include <stdio.h> #include <dos.h> #include <conio.h> #include <iostream.h> #include <math.h> int sign[6],bul[6],devir[6],bul1[6],bul2[6],bul3[6],bul4[6],bul5[6],i,j,k,l,m,t,min; int porta[6],portb[6],portc[6]; void sinyal(int c[6]); int minimum(int b[6]); void basla(); /*60*/ void devamet(); /* aras*/ void donuyor(); /* aras*/ void koordinat(); /* aras*/ void sinirla(); /* aras*/ void disarda(); /* aras*/ void dongu1(); /* aras*/ void dongu2(); /* aras*/ void dongu3(); /* aras*/ void dongu4(); /* aras*/ void dongu5(); /* aras*/ void hesapla(); /* aras*/ void hesapla2(); /* aras*/ void hesapla3(); /*910*/ void hesapla4(); /* arasi*/

26 void duzeltme();/* arasi*/ void duzeltme1();/* arasi*/ void duzeltme2();/* arasi*/ void duzeltme3();/* arasi*/ void duzeltme4();/* arasi*/ void duzeltme5();/* arasi*/ void duzeltme6();/* arasi*/ void duzeltme7();/* arasi*/ void duzeltme8();/* arasi*/ void duzeltme9();/* arasi*/ void sayac(); int yuvarla(float r); char harf; float Q22,Q32,Q42,Q1,Q11,Q21,Q31,Q41,Q51,Q3,Q2,Q4,Q5,X1,X2,Y,Y1,Z,Z1,G1,G2,G3; float pi=(m_pi/180); float R1,R2,R3,R4,R5; float a[6],a1[6]; int d32a,d42a,d43a,d32y,d42y,d43y; int count,s[6]; int cevap; int main() cout<<"q1 Q11 Q22 Q21 Q32 Q31 Q42 Q41 Q51 giriniz"<<endl; cin>>q1>>q11>>q22>>q21>>q32>>q31>>q42>>q41>>q51; R1=Q11; R2=Q21; R3=Q31; R4=Q41; R5=Q51; cout<<"q1="<<q1<<"q11="<<q11<<"q22="<<q22<<"q21="<<q21<<"q32="<<q32<<" Q31="<<Q31<<"Q42="<<Q42<<"Q41="<<Q41<<"Q51="<<Q51<<endl; count=1; basla(); while(count>=1) if ((count%2)==1) outportb(0x2c2,0x50); delay(7000); elseoutportb(0x2c2,0xa0); delay(7000); count++; cout<<"yeni konum girmek i in 1e "<<endl; cout<<"baÿlang noktasna d np programdan kmak i in 2ye basnz:"; cin>>cevap; Q11=Q1; Q21=Q22; Q31=Q32; Q41=Q42; Q51=Q51; switch(cevap) case 1: cout<<"yeni koordinatlar giriniz:"; cin>>q1>>q22>>q32>>q42>>q51; basla(); break; case 2: cout<<"baÿlang noktasna d nyorum."<<endl; Q1=R1; Q22=R2; Q32=R3; Q42=R4; Q51=R5; basla(); break;; if (cevap==2) break;;

27 return 0; void basla() a[1]=q1-q11; while(a[1]>360.0) a[1]=a[1]-360.0; while(a[1]<-360.0)a[1]=a[1]+360.0; if (a[1]<=360.0&&a[1]>=0.0) if (a[1]>180.0) a[1]=a[1]-360.0; if (a[1]<=180.0) a[1]=a[1]; ; if(a[1]>=-360.0&&a[1]<0.0) if (a[1]>=-180.0) a[1]=a[1]; else a[1]=360.0+a[1]; hesapla4(); outportb(0x2c3,0x80); outportb(0x2c0,0x00); outportb(0x2c0,0x00); for (i=1;i<=5;i++) bul1[i]=abs(bul[i]); if (bul[i]!=0) sign[i]=bul[i]/bul1[i]; else sign[i]=1; for (i=1;i<=5;i++)if (bul1[i]!=0) bul2[i]=bul1[i]-minimum(bul1); else bul2[i]=0;; for (i=1;i<=5;i++)if (bul1[i]!=0) bul1[i]=minimum(bul1); else bul1[i]=0;; for (i=1;i<=5;i++)if (bul2[i]!=0) bul3[i]=bul2[i]-minimum(bul2); else bul3[i]=0;; for (i=1;i<=5;i++)if (bul2[i]!=0) bul2[i]=minimum(bul2); else bul2[i]=0;; for (i=1;i<=5;i++)if (bul3[i]!=0) bul4[i]=bul3[i]-minimum(bul3); else bul4[i]=0;; for (i=1;i<=5;i++)if (bul3[i]!=0) bul3[i]=minimum(bul3); else bul3[i]=0;; for (i=1;i<=5;i++)if (bul4[i]!=0) bul5[i]=bul4[i]-minimum(bul4); else bul5[i]=0;; for (i=1;i<=5;i++)if (bul4[i]!=0) bul4[i]=minimum(bul4);

28 else bul4[i]=0;; for (i=1;i<=5;i++)cout<<bul1[i]<<" "; for (i=1;i<=5;i++)cout<<bul2[i]<<" "; for (i=1;i<=5;i++)cout<<bul3[i]<<" "; for (i=1;i<=5;i++)cout<<bul4[i]<<" "; for (i=1;i<=5;i++)cout<<bul5[i]<<" "; devir[1]=minimum(bul1); devir[2]=minimum(bul2); devir[3]=minimum(bul3); devir[4]=minimum(bul4); devir[5]=minimum(bul5); for(i=1;i<=5;i++)cout<<devir[i]<<" "; /* delay(15000); */ sinyal(bul1); cout<<porta[1]<<" "<<porta[2]<<" "<<porta[3]<<" "<<porta[4]<<endl; cout<<portb[1]<<" "<<portb[2]<<" "<<portb[3]<<" "<<portb[4]<<endl; cout<<portc[1]<<" "<<portc[2]<<" "<<portc[3]<<" "<<portc[4]<<endl; for(i=1;i<=(4*devir[1]);i++) m=i%4; if(m==0) m=4; outportb(0x2c0,porta[m]); outportb(0x2c1,portb[m]); outportb(0x2c2,portc[m]); delay(6); ; /* delay(15000); */ sinyal(bul2); cout<<porta[1]<<" "<<porta[2]<<" "<<porta[3]<<" "<<porta[4]<<endl; cout<<portb[1]<<" "<<portb[2]<<" "<<portb[3]<<" "<<portb[4]<<endl; cout<<portc[1]<<" "<<portc[2]<<" "<<portc[3]<<" "<<portc[4]<<endl; for(i=1;i<=(4*devir[2]);i++) m=i%4; if (m==0) m=4; outportb(0x2c0,porta[m]); outportb(0x2c1,portb[m]); outportb(0x2c2,portc[m]); delay(6); ;

29 /* delay(15000); */ sinyal(bul3); cout<<porta[1]<<" "<<porta[2]<<" "<<porta[3]<<" "<<porta[4]<<endl; cout<<portb[1]<<" "<<portb[2]<<" "<<portb[3]<<" "<<portb[4]<<endl; cout<<portc[1]<<" "<<portc[2]<<" "<<portc[3]<<" "<<portc[4]<<endl; for(i=1;i<=(4*devir[3]);i++) m=i%4; if (m==0) m=4; outportb(0x2c0,porta[m]); outportb(0x2c1,portb[m]); outportb(0x2c2,portc[m]); delay(6); ; /* delay(15000); */ sinyal(bul4); cout<<porta[1]<<" "<<porta[2]<<" "<<porta[3]<<" "<<porta[4]<<endl; cout<<portb[1]<<" "<<portb[2]<<" "<<portb[3]<<" "<<portb[4]<<endl; cout<<portc[1]<<" "<<portc[2]<<" "<<portc[3]<<" "<<portc[4]<<endl; for(i=1;i<=(4*devir[4]);i++) m=i%4; if (m==0) m=4; outportb(0x2c0,porta[m]); outportb(0x2c1,portb[m]); outportb(0x2c2,portc[m]); delay(6); ; /* delay(15000);*/ sinyal(bul5); cout<<porta[1]<<" "<<porta[2]<<" "<<porta[3]<<" "<<porta[4]<<endl; cout<<portb[1]<<" "<<portb[2]<<" "<<portb[3]<<" "<<portb[4]<<endl; cout<<portc[1]<<" "<<portc[2]<<" "<<portc[3]<<" "<<portc[4]<<endl; for(i=1;i<=(4*devir[5]);i++) m=i%4; if (m==0) m=4; outportb(0x2c0,porta[m]); outportb(0x2c1,portb[m]); outportb(0x2c2,portc[m]); delay(6); ; int yuvarla(float r) int b; b=r; if ((r-b)>=0.5) b++; return b; void hesapla4() int vi,i,j;

30 s[1]=abs( yuvarla((a[1]*4960.0)/360.0) ) ; bul[1]=s[1]; cout<<"bul[1]="<<bul[1]<<endl; a[2]=q22-q21; cout<<"a[2]="<<a[2]<<endl; s[2]=abs( yuvarla((a[2]*1800.0)/90.0) ) ; bul[2]=s[2]; cout<<"bul[2]="<<bul[2]<<endl; a[3]=q32-q31; cout<<"a[3]="<<a[3]<<endl; s[3]=abs( yuvarla((a[3]*4150.0)/90.0) ) ; bul[3]=s[3]; cout<<"bul[3]="<<bul[3]<<endl; a[4]=q42-q41; cout<<"a[4]="<<a[4]<<endl; s[4]=abs( yuvarla((a[4]*1350.0)/45.0) ) ; bul[4]=s[4]; cout<<"bul[4]="<<bul[4]<<endl; a[5]=0-q51; cout<<"a[5]="<<a[5]<<endl; s[5]=abs( yuvarla((a[5]*148.0)/180.0) ) ; bul[5]=s[5]; cout<<"bul[5]="<<bul[5]<<endl; vi=0; cout<<"bul1="<<bul[1]<<" Bul2="<<bul[2]<<" Bul3="<<bul[3]<<" Bul4="<<bul[4]<<" Bul5="<<bul[5]<<endl; for (i=1;i<=4;i++) for(j=(i+1);j<=5;j++) if (bul[i]==bul[j]) vi++; if (vi==10) cout<<"zaten baÿlangictayiz."<<endl; cout<<"baslangcta degilsek bu noktaya ulaÿmak i in yeni aci degerlerini giriniz."<<endl; duzeltme(); void duzeltme() cout<<"sinyal saylar hesapland."<<endl; cout<<"sinyal saylar zerinde gerekli dzeltmeler yaplyor."<<endl; if (a[5]<0) bul[5]=-1*bul[5]; cout<<"bul[5]="<<bul[5]<<endl; cout<<"a[2]="<<a[2]<<"a[3]="<<a[3]<<"a[4]="<<a[4]<<endl; if(a[2]>=0&&a[3]>=0&&a[4]>=0) duzeltme1(); else duzeltme2(); void duzeltme1() cout<<"dzeltme 1deyim"<<endl;

31 d32a=yuvarla(a[2]*2550.0/90.0); cout<<"d32a="<<d32a<<endl; bul[3]=bul[3]+bul[2]+d32a; cout<<"bul[3]="<<bul[3]<<endl; d42a=yuvarla(a[2]*230.0/90.0); cout<<"d42a="<<d42a<<endl; bul[4]=bul[4]+bul[3]-d42a; cout<<"bul[4]="<<bul[4]<<endl; d43a=yuvarla(a[3]*800.0/120.0); cout<<"d43a="<<d43a<<endl; bul[4]=bul[4]-d43a; cout<<"bul[4]="<<bul[4]<<endl; a[2]=1; a[3]=1; a[4]=1; // sayac(); void duzeltme2() cout<<"dzeltme 2deyim"<<endl; if (a[2]<=0&&a[3]<=0&&a[4]<=0) duzeltme3(); else duzeltme4(); void duzeltme3() cout<<"dzeltme 3deyim"<<endl; d32y=abs(yuvarla(a[2]*2550.0/90.0)); bul[3]=bul[3]+bul[2]+d32y; d42y=abs(yuvarla(a[2]*230.0/90.0)); bul[4]=bul[4]+bul[3]-d42y; cout<<"bul[4]="<<bul[4]<<endl; d43y=abs(yuvarla(a[3]*800.0/120.0)); bul[4]=bul[4]-d43y; cout<<"d32y="<<d32y<<"bul[3]="<<bul[3]<<"d42y="<<d42y<<"bul[4]="<<bul[4]<<"d43y ="<<d43y<<endl; a[2]=-1; a[3]=-1; a[4]=-1; // sayac(); // void duzeltme4() cout<<"dzeltme 4teyim"<<endl; if (a[2]<=0&&a[3]<=0&&a[4]>=0) duzeltme5(); else duzeltme6(); void duzeltme5()

32 cout<<"dzeltme 5deyim"<<endl; d32y=abs(yuvarla(a[2]*2550.0/90.0)); bul[3]=bul[3]+bul[2]+d32y; d42y=abs(yuvarla(a[2]*230.0/90.0)); bul[4]=abs(-bul[4]+bul[3]-d42y); cout<<"bul[4]="<<bul[4]<<endl; d43y=abs(yuvarla(a[3]*800.0/120.0)); bul[4]=abs(bul[4]-d43y); cout<<"d32y="<<d32y<<"bul[3]="<<bul[3]<<"d42y="<<d42y<<"bul[4]="<<bul[4]<<"d43y ="<<d43y<<endl; a[2]=-1; a[3]=-1; a[4]=1; // sayac(); void duzeltme6() cout<<"dzeltme 6daym"<<endl; if (a[2]<=0&&a[3]>=0&&a[4]>=0) duzeltme7(); else duzeltme8(); void duzeltme7() cout<<"dzeltme 7deyim"<<endl; d32y=abs(yuvarla(a[2]*2550.0/90.0)); bul[3]=abs(-bul[3]+bul[2]+d32y); d42y=abs(yuvarla(a[2]*230.0/90.0)); bul[4]=abs(-bul[4]+bul[3]+d42y); cout<<"bul[4]="<<bul[4]<<endl; d43a=abs(yuvarla(a[3]*800.0/120.0)); bul[4]=abs(bul[4]-d43a); cout<<"d32y="<<d32y<<"bul[3]="<<bul[3]<<"d42y="<<d42y<<"bul[4]="<<bul[4]<<"d43a ="<<d43a<<endl; a[2]=-1; a[3]=1; a[4]=1; // sayac(); void duzeltme8() cout<<"dzeltme 8deyim"<<endl; if (a[2]<=0&&a[3]>=0&&a[4]<=0) duzeltme9(); // else sayac(); void duzeltme9() cout<<"dzeltme 9daym"<<endl; d32y=abs(yuvarla(a[2]*2550.0/90.0)); bul[3]=abs(-bul[3]+bul[2]+d32y); d42y=abs(yuvarla(a[2]*230.0/90.0)); bul[4]=abs(-bul[4]+bul[3]+d42y);

33 cout<<"bul[4]="<<bul[4]<<endl; d43a=abs(yuvarla(a[3]*800.0/120.0)); bul[4]=abs(bul[4]+d43a); cout<<"d32y="<<d32y<<"bul[3]="<<bul[3]<<"d42y="<<d42y<<"bul[4]="<<bul[4]<<"d43a ="<<d43a<<endl; a[2]=-1; a[3]=1; a[4]=-1; cout<<"dzeltmeler bitti."<<endl; cout<<"motorlara gidecek gerekli sinyaller oluÿturuluyor."<<endl; cout<<"sinyaller g nderiliyor ve saya kontrol ediliyor."<<endl; delay(5000); // sayac(); int minimum(int b[6]) int k,i; k=0; for(i=1;i<=5;i++) k=(k+b[i]); for(i=1;i<=5;i++) if((b[i]!=0)&&(k>b[i])) k=b[i]; return k; void sinyal(int c[6]) if (((c[1]*a[1])==0)&&((c[2]*a[2])==0)) for (i=1;i<=4;i++) porta[i]=0;; if (((c[1]*a[1])==0)&&((c[2]*a[2])<0)) porta[1]=0x60;porta[2]=0xa0;porta[3]=0x90;porta[4]=0x50;; if (((c[1]*a[1])>0)&&((c[2]*a[2])==0)) porta[1]=0x06;porta[2]=0x0a;porta[3]=0x09;porta[4]=0x05;; if (((c[1]*a[1])>0)&&((c[2]*a[2])<0)) porta[1]=0x66;porta[2]=0xaa;porta[3]=0x99;porta[4]=0x55;; if (((c[1]*a[1])==0)&&((c[2]*a[2])>0)) porta[1]=0x50;porta[2]=0x90;porta[3]=0xa0;porta[4]=0x60;; if (((c[1]*a[1])<0)&&((c[2]*a[2])==0)) porta[1]=0x05;porta[2]=0x09;porta[3]=0x0a;porta[4]=0x06;; if (((c[1]*a[1])<0)&&((c[2]*a[2])>0)) porta[1]=0x55;porta[2]=0x99;porta[3]=0xaa;porta[4]=0x66;; if (((c[1]*a[1])<0)&&((c[2]*a[2])<0)) porta[1]=0x65;porta[2]=0xa9;porta[3]=0x9a;porta[4]=0x56;; if (((c[1]*a[1])>0)&&((c[2]*a[2])>0)) porta[1]=0x56;porta[2]=0x9a;porta[3]=0xa9;porta[4]=0x65;; if (((c[3]*a[3])==0)&&((c[4]*a[4])==0)) for (i=1;i<=4;i++) portb[i]=0;; if (((c[3]*a[3])==0)&&((c[4]*a[4])<0)) portb[1]=0x60;portb[2]=0xa0;portb[3]=0x90;portb[4]=0x50;; if (((c[3]*a[3])<0)&&((c[4]*a[4])==0)) portb[1]=0x06;portb[2]=0x0a;portb[3]=0x09;portb[4]=0x05;; if (((c[3]*a[3])<0)&&((c[4]*a[4])<0))

34 portb[1]=0x66;portb[2]=0xaa;portb[3]=0x99;portb[4]=0x55;; if (((c[3]*a[3])==0)&&((c[4]*a[4])>0)) portb[1]=0x50;portb[2]=0x90;portb[3]=0xa0;portb[4]=0x60;; if (((c[3]*a[3])>0)&&((c[4]*a[4])==0)) portb[1]=0x05;portb[2]=0x09;portb[3]=0x0a;portb[4]=0x06;; if (((c[3]*a[3])>0)&&((c[4]*a[4])>0)) portb[1]=0x55;portb[2]=0x99;portb[3]=0xaa;portb[4]=0x66;; if (((c[3]*a[3])>0)&&((c[4]*a[4])<0)) portb[1]=0x65;portb[2]=0xa9;portb[3]=0x9a;portb[4]=0x56;; if (((c[3]*a[3])<0)&&((c[4]*a[4])>0)) portb[1]=0x56;portb[2]=0x9a;portb[3]=0xa9;portb[4]=0x65;; if((c[5]*a[5])>0) portc[1]=0x05;portc[2]=0x09;portc[3]=0x0a;portc[4]=0x06;; if((c[5]*a[5])<0) portc[1]=0x06;portc[2]=0x0a;portc[3]=0x09;portc[4]=0x05;; if((c[5]*a[5])==0) for(i=1;i<=4;i++) portc[i]=0;;

FIVE JOINT ROBOT ARM By Mustafa Serkan Bozkurt Mehmet Fidan. A Graduation Project Report Electrical-Electronics Engineering Department

FIVE JOINT ROBOT ARM By Mustafa Serkan Bozkurt Mehmet Fidan. A Graduation Project Report Electrical-Electronics Engineering Department FIVE JOINT ROBOT ARM By Mustafa Serkan Bozkurt Mehmet Fidan A Graduation Project Report Electrical-Electronics Engineering Department Haziran 2004 2 FIVE JOINT ROBOT ARM by 151219992014 Mustafa Serkan

Detaylı

Karakter katarları ile ilgili fonksiyonlar içerir Yerel kayan noktalı sayılar tanımlanır

Karakter katarları ile ilgili fonksiyonlar içerir Yerel kayan noktalı sayılar tanımlanır stringh floath Karakter katarları ile ilgili fonksiyonlar içerir Yerel kayan noktalı sayılar tanımlanır 32 Sorgulama İfadesi - if Deyimi (5 Hafta) Bu deyim sorgulamanın tek basamakta yapılacağı yerlerde

Detaylı

Eastern Mediterranean University Faculty of Arts & Sciences -- Department Of Mathematics BİLG213 BİLGİSAYAR PROGRAMLAMAYA GİRİŞ

Eastern Mediterranean University Faculty of Arts & Sciences -- Department Of Mathematics BİLG213 BİLGİSAYAR PROGRAMLAMAYA GİRİŞ Eastern Mediterranean University Faculty of Arts & Sciences -- Department Of Mathematics BİLG213 BİLGİSAYAR PROGRAMLAMAYA GİRİŞ DÖNEM SONU SINAVI GÜZ 2009-2010 13 Ocak 2010, Sınav Süresi: 120 dakika. İsim

Detaylı

Struct VE GÖSTERİCİLER FONKSİYONLARDA STRUCT KULLANIMI Programlama dilleri hafta -

Struct VE GÖSTERİCİLER FONKSİYONLARDA STRUCT KULLANIMI Programlama dilleri hafta - BİLECİK ŞEYH EDEBALİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ Struct VE GÖSTERİCİLER FONKSİYONLARDA STRUCT KULLANIMI Programlama dilleri 1-14. hafta - Araş. Gör. Nesibe YALÇIN

Detaylı

İNÖNÜ ÜNİVERSİTESİ MÜH. FAK. BİLGİSAYAR MÜH. BÖL. ALGORİTMA VE PROGRAMLAMA 1 DERSİ LAB. ÖDEVİ

İNÖNÜ ÜNİVERSİTESİ MÜH. FAK. BİLGİSAYAR MÜH. BÖL. ALGORİTMA VE PROGRAMLAMA 1 DERSİ LAB. ÖDEVİ İNÖNÜ ÜNİVERSİTESİ MÜH. FAK. BİLGİSAYAR MÜH. BÖL. ALGORİTMA VE PROGRAMLAMA 1 DERSİ LAB. ÖDEVİ AD SOYAD : TESLİM TARİHİ : OKUL NO : TESLİM SÜRESİ : 1 hafta Ödev No : 5 1. Aşağıdaki programların çıktısı

Detaylı

mikroc Dili ile Mikrodenetleyici Programlama Ders Notları / Dr. Serkan DİŞLİTAŞ

mikroc Dili ile Mikrodenetleyici Programlama Ders Notları / Dr. Serkan DİŞLİTAŞ 12. Motor Kontrolü Motorlar, elektrik enerjisini hareket enerjisine çeviren elektromekanik sistemlerdir. Motorlar temel olarak 2 kısımdan oluşur: Stator: Hareketsiz dış gövde kısmı Rotor: Stator içerisinde

Detaylı

AHMET YESEVİ ÜNİVERSİTESİ BİLİŞİM SİSTEMLERİ VE MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ LİSANS DÖNEM ÖDEVİ

AHMET YESEVİ ÜNİVERSİTESİ BİLİŞİM SİSTEMLERİ VE MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ LİSANS DÖNEM ÖDEVİ AHMET YESEVİ ÜNİVERSİTESİ BİLİŞİM SİSTEMLERİ VE MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ LİSANS DÖNEM ÖDEVİ TBIL-303-01 Veri Yapıları ve Algoritmalar İki Yönlü Bağlantılı Liste Uygulaması HAZIRLAYAN

Detaylı

Hızlı Kurulum Kılavuzu MODELLER P4320, P4520 UYARI!

Hızlı Kurulum Kılavuzu MODELLER P4320, P4520 UYARI! Fisheye IP Kamera Hızlı Kurulum Kılavuzu MODELLER P4320, P4520 UYARI! Kurulum işlemine geçmeden önce kurulum kılavuzunu dikkatlice okuyunuz. Bu kılavuzunun içeriği, fonksiyonlardaki değişiklikler önceden

Detaylı

ROBOT KOL BİTİRME PROJESİ DÖNEM İÇİ RAPORU

ROBOT KOL BİTİRME PROJESİ DÖNEM İÇİ RAPORU ROBOT KOL BİTİRME PROJESİ DÖNEM İÇİ RAPORU İSMAİL KAHRAMAN-ŞEYMA ÖZTÜRK 200713151027 200513152008 Robot Kol Mekanizması: Şekildeki robot-insan benzetmesinden yola çıkarak, bel kısmı tekerlekli ve sağa-sola-ileri-geri

Detaylı

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Uzaktan Eğitim Uygulama ve Araştırma Merkezi JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java da Fonksiyon Tanımlamak Java da Döngüler Java da Şart İfadeleri Uygulamalar Java da Fonksiyon Tanımlamak JAVA DA FONKSİYON TANIMLAMAK 4 Fonksiyonlar;

Detaylı

3D Yazıcı Kablolama Kılavuzu

3D Yazıcı Kablolama Kılavuzu 3D Yazıcı Kablolama Kılavuzu Robit Teknoloji İçindekiler 1.1. Gerekli Parçalar... 2 1.2 Hazırlık... 6 1.2.1 Step Motor Sürücü Çiplerine Soğutucu Ekleme... 6 1.2.2 Jumperların Takılması... 8 1.3 Ana Kart

Detaylı

Algoritma ve Programlama: Karar Yapıları ve Döngüler

Algoritma ve Programlama: Karar Yapıları ve Döngüler Algoritma ve Programlama: Karar Yapıları ve Döngüler Bir algoritma, herhangi bir programlama dili (C, C++, Pascal, Visual Basic, Java gibi) ile kodlandığında program haline gelir. Algoritmada yer alan

Detaylı

C++ Dersi: Nesne Tabanlı Programlama

C++ Dersi: Nesne Tabanlı Programlama C++ Dersi: Nesne Tabanlı Programlama Bölüm 7: Yapılar Diziler İçerik Yapıların Tanımı Yapılara İlk Değer Atama Yapı Elemanlarına Erişim İç içe Yapılar Yapılar ve Fonksiyonlar 2 Yapılar (structures) içinde

Detaylı

10. DOSYA GİRİŞ ÇIKIŞ FONKSİYONLARI

10. DOSYA GİRİŞ ÇIKIŞ FONKSİYONLARI 10. DOSYA GİRİŞ ÇIKIŞ FONKSİYONLARI İkincil bellekte tanımlanmış bölgelere dosya denir. Her dosyanın bir ismi vardır. Ancak dosyaların isimlendirme kuralları sistemden sisteme göre değişebilmektedir. Dosya

Detaylı

7. Port Programlama. mikroc Dili ile Mikrodenetleyici Programlama Ders Notları -42- Şekil 2.1. Atmega16 mikrodenetleyici pin şeması

7. Port Programlama. mikroc Dili ile Mikrodenetleyici Programlama Ders Notları -42- Şekil 2.1. Atmega16 mikrodenetleyici pin şeması 7. Port Programlama Şekil 2.1. Atmega16 mikrodenetleyici pin şeması A, B, C ve D portları için Register yapıları benzer şekildedir. -42- 7.1. Port Yönlendirme Mikrodenetleyicinin A, B, C, D ve varsa diğer

Detaylı

/ C Bilgisayar Programlama Yıliçi Sınavı Test Soruları. Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : , 60 dak.

/ C Bilgisayar Programlama Yıliçi Sınavı Test Soruları. Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : , 60 dak. Selçuk Üniversitesi Mühendislik-Mimarlık Fakültesi Harita Mühendisliği Bölümü Yıliçi Sınavı Test Soruları dı soyadı :... Öğrenci no :... İmza :... Tarih, Süre :26.11.2012, 60 dak. Dikkat!!! Soru kitapçığında

Detaylı

Sınav tarihi : Süre : 60 dak. c) En başta #include<stdio.h> yazılmamıştır. c) zt d) Pi e) X0

Sınav tarihi : Süre : 60 dak. c) En başta #include<stdio.h> yazılmamıştır. c) zt d) Pi e) X0 Selçuk Üniversitesi, Mühendislik Fakültesi, Harita Mühendisliği Bölümü Yıliçi Sınavı Test Soruları Adı soyadı : Öğrenci no : Sınav tarihi : 14.04.2015 Süre : 60 dak. 1. Tür dönüşümleri... olmak üzere iki

Detaylı

Sınav tarihi : Süre : 60 dak. a) strstr b) strchr c) strcat d) strcpy e) strlen. a) b) d) e) 0

Sınav tarihi : Süre : 60 dak. a) strstr b) strchr c) strcat d) strcpy e) strlen. a) b) d) e) 0 Selçuk Üniversitesi, Mühendislik Fakültesi, Harita Mühendisliği Bölümü Bitirme Sınavı Test Soruları Adı soyadı : Öğrenci no : Sınav tarihi : 01.06.2017 Süre : 60 dak. 1. t değişkeni hakkında aşağıdakilerden

Detaylı

Arasınav Sınavı Soruları Güz 2017 Süre: 90 Dakika

Arasınav Sınavı Soruları Güz 2017 Süre: 90 Dakika Manisa Celal Bayar Üniversitesi Yazılım Mühendisliği Bölümü YZM 1105- Algoritma ve Programlama I Arasınav Sınavı Soruları Güz 2017 Süre: 90 Dakika Derse Kayıtlı Olduğunuz Grubun Öğretim Üyesini (X) ile

Detaylı

Döngü Komutları. Komutu. while Komutu Diğer Operatörler Bileşik Komut for Komutu. İçiçe Döngüler break ve continue Komutları

Döngü Komutları. Komutu. while Komutu Diğer Operatörler Bileşik Komut for Komutu. İçiçe Döngüler break ve continue Komutları Döngüler Döngü Komutları while Komutu Diğer Operatörler Bileşik Komut for Komutu do-while Komutu İçiçe Döngüler break ve continue Komutları while Komutu Döngü komutları komutların bir çok kez yeniden yürülmesini

Detaylı

5.41. UYDU ANTENİ YÖNLENDİRME OTOMASYON PROJESİ

5.41. UYDU ANTENİ YÖNLENDİRME OTOMASYON PROJESİ 5.41. UYDU ANTENİ YÖNLİRME OTOMASYON PROJESİ Prof. Dr. Asaf VAROL avarol@firat.edu.tr GİRİŞ 1960 lı yıllardan sonra ABD ve Rusya arasında yaşanan aya adım atma yarışı uzay teknolojisinin süratle gelişmesine

Detaylı

İÇİNDEKİLER ASD-B2 Serisi Sürücü Konnektör ve Terminal Bağlantıları

İÇİNDEKİLER ASD-B2 Serisi Sürücü Konnektör ve Terminal Bağlantıları İÇİNDEKİLER 1- ASD-A2 Serisi Sürücüler ve Motorlar 1.1-Temel Bağlantılar 1.1.1- ASD-A2 Serisi Motor Sürücü Bağlantısı 1.1.2- ASD-A2 Serisi Encoder Sürücü Bağlantısı 1.2-Ayrıntılı Bağlantılar 1.2-1. Çevre

Detaylı

BİLG Dr. Mustafa T. Babagil 1

BİLG Dr. Mustafa T. Babagil 1 BİLG214 20.10.2009 Dr. Mustafa T. Babagil 1 Yapısal bilgi türlerinin tanımlanması. (C++ daki struct yapısı. ) Daha önce öğrenmiş olduğumuz bilgi tipleri char, int ve float v.b. değişkenler ile dizi (array)

Detaylı

İstanbul Teknik Üniversitesi IEEE Öğrenci Kolu

İstanbul Teknik Üniversitesi IEEE Öğrenci Kolu Step Motor Step motor fırçasız elektrik motorlarıdır. Step motorlar ile tam bir tur dönmeyi yüksek sayıda adımlara bölebilmek mümkündür (200 adım). Step motorları sürmek için, sürekli gerilim uygulamak

Detaylı

DELTA PLC EĞİTİM SETİ KİTAPÇIĞI

DELTA PLC EĞİTİM SETİ KİTAPÇIĞI DELTA PLC EĞİTİM SETİ KİTAPÇIĞI Beti Delta PLC Eğitim Seti üzerinde kullanılan donanımlar Delta marka DVP20SX211T Model PLC DVP16SP11T Genişleme yuvası DOP-B07S411 7 Operatör Paneli PLC CPU sunu üzerindeki

Detaylı

Object-Oriented Programming Lab Shape, TwoDShape, ThreeDShape, Disk, Square, Sphere, Cube class hiyerarşisi.

Object-Oriented Programming Lab Shape, TwoDShape, ThreeDShape, Disk, Square, Sphere, Cube class hiyerarşisi. 25.08.2017 Object-Oriented Programming Lab 7 1. Shape, TwoDShape, ThreeDShape, Disk, Square, Sphere, Cube class hiyerarşisi. Disk, kare, küre ve küp şekilleriyle çalışmak için abstract class larla birlikte

Detaylı

Deney 7: Fonksiyon Tanımlama ve Parametre Aktarım Yöntemleri

Deney 7: Fonksiyon Tanımlama ve Parametre Aktarım Yöntemleri Deney 7: Fonksiyon Tanımlama ve Parametre Aktarım Yöntemleri 7.0. Amaç Ve Kapsam Deneyde C dilinde kullanılan fonksiyon tanımlama ve parametre aktarım yöntemleri hakkında bilgi verilecektir. 7.1. Deneyden

Detaylı

1. 100 elemanlı bir dizide bir sinyalin 1 er saniye aralıklarla ölçülen gerilim değerleri tutulmaktadır. Bu sinyalin tepeden tepeye genliğini,

1. 100 elemanlı bir dizide bir sinyalin 1 er saniye aralıklarla ölçülen gerilim değerleri tutulmaktadır. Bu sinyalin tepeden tepeye genliğini, 1. 100 elemanlı bir dizide bir sinyalin 1 er saniye aralıklarla ölçülen gerilim değerleri tutulmaktadır. Bu sinyalin tepeden tepeye genliğini, pozitif tepe genliğini, negatif tepe genliğini ve ortalamasını

Detaylı

Temel Bilgisayar Bilimleri Ders Notu #4-1. kısım

Temel Bilgisayar Bilimleri Ders Notu #4-1. kısım Nisan 2009 9031150 - Temel Bilgisayar Bilimleri Ders Notu #4-1. kısım Referans: Bugün: 1. Ders Notları. Ders #3 Tekrar Do while ve for döngüleri 1. Tekrar Geçen ders while döngüsü ve seçme kontrol teknikleri

Detaylı

Adım Adım C. Dr. Hidayet Takcı

Adım Adım C. Dr. Hidayet Takcı Adım Adım C Dr. Hidayet Takcı İlk C Programı #include #include main() printf("merhaba Dünya"); getch(); Program hakkında İlk program C de ekrana nasıl yazı yazdıracağınızı göstermektedir.

Detaylı

Paralel ve Seri İletişim. Asenkron/Senkron İletişim. Şekil 2: İletişim Modları

Paralel ve Seri İletişim. Asenkron/Senkron İletişim. Şekil 2: İletişim Modları Paralel ve Seri İletişim Şekil1a: Paralel İletişim Şekil1b. Seri iletişim Şekil 2: İletişim Modları Asenkron/Senkron İletişim PROTEUS/ISIS SANAL SERİ PORT ile C# USART HABERLEŞMESİ Seri iletişimde, saniyedeki

Detaylı

LCD (Liquid Crystal Display)

LCD (Liquid Crystal Display) LCD (Liquid Crystal Display) LCD ekranlar bize birçok harfi, sayıları, sembolleri hatta Güney Asya ülkelerin kullandıkları Kana alfabesindeki karakterleri de görüntüleme imkanını verirler. LCD lerde hane

Detaylı

PROGRAMLAMAYA GİRİŞ DERS 2

PROGRAMLAMAYA GİRİŞ DERS 2 PROGRAMLAMAYA GİRİŞ DERS 2 Program editörde oluşturulur ve diske kaydedilir Tipik Bir C Programı Geliştirme Ortamının Temelleri 1. Edit 2. Preprocess 3. Compile 4. Link 5. Load 6. Execute Önişlemci programı

Detaylı

LCD (Liquid Crystal Display )

LCD (Liquid Crystal Display ) LCD (Liquid Crystal Display ) Hafif olmaları,az yer kaplamaları gibi avantajları yüzünden günlük hayatta birçok cihazda tercih edilen Standart LCD paneller +5 V ile çalışır ve genellikle 14 konnektor lü

Detaylı

Diziler. Yrd.Doç.Dr.Bülent ÇOBANOĞLU

Diziler. Yrd.Doç.Dr.Bülent ÇOBANOĞLU Diziler Yrd.Doç.Dr.Bülent ÇOBANOĞLU Dizi (Array) Nedir? Bellekte sürekli yer kaplayan artarda sıralanmış aynı türden verilerin oluşturduğu kümeye dizi (array) denir. Dizi, çok fazla miktardaki tek tip

Detaylı

5.27. ŞİFRELİ OTOMATİK KAPI KONTROL PROJESİ

5.27. ŞİFRELİ OTOMATİK KAPI KONTROL PROJESİ 5.27. ŞİFRELİ OTOMATİK KAPI KONTROL PROJESİ Prof. Dr. Asaf Varol avarol@firat.edu.tr Yoğun bir insan trafiğine maruz kalan havaalanı, uluslararası ve şehirlerarası otogar veya garlarda, giriş çıkışı sağlayan

Detaylı

mod ile açılacak olan dosyanın ne amaçla açılacağı belirlenir. Bunlar:

mod ile açılacak olan dosyanın ne amaçla açılacağı belirlenir. Bunlar: Dosyalama Çoğu programda, bazı verilerin disk üzerinde saklanmasına gerek duyulur. C programlama dilinde, disk dosyasına erişme (okuma ve yazma için) iki farklı yöntemle yapılır. Bunlar üst düzey ve alt

Detaylı

Arduino nedir? Arduino donanım ve yazılımın kolayca kullanılmasına dayalı bir açık kaynak elektronik platformdur.

Arduino nedir? Arduino donanım ve yazılımın kolayca kullanılmasına dayalı bir açık kaynak elektronik platformdur. Arduino nedir? Arduino donanım ve yazılımın kolayca kullanılmasına dayalı bir açık kaynak elektronik platformdur. Açık kaynak nedir? Açık kaynak, bir bilgisayar yazılımının makina diline dönüştürülüp kullanımından

Detaylı

Döngü blokunda tek bir deyim varsa {} yazılmayabilir.

Döngü blokunda tek bir deyim varsa {} yazılmayabilir. Do-while döngüsü do { döngü bloku while (Expression); Örnek: #include int main(){ int num,i=0; do{ printf("giriş için: 1\n"); printf("çıkış için 2"); scanf("%d",&num); ++i; switch(num){ case

Detaylı

KOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ

KOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ KOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ ELEKTRONİK VE HABERLEŞME MÜHENDİSLİĞİ Nesneye Yönelik Programlama C++ ile Beaglebone Black de Bluetooth Haberleşmesi Danışman: Yrd. Doç. Dr. Mehmet YAKUT Sinan

Detaylı

Programlama Dilleri Laboratuvarı

Programlama Dilleri Laboratuvarı 2014 2015 Programlama Dilleri Laboratuvarı Ders Sorumlusu: Yrd. Doç. Dr. İsmail KURNAZ Laboratuvar Sorumluları: İÇİNDEKİLER Deney 1: Bilgisayar Kavramları, Algoritma Geliştirme ve Çözümü, Programlamaya

Detaylı

C++ Statements. { ve } arasında ifade edilen bir dizi statement bir compound statement (birleşik ifade) oluşturur.

C++ Statements. { ve } arasında ifade edilen bir dizi statement bir compound statement (birleşik ifade) oluşturur. C++ Statements En küçük çalışabilir birime statement (ifade) denir. Statements semicolon (;) ile sonlandırılır. Yalnız başına ; null statement ifade eder Örnek: while (*str++ = *inbuf++) ; { ve } arasında

Detaylı

KOCAELİ ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ. BİLGİSAYAR LABORATUVARI II FİNAL SINAVI SORU ve CEVAPLARI(I. ogr)

KOCAELİ ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ. BİLGİSAYAR LABORATUVARI II FİNAL SINAVI SORU ve CEVAPLARI(I. ogr) KOCAELİ ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BİLGİSAYAR LABORATUVARI II FİNAL SINAVI SORU ve CEVAPLARI(I. ogr) 1. Kendisine gönderilen iki karakter dizisini birleştirip geriye tek bir dizi döndüren ve

Detaylı

İÇİNDEKİLER 1. KLAVYE... 11 2. KLAVYE RB0... 19 3. KLAVYE RBHIGH... 27 4. 4 DİSPLAY... 31

İÇİNDEKİLER 1. KLAVYE... 11 2. KLAVYE RB0... 19 3. KLAVYE RBHIGH... 27 4. 4 DİSPLAY... 31 İÇİNDEKİLER 1. KLAVYE... 11 Satır ve Sütunlar...11 Devre Şeması...14 Program...15 PIC 16F84 ile 4x4 klavye tasarımını gösterir. PORTA ya bağlı 4 adet LED ile tuş bilgisi gözlenir. Kendiniz Uygulayınız...18

Detaylı

1 PROGRAMLAMAYA GİRİŞ

1 PROGRAMLAMAYA GİRİŞ İÇİNDEKİLER IX İÇİNDEKİLER 1 PROGRAMLAMAYA GİRİŞ 1 Problem Çözme 1 Algoritma 1 Algoritmada Olması Gereken Özellikler 2 Programlama Dilleri 6 Programlama Dillerinin Tarihçesi 6 Fortran (Formula Translator)

Detaylı

SİSTEM BİRİMİ VE EKRAN KOMUTLARI

SİSTEM BİRİMİ VE EKRAN KOMUTLARI BÖLÜM 6 SİSTEM BİRİMİ VE EKRAN KOMUTLARI Ekran komutları ekrandaki görüntü tasarımı için kullanılan komutlardır. Bu komutların program içinde kullanılabilmesi için, program başlığı satırından sonra USES

Detaylı

ART S602W Standalone Kart Okuyucu

ART S602W Standalone Kart Okuyucu ART S602W Standalone Kart Okuyucu ART S602W Standalone kart okuyucuya ait genel bilgiler, montaj, kablolama, programlama bilgileri ve teknik özellikleri hakkında detaylı açıklama. www.artelektronik.com

Detaylı

Ders 6: Karşılaştırma Deyimleri

Ders 6: Karşılaştırma Deyimleri Ders 6: Karşılaştırma Deyimleri Giriş Program içerisinde bazen iki veya daha fazla değerin karşılaştırılması gerekebilir Bunun için, bütün programlama dillerinde karşılaştırma deyimleri mevcuttur C dili,

Detaylı

C ile Uygulamalar 2 - Cevaplar

C ile Uygulamalar 2 - Cevaplar C ile Uygulamalar 2 - Cevaplar Cevap-1: //Soru 1 void degistir(int *,int *); //Fonksiyonun prototipi tanımlanmaktadır. int a=1,b=2; printf("a=%d ve b=%d",a,b); degistir(&a,&b); //a ve b'nin adresleri üzerinden

Detaylı

1. PROGRAMLAMA. PDF created with pdffactory Pro trial version www.pdffactory.com

1. PROGRAMLAMA. PDF created with pdffactory Pro trial version www.pdffactory.com . PROGRAMLAMA UTR-VC Windows altında çalışan konfigürasyon yazılımı aracılığıyla programlanır. Programlama temel olarak kalibrasyon, test ve giriş/çıkış aralıklarının seçilmesi amacıyla kullanılır. Ancak

Detaylı

DENEY 9-A : PIC 16F877 ve LM-35 ile SICAKLIK ÖLÇÜM UYGULAMASI

DENEY 9-A : PIC 16F877 ve LM-35 ile SICAKLIK ÖLÇÜM UYGULAMASI AMAÇ: DENEY 9-A : PIC 16F877 ve LM-35 ile SICAKLIK ÖLÇÜM UYGULAMASI 1- Mikrodenetleyici kullanarak sıcaklık ölçümünü öğrenmek EasyPIC7 setinde LM-35 kullanılarak analog giriş yaptırılması Sıcaklığın LCD

Detaylı

Giris {\} /\ Suhap SAHIN Onur GÖK

Giris {\} /\ Suhap SAHIN Onur GÖK Giris 0 \ /\ Suhap SAHIN Onur GÖK Fonksiyon C: Ana Fonksiyon(main) main() main() C: Ana Fonksiyon(main) main() main() C: Ana Fonksiyon(main) Giris? main() Çıkıs main() C: Ana Fonksiyon(main) void main()

Detaylı

WIRELESS TECHNOLOGIES Uygulama Notu. ARX-34 ve ATX-34 KULLANARAKDATA GÖNDERMEK VE ALMAK ÇN GEREKL YAZILIM ve DONANIM

WIRELESS TECHNOLOGIES Uygulama Notu. ARX-34 ve ATX-34 KULLANARAKDATA GÖNDERMEK VE ALMAK ÇN GEREKL YAZILIM ve DONANIM ARX-34 ve ATX-34 KULLANARAKDATA GÖNDERMEK VE ALMAK ÇN GEREKL YAZILIM ve DONANIM PSF-UN-0805 1 EYLÜL 2005 VERC DEVRES Yazılım aaıda verilmitir.yazılım PIC16F876 veya PIC16F876A için yazılmıtır. Baud rate

Detaylı

for döngüsü for (başlangıç değeri; şart; artım) ifade; for (başlangıç değeri; şart; artım) { ifadeler; }

for döngüsü for (başlangıç değeri; şart; artım) ifade; for (başlangıç değeri; şart; artım) { ifadeler; } for döngüsü for (başlangıç değeri; şart; artım) ifade; for (başlangıç değeri; şart; artım) ifadeler; Başlangıç değeri; koşul içinde tanımladığımız değişkene ilk değerin atanmasını sağlar. Koşul: Döngünün

Detaylı

BÖLÜM 2 C PROGRAMLAMADA AKIŞ KONTROLÜ. GOTO: C programında programın herhangi bir yerinden bir yerine şartsız olarak atlanmasını sağlayan komuttur.

BÖLÜM 2 C PROGRAMLAMADA AKIŞ KONTROLÜ. GOTO: C programında programın herhangi bir yerinden bir yerine şartsız olarak atlanmasını sağlayan komuttur. BÖLÜM 2 C PROGRAMLAMADA AKIŞ KONTROLÜ GOTO: C programında programın herhangi bir yerinden bir yerine şartsız olarak atlanmasını sağlayan komuttur. #include main () { int a=5 ; dal1: printf (

Detaylı

Sistem Programlama Deney 1

Sistem Programlama Deney 1 Sistem Programlama Deney 1 Deney başlamadan önce deney grubu listenizi aşağıdaki dokümana yazınız: https://docs.google.com/spreadsheets/d/1gxplmgkkfwlutcvn9_its7tt rcwuzkqfnwhlpfdodhw/edit?usp=sharing

Detaylı

AHMET YESEVİ ÜNİVERSİTESİ BİLİŞİM SİSTEMLERİ VE MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ LİSANS DÖNEM ÖDEVİ

AHMET YESEVİ ÜNİVERSİTESİ BİLİŞİM SİSTEMLERİ VE MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ LİSANS DÖNEM ÖDEVİ AHMET YESEVİ ÜNİVERSİTESİ BİLİŞİM SİSTEMLERİ VE MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ LİSANS DÖNEM ÖDEVİ TBIL-303-01 Veri Yapıları ve Algoritmalar LABİRENT HAZIRLAYAN 122132151 Fahri DÖNMEZ DANIŞMAN

Detaylı

ATC-3200 ZigBee to RS232/422/485 Çevirici Kullanıcı Kılavuzu

ATC-3200 ZigBee to RS232/422/485 Çevirici Kullanıcı Kılavuzu ATC-3200 ZigBee to RS232/422/485 Çevirici Kullanıcı Kılavuzu 1.0 Giriş AC-3200 cihazı, maliyet odaklı tasarlanmış yüksek entegreli Seri den ZigBee ye kablosuz çevirici adaptördür. Dahili ZigBee teknolojisi

Detaylı

2) /* Kullanıcıdan alınan iki sayının obebini alt fonksiyon yardımı ile hesaplayan C programı*/

2) /* Kullanıcıdan alınan iki sayının obebini alt fonksiyon yardımı ile hesaplayan C programı*/ GENEL TEKRAR 1) /*Kullanıcının belirlediği sayı kadar dikdörtgenin kenar bilgilerini kullanıcıdan alan, dikdörtgenlerin alan ve çevresini alt fonksiyon yardımı ile hesaplayan ve sonuçları ekrana yazan

Detaylı

BÖLÜM 1b: C++ PROGRAMLAMANIN YAPISI. C++, hard diskte TC, BIN, INCLUDE, LIB gibi alt dizinlere yüklenir.

BÖLÜM 1b: C++ PROGRAMLAMANIN YAPISI. C++, hard diskte TC, BIN, INCLUDE, LIB gibi alt dizinlere yüklenir. BÖLÜM 1b: C++ PROGRAMLAMANIN YAPISI C++, hard diskte TC, BIN, INCLUDE, LIB gibi alt dizinlere yüklenir. TC programı çalıştırıldığında C++ çalışma ortamı açılır. C++ çalışma ortamında istenirse yeni bir

Detaylı

C++ Dersi: Nesne Tabanlı Programlama

C++ Dersi: Nesne Tabanlı Programlama C++ Dersi: Nesne Tabanlı Programlama Bölüm 10: Yapıcı ve Yıkıcı Fonksiyonlar Yapıcı Fonksiyonlar İçerik Yapıcı Fonksiyon Tanımı Üyelere İlk Atama Yapıcı Fonksiyonu Yükleme Yapıcı Fonksiyon Çağırımı Kopya

Detaylı

F3SG-RA/RE ve G9SB Serilerinin Bağlantı Şekilleri

F3SG-RA/RE ve G9SB Serilerinin Bağlantı Şekilleri F3SG-RA/RE ve G9SB Serilerinin Bağlantı Şekilleri İÇİNDEKİLER Giriş G9SB Güvenlik Rölesi G9SB Güvenlik Rölesi Bağlantı Şekilleri F3SG-RE Güvenlik Bariyeri ve G9SB Güvenlik Rölesi ile Bağlantı Şekli F3SG-RA

Detaylı

Kullanım Uygulamaları Ön Görünüş. Dijital Ekran Mode Butonu Programlama Tuşu Sıcaklık Değiştirme tuşu ( - ) Sıcaklık Değiştirme tuşu ( +)

Kullanım Uygulamaları Ön Görünüş. Dijital Ekran Mode Butonu Programlama Tuşu Sıcaklık Değiştirme tuşu ( - ) Sıcaklık Değiştirme tuşu ( +) Kullanım Uygulamaları Ön Görünüş Dijital Ekran Mode Butonu Programlama Tuşu Sıcaklık Değiştirme tuşu ( - ) Sıcaklık Değiştirme tuşu ( +) Dijital Ekran Üzerindeki Bilgiler 1.Manuel Çalışma 2.Çalışma Fonksiyonları

Detaylı

Karşılaştırma Komutları (Switch ve? Operatörü)

Karşılaştırma Komutları (Switch ve? Operatörü) MAK 1005 Bilgisayar Programlamaya Giriş Karşılaştırma Komutları (Switch ve? Operatörü) Prof. Dr. Necmettin Kaya KARŞILAŞTIRMA KOMUTLARI - SWITCH SWITCH: Program akışı bir çok seçenekten birine yönlendirilir.

Detaylı

Bilgi Müşterinin yerinde kurulum proje danışmanlığı: Ürün numarası seçimi sitesinden <HAR>

Bilgi Müşterinin yerinde kurulum proje danışmanlığı: Ürün numarası seçimi   sitesinden <HAR> Avrupa kablo tipi sertifika H05V-K, HAR, elektrik ve kontrol kablosu, PVC, 300/500V, cihazların ve kontrol dolaplarının kablo tesisatı için, alev geciktirici, Sınıf 5/ince tel, sabit tesisat, halka/bobin

Detaylı

BİL1001 Bilgisayar Bilimlerine Giriş 1

BİL1001 Bilgisayar Bilimlerine Giriş 1 DEÜ Bilgisayar Bilimleri Bölümü BİL1001 Bilgisayar Bilimlerine Giriş 1 Öğr. Gör. Dr. Alper VAHAPLAR 2017 Yaz Okulu Tekrarlı Yapılar Algoritmanın belirli bir kısmının, belirli kere ya da belirli durumlar

Detaylı

Matris İşlemleri Uygulaması

Matris İşlemleri Uygulaması Matris İşlemleri Uygulaması Uygulama Konusu Uygulama 3x3 boyutlu matrislerle toplama, çıkarma ve çarpma işlemleri üzerinedir. Toplama İşlemi AA = aa iiii mmmmmm ve BB = bb iiii mmmmmm aynı tipte iki matris

Detaylı

5. BÖLÜM (10ncu ve 11nci hafta)

5. BÖLÜM (10ncu ve 11nci hafta) 5. BÖLÜM (10ncu ve 11nci hafta) 5.1 Fonksiyon Alt Programları Bilgisayar programları, komutları, satırları kolayca takip edilebilir, sade ve anlaşılır olabilmeleri için eklemeli (modüler) bir yapıya sahip

Detaylı

TUŞ TAKIMI (KEYPAD) UYGULAMALARI

TUŞ TAKIMI (KEYPAD) UYGULAMALARI 12. Bölüm TUŞ TAKIMI (KEYPAD) UYGULAMALARI Tuş Takımı (Keypad) Hakkında Bilgi Tuş Takımı Uygulaması-1 74C922 Tuş Takımı Enkoder Entegresi Tuş Takımı Uygulaması-2 (74C922 İle) Bu bölümde tuş takımı diğer

Detaylı

C PROGRAMLAMA D İ L İ

C PROGRAMLAMA D İ L İ C PROGRAMLAMA DİLİ Karşılaştırma Deyimleri if, if-else Yapısı switch -case Yapısı Program içerisinde bazen iki veya daha fazla değerin karşılaştırılması gerekebilir. Bunun için, bütün programlama dillerinde

Detaylı

BİLG214. 20.10.2009 Dr. Mustafa T. Babagil 1

BİLG214. 20.10.2009 Dr. Mustafa T. Babagil 1 BİLG214 20.10.2009 Dr. Mustafa T. Babagil 1 Yapısal bilgi türlerinin tanımlanması. (C++ daki struct yapısı. ) Daha önce öğrenmiş olduğumuz bilgi tipleri char, int ve float v.b. değişkenler ile dizi (array)

Detaylı

Fonksiyonlar -Genel Test- A

Fonksiyonlar -Genel Test- A 1 Fonksiyonlar -Genel Test- A 1. C dilinde fonksiyon bildirimi için hangisi gereklidir? (a) Fonksiyonun döndüreceği veri tipi (b) Fonksionun adı (c) Fonksiyon parantezi ( ) (d) Hepsi 2. C dilinde fonksion

Detaylı

Yrd. Doç.Dr. C. Harmanşah PARALEL PORT

Yrd. Doç.Dr. C. Harmanşah PARALEL PORT 1 PARALEL PORT Bilgisayar sistemlerinde data transferi paralel ve seri olmak üzere iki şekilde gerçekleştirilmektedir. [EEE 410 Microprocessors I Spring 04/05 Lecture Notes # 19] İki farklı birim veya

Detaylı

şeklinde tanımlanmıştır. O halde, dosyaları daha önceki bilgilerimizi kullanarak FILE *Dosya1, *Dosya2;

şeklinde tanımlanmıştır. O halde, dosyaları daha önceki bilgilerimizi kullanarak FILE *Dosya1, *Dosya2; Dosya İşlemleri Nedir? Programlarınızı girdi (input) olarak aldığı verileri bir text dosyasında yada word dosyasında vb. saklamasıdır. Artık C programınızın yaratıp içine veriler koyacağı text dosyasını

Detaylı

Diziler (Arrays) Çok Boyutlu Diziler

Diziler (Arrays) Çok Boyutlu Diziler Diziler (Arrays) Çok Boyutlu Diziler ÇOK BOYUTLU DİZİLER Birden fazla indis numarası ile elemanlarına ulaşılan dizilere çok boyutlu diziler denir. Bunlardan en sık kullanılanı çift boyutlu dizilerdir.

Detaylı

Casio Exilim EX-Z70 LCD Ekran Yedek

Casio Exilim EX-Z70 LCD Ekran Yedek Casio Exilim EX-Z70 LCD Ekran Yedek Bu kılavuz o kırık olan durumda cihazın LCD ekran yerine gerekli gerekli adımları gidecek, çalışmayı durdurdu, ya da başka bir şekilde arızalandı. Yazan: Paul Fallon

Detaylı

DOSYA İŞLEMLERİ Programlama dilleri hafta -

DOSYA İŞLEMLERİ Programlama dilleri hafta - BİLECİK ŞEYH EDEBALİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ DOSYA İŞLEMLERİ Programlama dilleri 1-10. hafta - Araş. Gör. Nesibe YALÇIN Dosya İşlemleri Programın çalışma esnasında

Detaylı

BÖLÜM 7: DÖNGÜ KONTROL YAPILARI

BÖLÜM 7: DÖNGÜ KONTROL YAPILARI I. for DÖNGÜSÜ BÖLÜM 7: DÖNGÜ KONTROL YAPILARI for döngüsü, diğer programlama dillerinde olduğu gibi C programlama dilinde de yaygın bir şekilde kullanılır. Bir veya bir grup işlemin belirli bir sayıda

Detaylı

C++ Giriş Ders 1 MSGSU Fizik Bölümü Ferhat ÖZOK Kullanılacak kaynak: Published by Juan Soulié

C++ Giriş Ders 1 MSGSU Fizik Bölümü Ferhat ÖZOK Kullanılacak kaynak:  Published by Juan Soulié Kullanılacak kaynak: http://www.cplusplus.com/doc/tutorial/ Published by Juan Soulié C++ Nedir? Arttırılmış C demektir ve C dilinin geliştirilmiş halini yansıtır. C++ öğrenmeden önce herhangi bir programlama

Detaylı

Arduino Uno ile Hc-Sr04 ve Lcd Ekran Kullanarak Mesafe Ölçmek

Arduino Uno ile Hc-Sr04 ve Lcd Ekran Kullanarak Mesafe Ölçmek Arduino Uno ile Hc-Sr04 ve Lcd Ekran Kullanarak Mesafe Ölçmek 1 Adet Arduino Uno 1 Adet Hc-Sr04 Ultrasonik mesafe sensörü 1 Adet 16 2 Lcd Ekran 1 Adet Breadbord 1 Adet Potansiyometre 2 Ader led Yeteri

Detaylı

SEESAW 24V DC BARİYER KONTROL KARTI KULLANIM KİTABI V 2.0

SEESAW 24V DC BARİYER KONTROL KARTI KULLANIM KİTABI V 2.0 SEESAW 24V DC BARİYER KONTROL KARTI KULLANIM KİTABI V 2.0 EKİM, 2010 KONTAL ELEKTRONİK :: SEESAW BARİYER KONTROL KARTI KULLANIM KİTABI V2.0 0 SEESAW 24V DC BARİYER KONTROL KARTI KARTI VE KULLANIMI Seesaw

Detaylı

Ayakkabı numaralarımız 36-40 arasıdır.

Ayakkabı numaralarımız 36-40 arasıdır. 1 700 Fuşya-Beyaz 700 -Beyaz 700 Turkuaz-Beyaz 700 Beyaz- 700 Pembe-Beyaz 700 Gri-Beyaz 700 Beyaz-Mor 700 -Beyaz 700 Kırmızı-Beyaz 2 705 Gri-Pembe 705 Kırmızı-Beyaz 705 -Kırmızı 705 Mor-Pembe 705 -Beyaz

Detaylı

BÖLÜM 6: KARŞILAŞTIRMALI KONTROL YAPILARI

BÖLÜM 6: KARŞILAŞTIRMALI KONTROL YAPILARI BÖLÜM 6: KARŞILAŞTIRMALI KONTROL YAPILARI C programlama dilinde, diğer programlama dillerinde olduğu gibi, işlemler, ilk satırdan başlamak üzere sırayla çalışır. Program kontrol yapıları ise, programın

Detaylı

Melih Hilmi ULUDAĞ. Yazılım Mühendisi Mekatronik Mühendisi. a aittir.

Melih Hilmi ULUDAĞ. Yazılım Mühendisi Mekatronik Mühendisi.  a aittir. Melih Hilmi ULUDAĞ Yazılım Mühendisi Mekatronik Mühendisi www.melihhilmiuludag.com a aittir. ÖZET Teknolojiyi kısaca bilimsel bilgiden yararlanarak yeni bir ürün geliştirmek, üretmek ve hizmet desteği

Detaylı

DÖNGÜLER (LOOPS) while(), do-while(), for(), foreach()

DÖNGÜLER (LOOPS) while(), do-while(), for(), foreach() (LOOPS) while(), do-while(), for(), foreach() Döngüler (loops) while do-while for foreach while ( koşul ) işlemler; do işlemler; while (koşul ); for (başlangıç ; koşul ; arttırma) işlemler; foreach ( tip

Detaylı

DERSİN WEB SİTESİ:

DERSİN WEB SİTESİ: BİLGİSAYAR PROGRAMLAMA II C++ Programlamaya Giriş http://www.cplusplus.com/doc/tutorial/ Published by Juan Soulié THEORY AND PROBLEMS of PROGRAMMING WITH C++ Second Edition JOHN R. HUBBARD, Ph.D. Professor

Detaylı

ATC-105. RS232 RS422/RS485 Data Çevirici KULLANMA KILAVUZU

ATC-105. RS232 RS422/RS485 Data Çevirici KULLANMA KILAVUZU ATC-105 RS232 RS422/RS485 Data Çevirici KULLANMA KILAVUZU Açıklama: ATC-105 izoleli arabrim çeviric RS232C, RS422, RS485 standartlarındadır ve RS232 sinyalini RS422 veya RS485 dengeli sinyallere çevirir.

Detaylı

Adı Soyadı : Öğrenci No :

Adı Soyadı : Öğrenci No : Adı Soyadı : Öğrenci No : Soru 1 2 3 4 Toplam Not F.Ü TEKNOLOJİ FAKÜLTESİ YAZILIM MÜHENDİSLİĞİ BÖL. YMT111 VİZE SINAVI 2013 2014 Güz (03 Aralık 2013) SORULAR Toplam 4 soru 110 Puan, cevaplarınızı soru

Detaylı

LPC2104 Mikro Denetleyicisini KEIL İle Programlamak

LPC2104 Mikro Denetleyicisini KEIL İle Programlamak LPC2104 Mikro Denetleyicisini KEIL İle Programlamak Program yazabilmek için öncelikle komutları tanımamız ve ne işe yaradıklarını bilmemiz gerekir. Komutlar yeri geldikçe çalışma içerisinde anlatılacaktır.

Detaylı

Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : dak.

Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : dak. Selçuk Üniversitesi Mühendislik Fakültesi Harita Mühendisliği Bölümü ra Sınavı Test Soruları dı soyadı :... Öğrenci no :... İmza :... Tarih, Süre :13.04.2017 60 dak. Dikkat!!! Soru kitapçığında ve cevap

Detaylı

Örnek1: #include <iostream> #include <string> using namespace std;

Örnek1: #include <iostream> #include <string> using namespace std; BTEP243 Ders 5 Nesne İşaretçileri İşaretçiler, bildiğiniz gibi bir değişkenin bellekte tutuldukları yerin adresini tutarlar. Nesne işareçtileri konusundaki işaretçiler, nesnelerin bellek üzerinde bulundukları

Detaylı

Mifare Kart Yazıcı/Okuyucu Modül (MFM-200)

Mifare Kart Yazıcı/Okuyucu Modül (MFM-200) 2012 Mifare Kart Yazıcı/Okuyucu Modül (MFM-200) İstanbul Yazılım ve Elektronik Teknolojileri 01.01.2012 MFM-200 Mifare Kart Yazıcı/Okuyucu Modül Genel Özellikler Ürün Kodu MFM-200 Protokol ISO14443A, ISO15693

Detaylı

İNÖNÜ ÜNİVERSİTESİ MÜH. FAK. BİLGİSAYAR MÜH. BÖL. ALGORİTMA VE PROGRAMLAMA 1 DERSİ LAB. ÖDEVİ

İNÖNÜ ÜNİVERSİTESİ MÜH. FAK. BİLGİSAYAR MÜH. BÖL. ALGORİTMA VE PROGRAMLAMA 1 DERSİ LAB. ÖDEVİ İNÖNÜ ÜNİVERSİTESİ MÜH. FAK. BİLGİSAYAR MÜH. BÖL. ALGORİTMA VE PROGRAMLAMA 1 DERSİ LAB. ÖDEVİ AD SOYAD : TESLİM TARİHİ : OKUL NO : TESLİM SÜRESİ : 2 hafta Ödev No : 7 ****(ilk 3 soru çıktı üzerinde el

Detaylı

ART S603W Standalone Kart Okuyucu

ART S603W Standalone Kart Okuyucu ART S603W Standalone Kart Okuyucu ART S603W Standalone kart okuyucuya ait genel bilgiler, montaj, kablolama, programlama bilgileri ve teknik özellikleri hakkında detaylı açıklama. www.artelektronik.com

Detaylı

KASA SEÇENEKLERİ. VG7-W RGB (3x 120 mm Adreslenebilir RGB LED Fanlar) VG7-W Blue (3x 120 mm LED Fanlar) VG7-W Red (3x 120 mm LED Fanlar)

KASA SEÇENEKLERİ. VG7-W RGB (3x 120 mm Adreslenebilir RGB LED Fanlar) VG7-W Blue (3x 120 mm LED Fanlar) VG7-W Red (3x 120 mm LED Fanlar) KASA SEÇENEKLERİ VG7-W (3x 120 mm Adreslenebilir LED Fanlar) VG7-W Blue (3x 120 mm LED Fanlar) VG7-W Red (3x 120 mm LED Fanlar) VG7-W Green (3x 120 mm LED Fanlar) KOMPAKT KASA TASARIMI VG7-W ATX Midi Tower

Detaylı

OTONOM ÇĐM BĐÇME MAKĐNESĐ GELĐŞTĐRĐLMESĐ DEVELOPING OF AUTONOMOUS LAWN MOVER. Danışman: Prof.Dr. Koray TUNÇALP, Marmara Üniversitesi Đstanbul

OTONOM ÇĐM BĐÇME MAKĐNESĐ GELĐŞTĐRĐLMESĐ DEVELOPING OF AUTONOMOUS LAWN MOVER. Danışman: Prof.Dr. Koray TUNÇALP, Marmara Üniversitesi Đstanbul OTONOM ÇĐM BĐÇME MAKĐNESĐ GELĐŞTĐRĐLMESĐ DEVELOPING OF AUTONOMOUS LAWN MOVER Danışman: Prof.Dr. Koray TUNÇALP, Marmara Üniversitesi Đstanbul Cihan ÇATALTEPE, Marmara Üniversitesi-Mekatronik Öğrt.4.Sınıf

Detaylı

Fall Object-Oriented Programming Laboratory 03

Fall Object-Oriented Programming Laboratory 03 2017-2018 Fall Object-Oriented Programming Laboratory 03 17.10.2017 1. Çok Dosyalı Proje. Aşağıda, katilimci structure ı için oluşturulmuş bir programın kaynak kodu verilmiştir. Kaynak kodu okuyun ve programın

Detaylı

Robotik AKTUATÖRLER Motorlar: Çalışma prensibi

Robotik AKTUATÖRLER Motorlar: Çalışma prensibi Robotik AKTUATÖRLER Motorlar: Çalışma prensibi 1 Motorlar: Çalışma prensibi Motorlar: Çalışma prensibi 2 Motorlar: Çalışma prensibi AC sinyal kutupları ters çevirir + - AC Motor AC motorun hızı üç değişkene

Detaylı

#ifndef COMPLEX_H #define COMPLEX_H

#ifndef COMPLEX_H #define COMPLEX_H 16.10.2018 2018-2019 Güz Object-Oriented Programming Lab 03 Ön Çalışma - Bir kompleks sayının genliğini ve açısını hesaplamak için gerekli C/C++ fonksiyonları bulun, kütüphanelerini ve prototiplerini yazın,

Detaylı

İLERI MIKRODENETLEYICILER. Ege Üniversitesi Ege MYO Mekatronik Programı

İLERI MIKRODENETLEYICILER. Ege Üniversitesi Ege MYO Mekatronik Programı İLERI MIKRODENETLEYICILER Ege Üniversitesi Ege MYO Mekatronik Programı BÖLÜM 1 Embedded C, C51 Temel Veri Tipleri Veri tipi (Data Type) Bit Bayt Değer bit 1 0, 1 char 8 1-128, +127 unsigned char 8 1 0,

Detaylı