DÜŞEY DÜZLEM YAZICISI ve ÇİZİM ORTAMI

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

Download "DÜŞEY DÜZLEM YAZICISI ve ÇİZİM ORTAMI"

Transkript

1 DÜŞEY DÜZLEM YAZICISI ve ÇİZİM ORTAMI Hazırlayan : Necati ER Facebook.com/ernecati Twitter.com/ernecati

2 İçindekiler İçindekiler... 1 Giriş... 2 Düşey Düzlem Yazıcısı... 2 Yazılım Aşaması... 2 Çizim Ortamı... 2 Arduino Yazılımı... 5 Donanım Aşaması Arduino Bağlantıları Düşey Düzlem Yerleşimi Çizim Ortamına Ait Tüm Kodlar Kaynaklar

3 Giriş Açık kaynak kodlu ortamların yaygınlaşması ile birlikte,daha önceleri özel ekipmanlar ve lisanslı yazlımlar gerektiren birçok uygulama çalışma odalarımıza girmiş ve geliştirilmeye açık hale gelmiştir. Bu açık kaynak kodlu ortamların en önemlilerinden olan Arduino elektronik alanındaki gelişmelere katkı sağlamakta, inovatif ürünlerinlerin ortaya çıkmasına ortam sağlamakta ayrıca bilgi teknolojilerinin her kesime yayılmasına yardımcı olmaktadır. Bu dökümanda da Arduino UNO ve Visual Basic 6.0 kullanılarak düşey düzlem üzerine çizim yapabilen bir cihazın oluşturulması ve bu cihaz ile doğrudan bağlantılı olacak şekilde çizim yapabilme ortamının yazılması anlatılmaktadır. Düşey Düzlem Yazıcısı Cihazın inşaası temel iki kategoride incelenecektir. Bunlardan ilki işin zor kısmı olan yazılım, diğeri ise yazılım ile yönetilecek fiziksel elemanların bir araya getirilmesidir. Genel olarak amacımız bilgisayar ortamında çizilen doğruları matematiksel hesaplar yardımı ile koordinat verilerine dönüştürmek ardından koordinat verilerini referans alarak motorları döndürerek basitçe bir kalemi hareket ettirmektir. Yazılım Aşaması Bu aşama da iki bölümde incelenecektir. İlk olarak çizimlerin yapılacağı ortamın oluşturulmasını daha sonra yapılan çizimlerden elde edilen verilerin işleneceği ve motorlara iletileceği Arduino nun programlanmasını inceleyeceğiz. Çizim Ortamı Çizim ortamı Visual Basic 6.0 ile yazılmıştır. Program bir imagebox içerisine mouse ile çizimler yapılmasına imkan sağlamaktadır. Bu çizimler yapılırken tıklanan her nokta listbox a X ve Y koordinatı olarak kayıt edilmektedir. Çizim işlemi bittikten sonra MSComm öğesi ile comport üzerinden Arduino ile bağlantı sağlanmakta ve kaydedilmiş olan koordinatlar gönderilmektedir. Gönderme işlemi bir Timer öğesi yardımı ile yapılmaktadır. Gönderilen iki koordinat arasında çizimin yapılma süresinin hesaplanması yerine çizim bittikten sonra Arduino dan geri bersleme alınmakta ve bir sonraki koordinatın gönderilmesi işlemine başlanmaktadır. Şekil 1 Tasarım Görünümü 2

4 Şekil 1 den görülebileceği gibi farklı butonlarla farklı işlevler yerine getirilmektedi. Butonların ve nesnelerin görevlerini detaylı incelemk gerekirse ; Bağlatı Kur :Port ayarları yapılmış olan MSComm1 öğesini aktive etmektedir.aktivasyon için MSComm1.PortOpen = True Komut satırı kullanılmaktadır. Bağlantıyı Kes : MSComm1 öğresini deaktive etmektedir. Bu işlem ; MSComm1.PortOpen = False Komut satırı ile sağlanmaktadır. Kodları Gönder : Listbox1 içerisine kayıt edilmiş koordinatları, MSComm1 öğesi yardımı ile Arduino ya iletmek için Timer1 nesnesine start vermektedir. Timer1 nesnesini başlatmak için ; Timer1.Enabled = True Komut satırı kullanılmaktadır. Noktaya Git : Kalibrasyon amacı ile kullandığımız bu buton, hemen sol tarafındaki metin kutusuna girilen koordinatları Arduino ya göndermektedir. Koordinatların gönderilmesi için kullnaılan komut satırları Timer1 nesnesine ait koların altında detaylı olarak incelenecektir. Kapat : Formu kapatmak için hazırlanmıştır. Unload Me komut satırını içermektedir. Listeyi Temizle : Listbox1 içerisine kayıtlı koordinatların silinmesi işlemini gerçekleştirmektedir. Bu işlem için ; List1.Clear Komut satırını kullanmaktadır. Çizimi Temizle : Listbox içerisinde kayıtlı koordinatları kaybetmeden çizim alanını temizlemektedir. Bu işlem için ; Image1.Refresh Komut satırı kullanılmaktadır. Frame1 (Durum) : Arduino ile çizim ortamının bağlı olup olmadığını kontrol ederek içerdeiği label nesnesi üzerinden kullanıcıya bilgi vermektedir. Bu işlem için ; Label1.Caption = "Bağlandı" Label1.Caption = "Bağlantı Komut satırları kullanılmaktadır. Frame2 (Ayarlar) : Bu bölümde Arduino dan alınan geri beslemenin kontrol edildiği textbox ve ayrıntılı koordinat bilgilerinin görüntülenmesi işlemi gerçekleştirilmektedir. Bu metin kutusuna Arduino dan gelen veriyi aktarmak için ; Text2.Text = MSComm1.Input Komut satırı kullanılmaktadır. Bu textbox her veri gönderildiğinde temizlenmekte ve tekrar dolup dolmadığı kontrol edilmektedir. Tekrar dolduğu takdirde gönderilmiş koordinatların yazım işlemi tamamlanmış, yeni koordinatların gönderilmesi işlemi başlamaya hazır işareti verilmiş anlamı taşımaktadır. Frame3(Çizim Bilgileri):Bu bölümde mouse imlecinin çizim bölgesi üzerinde hangi koordinatlarda olduğu eş zamanlı olarak kullanıcıya bildirilmektedir. Bu işlem için image1 nesnesinin mouse_move özelliğine ; Private Sub Image1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) Text5.Text = X Text7.Text = Y Komutları yazılmıştır. Y koordinatının tespiti için 5000-Y yazılmasının sebebi VB nin koordinat başlangıç noktasını formun sol üst köşesi olarak kabul etmesidir. Bu kabul x ekseni için fark yaratmazken Y ekseni için ters orantı göstermektedir. Bu sebeple Yok" 3

5 tüm çizim alanının maksimum değerinden o anki Y değerini çıkartmakta ve başlangıç noktasını formun sol alt köşesi olarak kabul etmekteyiz. Frame4 (Çizim Bilgisi) : Bu alanda Listbox içerisindeki koordinatların gönderiminin tamamlanıp tamamlanmadığını kontrol ederek kullanıcıya bilgi verilmektedir. Bu işlem ; gönderilen koordinatın listbox üzerinde hangi sırada olduğu ve listbox üzerinde kayıtlı tüm koordinatların sayısının karşılaştırılması ile sağlanmaktadır. MSComm1 Nesnesi : Bu nesne comport üzerinden bilgisayarımız ve Arduino nun bağlantısını sağlamaktadır. Nesnenin properties bölmesinde ; Setting : 9600,n,8,1 CommPort: 3(Arduino nun bağlı olduğu comport numarası) Biçiminde ayarlanmalıdır. Timer1 Nesnesi : Timer nesnesi başlangıçta deaktif konumda bulunmaktadır. Görevi aktive edildiği andan itibaren Arduino dan geri besleme alınıp alınmadığını kontrol etmek, geri besleme doğrultusunda listbox üzerinden sırası ile koordinatları Arduino ya göndermektir. Bu işlev için aşağıdaki komut satırları kullanılmaktadır. Label5.Caption = "Çizim Yapılıyor!!" a = Label4.Caption If Text2.Text <> "" Then Text2.Text = "" MSComm1.Output = List1.List(a) List1.Selected(a) = True If a = List1.ListCount Then Label5.Caption = "Devam Eden Çizim Yok" Timer1.Enabled = False Label4.Caption = a + 1 MsgBox ("Bağlantı Kesildi!!") Bilgisayarın Arduino ile bağlantısı hemen her görevden önce kontorl edilmekte ve gerekli yerlerde kullanıcıya iletilmektedir. (ör :çizim bilgisi, durum, msgbox ) Bu kontrol şu komut satırları ile yapılmaktadır. Label1.Caption = "Bağlandı" Label1.Caption = "Bağlantı Yok" Image1 Nesnesi : Bu nesne üzerine çizim yapılabilen alanı oluşturmaktadır. Çizimler Line komutu ile image1 nesenesinin Mouse_Down özelliğine yazılarak yapılmaktadır. Komut satırları ise şu şekildedir : Private Sub Image1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) Me.Line (Label_x.Caption, Label_y.Caption)-(X, Y) Label_x.Caption = X Label_y.Caption = Y Text3.Text = X Text4.Text = Y If Len(Text3.Text) = 3 Then Text3.Text = "0" & X If Len(Text3.Text) = 2 Then Text3.Text = "00" & X If Len(Text3.Text) = 1 Then Text3.Text = "0000" & X 4

6 If Len(Text4.Text) = 3 Then Text4.Text = "0" & Y If Len(Text4.Text) = 2 Then Text4.Text = "00" & Y If Len(Text4.Text) = 1 Then Text4.Text = "000" & Y List1.AddItem (Text3.Text & Text4.Text) Bu işlem sırasında çizim yapılan koordinatlar 1,2,3 veya 4 basamaklı sayılardan oluşabilir ancak koordinatları belirli bir karakter uzunluğunda ve dizi olarak göndermemiz gerektiğinden 1,2 ve 3 basamaklı koordinatları başlarına yeterli sayıda 0 ekleyerek 4 basamaklı biçime dönüştürülmektedir. Bu sayede 4 basamaklı X ve 4 basamaklı Y koordinatını toplamda 8 basamaklı olacak şekilde elde etmekteyiz.(ör : ) Arduino Yazılımı Arduino dan yapmasını istediğimiz görevleri yerine getirmesi için Arduino IDE kullanarak yapacağımız yazılımın aktarılması gerekmektedir. Yazılımın kod kısmına geçmeden önce algoritmik ve matematiksel kısmının anlaşılması faydalı olacaktır. Yapılmasını istediğimiz işlemler basitçe şu şekilde sıralanabilir: 1-Çizim ortamından verilerin alınması 2-Alınan verilerin 4 basamaklı X ve 4 basamaklı Y koordinatlarına dönüştürülmesi. 3-Kalemin ilk bulunduğu nokta ile çizim ortamıdan gelen nokta arasındaki uzaklığın hesaplanması. 4-Bu uzaklığın matematiksel bir fonksiyon olarak ifade edilmesi. 5-Elde edilen fonksiyona göre motorların hangi yönde kaçar kez adım atacağının hesaplanması ve uygulanması 6-Tamamlanan çizim işlemi sonrası çizim ortamına geri besleme gönderilmesi. Bu noktada matematiksel işlemlerin açıklığa kavuşturulması faydalı olacaktır. Şekil 2 Koordinat Düzlemi ve Konumlandırma 5

7 Şekil 2 de gösterilen koordinat düzleminde 1. motor a noktasında, ikinci motor b noktasında gösterilmiştir. Kalemin ilk bulunduğu nokta C1 ve gitmesini istediğimiz nokta C2 olsun. C1 ve C2 noktaları arasındaki kırmızı doğru ile gösterilen uzaklığı elde etmek için ; 1)s1-2 ile s1-1 arasındaki fark bulunmalı. (1. motorun alacağı yol) 2)s2-2 ile s2-1 arasındaki fark bulunmalı.(2. motorun alacağı yol) 3)Farkların oranı bulunmalı. (adım sırasını hesaplama) O halde sayıları basitleştirerek bir örnek ile açıklanabilir: Not : 5000x5000 olan çizim alanı 30x30 kabul edilecektir. Kalemin başlangıçtaki konumu : C1(5,5) Kalemin gitmesini istediğimiz konum : C2(7,9) Bu veriler ile pisagor bağıntısı kullanılarak; S1-1 = (5000-C1y)²+C1x² S1-1 = 25,5 S1-2 = (5000-C2y)²+C2x² S1-2= 24,5 S2-1 = (5000-C1y)²+ (5000-C1x)² S2-1= 35,3 S2-2 = (5000-C2y)²+ (5000-C2x)² S3-3 = 31,1 uzunlukları hesaplanabilir.elde edilen uzunluklar ile ipliklerde meydana gelen uzunluk farkı : S1 = (S1-2) (S1-1) S1 = -1 S2 = (S2-2) (S2-1) S2 = -4,2 olarak bulunur. Buradan elde ettiğimiz sonuçlar ile 1. motora bağlı ipliğin boyunun S1 kadar, 2. motora bağlı olan ipliğin boyunun S2 kadar değişmesi gerektiğini öğrenmiş olmaktayız. S1 ve S2 sayılarının aldığı ve + değerler uzaman ve kısalma olarak değerlendirilmektedir. Bu durumda 1. motora bağlı iplik 1 birim kısalmalı, 2. motora bağlı iplik 4,2 birim kısalmalıdır. M= S2/ S1 işlemi hangi motorun, hangi sıra ile adım atması gerektiğini ifade edecek eğimi bize verecektir. 4,2 / 1 = M = 4,2 Doğruyu çizimi yapılırken y = x. m fonksiyonu dikkate alınacaktır. Bu aşamdan sonrası için kodların tamamı aşağıda verilecek gerekli açıklamalar kodların üzerinde yapılacaktır. #include <stdlib.h> //Dizileri float değişkenlere dönüştürmek için gerekli olan atof fonksiyonunu barındıran kütüphane char buffer[9]; //Bilgisayardan gelen tüm veriyi tutacak dizi char dizi2[3]; //Tüm verinin sonraki 4 değerini tutacak dizi int alinan; // Veri alım döngüsünde kullanilacak char a0,a1,a2,a3,b0,b1,b2,b3; //Dizileri oluşturmak için değişkenler. float sonkonum_x = ; //Kalemin ilk konumu kabul ettiğimiz koordinatlar. float sonkonum_y = ; float Hy= ; // VB 6.0'da çizim alanının yüksekliği float Hx= ; // VB 6.0'da çizim alanının genişliği float olcek = 1.00; // pixel'in mm yada cm'ye donusumundeki oran int motor_hizi = 5 ; //motorlarin çalışma hizi (ms) void setup() //Step motor bağlantıları pinmode(5, OUTPUT); pinmode(6, OUTPUT); 6

8 pinmode(7, OUTPUT); pinmode(8, OUTPUT); pinmode(9, OUTPUT); pinmode(10, OUTPUT); pinmode(11, OUTPUT); pinmode(12, OUTPUT); Serial.begin(9600); // Serial iletişimin başlatılması alinan = 0; buffer[alinan] = '\0'; //İlk değere atanan null //Serial.print("Hazir!!"); //Bağlantı sağlandı mesajı void dogruciz(float x2, float y2, float x1, float y1 ) // Doğru çizme işlemi için oluşturduğumuz fonksiyon // Daha önce açıkladığımız matematiksel işlemler float s11 = sqrt( pow(hy-y1,2) + pow(x1,2)); // Şu bulunduğumuz noktanın 1. motora uzaklığı float s12 = sqrt( pow(hy-y2,2) + pow(x2,2)); //Gideceğimiz noktanın 1.motora uzaklığı float s21 = sqrt( pow(hy-y1,2) + pow(hx-x1,2)); //Şu an bulunduğumuz noktanın 2.motora uzaklığı float s22 = sqrt( pow(hy-y2,2) + pow(hx-x2,2)); // Gideceğimiz noktanın 2.motora uzaklığı float m1_yol = s12 - s11; //Birinci motorun alamsı gereken yol float m2_yol = s22 - s21 ;//İkinci motorun alması gereken yol float yol_1 = m1_yol / olcek; //pixelden cm yada mm donusumu icin olcekledik. float yol_2 = m2_yol / olcek; float oran = abs(yol_2/yol_1); int dx = 0 ;// motor1'in ne kadar yol aldığını tutacak değişken int dy = 0 ;// motor2'nin ne kadar yol aldigini tutacak değişken if (m1_yol > 0 && m2_yol > 0) //motor1 + yönde, motor2 + yönde hareket ediyorsa for (int t = 0 ; t<yol_1 ; t++) // alınan yol_1'e kadar motor1 bir adım atsın adimat(1,1,motor_hizi); //Adim at dx = dx + 1 ; // Alınan yolu tut while( dy < (dx * oran) - 0.5) // Eğer dy < dx*m ise motor2 + adım atsın (y=m*x) dy++ ;//alınan yolu tut adimat(2,1,motor_hizi); sonkonum_x = x2 ; //Kalemin son olarak geldiği nokta atanıyor. sonkonum_y = y2 ; if (m1_yol > 0 && m2_yol < 0) //motor1 +, motor2 - yönde hareket ediyorsa for (int t = 0 ; t<yol_1 ; t++) adimat(1,1,motor_hizi); dx = dx + 1 ; while( dy < (dx * oran) - 0.5) // eğer dy < dx*m ise motor2 + adım atsın (y=m*x) dy++ ; 7

9 adimat(2,-1,motor_hizi); sonkonum_x = x2 ; sonkonum_y = y2 ; else if (m1_yol < 0 && m2_yol <0) //motor1 -, motor2 - yönde hareket ediyorsa for (int t = 0 ; t<yol_1*(-1) ; t++) adimat(1,-1,motor_hizi); dx = dx + 1 ; while( dy < (dx * oran) - 0.5) // eğer dy < dx*m ise motor2 + adım atsın (y=m*x) dy++ ; adimat(2,-1,motor_hizi); sonkonum_x = x2 ; sonkonum_y = y2 ; else if (m1_yol < 0 && m2_yol >0) //motor1 -, motor2 + yönde hareket ediyorsa for (int t = 0 ; t<yol_1*(-1) ; t++) adimat(1,-1,motor_hizi); dx = dx + 1 ; while( dy < (dx * oran) - 0.5) // eğer dy < dx*m ise motor2 + adım atsın (y=m*x) dy++ ; adimat(2,1,motor_hizi); sonkonum_x = x2 ; sonkonum_y = y2 ; else if (m1_yol == 0 && m2_yol >0) //motor1 hareket etmiyor, motor2 + yönde hareekt ediyorsa for (int t = 0 ; t<yol_2 ; t++) adimat(2,1,motor_hizi); dy = dy + 1 ; sonkonum_x = x2 ; sonkonum_y = y2 ; else if (m1_yol = 0 && m2_yol <0) //motor1 hareket etmiyor, motor2 - yönde hareekt ediyorsa 8

10 for (int t = 0 ; t<yol_2*(-1) ; t++) adimat(2,-1,motor_hizi); dy = dy + 1 ; sonkonum_x = x2 ; sonkonum_y = y2 ; else if (m1_yol > 0 && m2_yol ==0) //motor1 + yönde hareket ediyor, motor2 hareket etmiyorsa for (int t = 0 ; t<yol_1 ; t++) adimat(1,1,motor_hizi); dx = dx + 1 ; sonkonum_x = x2 ; sonkonum_y = y2 ; else if (m1_yol < 0 && m2_yol ==0) //motor1 - yönde hareket ediyor, motor2 hareket etmiyorsa for (int t = 0 ; t<yol_1*(-1) ; t++) adimat(1,-1,motor_hizi); dx = dx + 1 ; sonkonum_x = x2 ; sonkonum_y = y2 ; void adimat(int motor, int yon, int hiz) //Step motorların adım atması için hazırlanmış fonksiyon. if( motor == 1) int m1_1 = 9; //1.motor 1.uç int m1_2 = 10;//1.motor 2.uç int m1_3 = 11;//1.motor 3.uç int m1_4 = 12;//1.motor 4.uç if (yon==1) digitalwrite(m1_1, HIGH); digitalwrite(m1_2, LOW); digitalwrite(m1_3, LOW); digitalwrite(m1_4, LOW); digitalwrite(m1_1, LOW); digitalwrite(m1_2, HIGH); digitalwrite(m1_3, LOW); digitalwrite(m1_4, LOW); 9

11 digitalwrite(m1_1, LOW); digitalwrite(m1_2, LOW); digitalwrite(m1_3, HIGH); digitalwrite(m1_4, LOW); digitalwrite(m1_1, LOW); digitalwrite(m1_2, LOW); digitalwrite(m1_3, LOW); digitalwrite(m1_4, HIGH); if (yon == -1) digitalwrite(m1_1, HIGH); digitalwrite(m1_2, LOW); digitalwrite(m1_3, LOW); digitalwrite(m1_4, LOW); digitalwrite(m1_1, LOW); digitalwrite(m1_2, LOW); digitalwrite(m1_3, LOW); digitalwrite(m1_4, HIGH); digitalwrite(m1_1, LOW); digitalwrite(m1_2, LOW); digitalwrite(m1_3, HIGH); digitalwrite(m1_4, LOW); digitalwrite(m1_1, LOW); digitalwrite(m1_2, HIGH); digitalwrite(m1_3, LOW); digitalwrite(m1_4, LOW); if (motor==2) int m2_1 = 5; //2.motor 1.uç int m2_2 = 6;//2.motor 2.uç int m2_3 = 7;//2.motor 3.uç int m2_4 = 8;//2.motor 4.uç if (yon==1) digitalwrite(m2_1, HIGH); digitalwrite(m2_2, LOW); digitalwrite(m2_3, LOW); digitalwrite(m2_4, LOW); digitalwrite(m2_1, LOW); digitalwrite(m2_2, HIGH); digitalwrite(m2_3, LOW); digitalwrite(m2_4, LOW); 10

12 digitalwrite(m2_1, LOW); digitalwrite(m2_2, LOW); digitalwrite(m2_3, HIGH); digitalwrite(m2_4, LOW); digitalwrite(m2_1, LOW); digitalwrite(m2_2, LOW); digitalwrite(m2_3, LOW); digitalwrite(m2_4, HIGH); if (yon == -1) digitalwrite(m2_1, HIGH); digitalwrite(m2_2, LOW); digitalwrite(m2_3, LOW); digitalwrite(m2_4, LOW); digitalwrite(m2_1, LOW); digitalwrite(m2_2, LOW); digitalwrite(m2_3, LOW); digitalwrite(m2_4, HIGH); digitalwrite(m2_1, LOW); digitalwrite(m2_2, LOW); digitalwrite(m2_3, HIGH); digitalwrite(m2_4, LOW); digitalwrite(m2_1, LOW); digitalwrite(m2_2, HIGH); digitalwrite(m2_3, LOW); digitalwrite(m2_4, LOW); void loop() //Tekrar edilecek ana fonksiyonumuz if (Serial.available()) buffer[alinan++] = Serial.read(); // Değeri okunup buffer dizisine yazılması buffer[alinan] = '\0'; if (alinan >= (sizeof(buffer)-1)) a0 = buffer[0]; // ilk okunan 4 değeri değişkenlere ata a1 = buffer[1]; a2 = buffer[2]; a3 = buffer[3]; b0 = buffer[4]; // sonra okunan 4 değeri değişkenlere ata b1 = buffer[5]; b2 = buffer[6]; b3 = buffer[7]; 11

13 char dizi1[]=a0,a1,a2,a3; //ilk diziyi burada tanımla ve değişkenleri yerleştir. dizi2[0]=b0; //2.Diziyi en başta tanımladık! Değerlerini yaz. dizi2[1]=b1; dizi2[2]=b2; dizi2[3]=b3; float sayi1 = atof(dizi1);// Dizileri int'e çevir float sayi2 = atof(dizi2); alinan = 0; dogruciz(sayi1,sayi2, sonkonum_x, sonkonum_y ); Serial.println("Cizim OK"); //Geri bildirim mesajı Donanım Aşaması Bu aşamayı da iki kategoride incelemek uygun olacaktır. Öncelikle step motorlarımızın Arduino bağlantısı ve bilgisayar Arduino bağlantısı ardından step motorların düşey düzleme yerleşimi incelenecektir. Arduino Bağlantıları Step motor uçları ULN2003 sürücü entegresiarduino üzerindeki digital pinlerine bağlancaktır. Projede kullanılan 28YBJ-48 tipi iki adet step motorun uçları şekilde verilmiştir. Şekil 3 Step Motor Bağlantı Kabloları Kullanılan ULN2003 entegresi Arduino ve step motorların bağlantısı aşağıda verilmiştir. 12

14 Şekil 4 Step Motor, ULN2003 ve Arduino Bağlantıları İki motor içinde bağlantılar aynı şekilde yapılmalı fakat diğer step motorun uçları diğer bir ULN2003 entegresi üzerinden Arduno nun digital 9, 10, 11 ve 12 pinlerine bağlanmalıdır.bu sayede ilk yapılan bağlantı birinci motoru, ikinci yapılan bağlantı ise ikinci motoru kullanıma hazır hale getirmiş olacaktır. Bu aşamdan sonra motorların, kalemin ve ipliklerin düşey düzlem üzerine yerleştirilmeleri işlemi yapılmalıdır. Düşey Düzlem Yerleşimi Bağlantıları yapılmış olan elemanların düşey düzlem üzerine yerleştirilmeleri sırasında dikkat edilmesi gereken nokta motorların birbirlerine olan uzaklıklarıdır. Bu uzaklık çizim genişliğini belirleyecek, belirlenen genişlikte Arduino ya yüklediğimiz kodlar içerisinde tanımlanmış Ölçek değişkeninin değiştirilmesini gerektirecektir. Çizim ortamında pixel biriminde yapılan uzunluk ve koordinat hesapları, fiziksel ortama aktarılırken mm veya cm olarak değerlendirilmekte bu dönüşüm ölçek değişkeni ile sağlanmaktadır. Çizim alanının belirlenmesinde de bu konuya özen gösterilmelidir. Mesafelerin yanı sıra, çizim için kullanılacak olan kalemin düşey düzleme dik konumda tutulması da mekaniksel anlamda zorluklar çıkarmaktadır. Bu zorlukları aşmak adına kalem çapı ebatında deliğe sahip dairesel ve nispeten ağır bir parçanın ipliklerle motora bağlanması ve kalemin bu parça üzerinde konumlandırılması gerekmektedir. 13

15 Şekil 5 Düşey Düzlem Yazıcısı Şematik Görünümü Çizim Ortamına Ait Tüm Visual Basic Kodları Private Sub Command1_Click() Text2.Text = "" If List1.ListCount = 0 Then MsgBox ("Çizim Yapılmamış!") MSComm1.Output = Text1.Text Timer1.Enabled = True MsgBox ("Bağlantı Kurulmamış!") Private Sub Command2_Click() MSComm1.PortOpen = False MsgBox ("Bağlantı Zaten Kesik!") Label1.Caption = "Bağlandı" Label1.Caption = "Bağlantı Yok" 14

16 Private Sub Command3_Click() MsgBox ("Bağlantı Zaten Kurulu!") MSComm1.PortOpen = True Label1.Caption = "Bağlandı" Label1.Caption = "Bağlantı Yok" Private Sub Command4_Click() MSComm1.Output = Text6.Text MsgBox ("Bağlantı Kurulmamış!!") Private Sub Command5_Click() List1.Clear Private Sub Command6_Click() Image1.Refresh Label_x.Caption = 2500 Label_y.Caption = 2500 Private Sub Command7_Click() Unload Me Private Sub Form_Load() Label1.Caption = "Bağlandı" Label1.Caption = "Bağlantı Yok" Private Sub Form_Unload(Cancel As Integer) MSComm1.PortOpen = False Private Sub Image1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) Me.Line (Label_x.Caption, Label_y.Caption)-(X, Y) Label_x.Caption = X Label_y.Caption = Y Text3.Text = X 15

17 Text4.Text = Y If Len(Text3.Text) = 3 Then Text3.Text = "0" & X If Len(Text3.Text) = 2 Then Text3.Text = "00" & X If Len(Text3.Text) = 1 Then Text3.Text = "0000" & X If Len(Text4.Text) = 3 Then Text4.Text = "0" & Y If Len(Text4.Text) = 2 Then Text4.Text = "00" & Y If Len(Text4.Text) = 1 Then Text4.Text = "000" & Y List1.AddItem (Text3.Text & Text4.Text) Private Sub Image1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) Text5.Text = X Text7.Text = Y Private Sub MSComm1_OnComm() If MSComm1.CommEvent = comevreceive Then Text2.Text = MSComm1.Input Private Sub Timer1_Timer() Label5.Caption = "Çizim Yapılıyor!!" a = Label4.Caption If Text2.Text <> "" Then Text2.Text = "" MSComm1.Output = List1.List(a) List1.Selected(a) = True If a = List1.ListCount Then Label5.Caption = "Devam Eden Çizim Yok" Timer1.Enabled = False Label4.Caption = a + 1 MsgBox ("Bağlantı Kesildi!!") 16

18 Kaynaklar

UYGULAMALAR. İkinci liste kutusu (List 2) Birinci liste Kutusu (List 1) Metin Kutusu

UYGULAMALAR. İkinci liste kutusu (List 2) Birinci liste Kutusu (List 1) Metin Kutusu UYGULAMALAR Uygulama 1:Komut butonu, metin kutusu ve liste kutusu kullanarak bir program oluşturacağız. Programda, bir metin kutusuna girilen sayılardan pozitif olanlar bir listeye, negatif olanlar başka

Detaylı

Uygulamalar 4 IsMissing Fonksiyonlar ve Alt Programlar Prosedür Parametreleri Public Function f(x,y,optional t, Optional k) End Function 1.

Uygulamalar 4 IsMissing Fonksiyonlar ve Alt Programlar Prosedür Parametreleri Public Function f(x,y,optional t, Optional k) End Function 1. Uygulamalar 4 IsMissing (Değişken) Visual Basic te fonksiyon veya alt programlara giriş parametresi olarak Optional deyimi kullanılırsa o parametre kullanılmadan da o fonksiyon çağrılabilir. IsMissing

Detaylı

void setup() fonksiyonu: Bu fonksiyon program ilk açıldığında bir kere çalışır ve gerekli kalibrasyon, setup komutlarını buraya yazarız.

void setup() fonksiyonu: Bu fonksiyon program ilk açıldığında bir kere çalışır ve gerekli kalibrasyon, setup komutlarını buraya yazarız. ARDUİNO PROGRAMLAMA fonksiyonu: Bu fonksiyon program ilk açıldığında bir kere çalışır ve gerekli kalibrasyon, setup komutlarını buraya yazarız. fonksiyonu: Diğer programlama dillerinden alışık olduğumuz

Detaylı

Uygulama 1) Aşağıdaki genel (global) değişken tanımlamalarını VB üzerinde yapınız. Süre 10 dak.

Uygulama 1) Aşağıdaki genel (global) değişken tanımlamalarını VB üzerinde yapınız. Süre 10 dak. MT 373 Visual Basic Programlama Laboratuvar Uygulamaları-1 Uygulama 1) Aşağıdaki genel (global) değişken tanımlamalarını VB üzerinde yapınız. Süre 10 dak. a) İki adet ondalıklı sayı tanımlaması yapınız

Detaylı

2013-14 GÜZ YY. - MKT103 - GÖRSEL PROGRAMLAMA DERSİ - ARA SINAVI

2013-14 GÜZ YY. - MKT103 - GÖRSEL PROGRAMLAMA DERSİ - ARA SINAVI 2013-14 GÜZ YY. - MKT103 - GÖRSEL PROGRAMLAMA DERSİ - ARA SINAVI KOÜ Mekatronik Mühendisliği Bölümü/MKT-103-Görsel Programlama Dersi - Ara Sınav J-grubu Ad-Soyad:...No:... J GRUBU-süre:70dk 1.) Aşağıdaki

Detaylı

İNTERNET TABANLI PROGRAMLAMA

İNTERNET TABANLI PROGRAMLAMA İNTERNET TABANLI PROGRAMLAMA DÖNGÜLER (FOR, WHILE, DO-WHILE) C# da döngüleri dört çeşit olarak sayabiliriz. Bunlar a) For döngüsü: Bu döngüde başlangıç ve bitiş sınırları verilerek kullanılır. Döngü tanım

Detaylı

SAKARYA ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ GÖMÜLÜ SİSTEMLER DENEY FÖYÜ

SAKARYA ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ GÖMÜLÜ SİSTEMLER DENEY FÖYÜ SAKARYA ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ GÖMÜLÜ SİSTEMLER DENEY FÖYÜ UYGULAMA 1 Ekipman Listesi : 1) Arduino Mega yada Uno 2) 1 Adet Led 3) 1 Adet 220 ohm (veya 330 ohm) Direnç 4) Bread Board 5) Jumper

Detaylı

Bu uygulama, MSGBOX fonksiyonun ve Form nesnesinin QueryUnload olayının kullanımı ile ilgili bir uygulamadır.

Bu uygulama, MSGBOX fonksiyonun ve Form nesnesinin QueryUnload olayının kullanımı ile ilgili bir uygulamadır. MSGBOX ve QueryUnload Olayı Uygulaması Uygulama Bu uygulama, MSGBOX fonksiyonun ve Form nesnesinin QueryUnload olayının kullanımı ile ilgili bir uygulamadır. Msgbox Deyimi ve Fonksiyonu MsgBox deyimi,

Detaylı

OPTION BUTTON ve ELSEIF UYGULAMALARI

OPTION BUTTON ve ELSEIF UYGULAMALARI OPTION BUTTON ve ELSEIF UYGULAMALARI OPTION düğmeleri, Muhtelif seçeneklerin olduğu ve bu alternatif seçeneklerden birisinin seçilmesi gerektiği durumlarda kullanılan nesnelerdir. Daire şeklindeki bu option

Detaylı

Erzurum Teknik Üniversitesi RobETÜ Kulübü Robot Eğitimleri. ARDUİNO EĞİTİMLERİ I Arş. Gör. Nurullah Gülmüş

Erzurum Teknik Üniversitesi RobETÜ Kulübü Robot Eğitimleri. ARDUİNO EĞİTİMLERİ I Arş. Gör. Nurullah Gülmüş Erzurum Teknik Üniversitesi RobETÜ Kulübü Robot Eğitimleri ARDUİNO EĞİTİMLERİ I Arş. Gör. Nurullah Gülmüş 29.11.2016 İÇERİK Arduino Nedir? Arduino IDE Yazılımı Arduino Donanım Yapısı Elektronik Bilgisi

Detaylı

MT 373 Visual Basic Programlama Dersi

MT 373 Visual Basic Programlama Dersi MT 373 VB Laboratuvar Uygulamaları Öğr. Gör. Dr. İrfan MACİT 1 MT 373 Visual Basic Programlama Dersi (VB.NET 2010 Uygulamaları) Dr. İrfan MACİT Matematik Bölümü Laboratuvar Uygulamaları Adana, 2013 MT

Detaylı

İÇİNDEKİLER İÇİNDEKİLER KODLAB

İÇİNDEKİLER İÇİNDEKİLER KODLAB İÇİNDEKİLER IX İÇİNDEKİLER 1 GİRİŞ 1 Kitabın Amacı 1 Algoritmanın Önemi 2 Bilgisayarın Doğuşu ve Kullanım Amaçları 3 Programlama Dili Nedir? 3 Entegre Geliştirme Ortamı (IDE) Nedir? 4 2 ALGORİTMA VE AKIŞ

Detaylı

10 LU SAYISAL SİSTEMİ İLE 2 Lİ SAYISAL SİSTEMİ ARASINDA ÇEVİRİM UYGULAMASI

10 LU SAYISAL SİSTEMİ İLE 2 Lİ SAYISAL SİSTEMİ ARASINDA ÇEVİRİM UYGULAMASI 10 LU SAYISAL SİSTEMİ İLE 2 Lİ SAYISAL SİSTEMİ ARASINDA ÇEVİRİM UYGULAMASI Sayısal Sistemler Sayısal sistem, sayıları temsil eden simgeler için bir yazma sistemi yani matematiksel bir gösterim sistemidir.

Detaylı

Genel Kullanılış 1: [değişken ismi] = [değişken ismi] [işlem] [sayı veya string ifade veya değişken]

Genel Kullanılış 1: [değişken ismi] = [değişken ismi] [işlem] [sayı veya string ifade veya değişken] Sayaçlar Düzenli olarak artan (+) veya azalan (-) sayı veya string ifadeler elde etmek için kullanılırlar. Eşitliğin her iki tarafındaki değişken isminin aynı olmasına dikkat edin. Bu durum matematik olarak

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ı

Check Box kullanımı ve Metin kutusu FONT özellikleri Check Box kutuları Option button nesnelerinden farklı olarak, programın çalışması sırasında farklı tercihlere bağlı olarak aynı anda birden çok seçeneğin

Detaylı

KİRİŞLERDE PLASTİK MAFSALIN PLASTİKLEŞME BÖLGESİNİ VEREN BİLGİSAYAR YAZILIMI

KİRİŞLERDE PLASTİK MAFSALIN PLASTİKLEŞME BÖLGESİNİ VEREN BİLGİSAYAR YAZILIMI IM 566 LİMİT ANALİZ DÖNEM PROJESİ KİRİŞLERDE PLASTİK MAFSALIN PLASTİKLEŞME BÖLGESİNİ VEREN BİLGİSAYAR YAZILIMI HAZIRLAYAN Bahadır Alyavuz DERS SORUMLUSU Prof. Dr. Sinan Altın GAZİ ÜNİVERSİTESİ FEN BİLİMLERİ

Detaylı

UYGULAMALAR -2 Select case Yapısı: Select Case case case case case case is case Else End Select Örnek:

UYGULAMALAR -2 Select case Yapısı: Select Case case case case case case is case Else End Select Örnek: UYGULAMALAR -2 Select case Yapısı: Bir değişkenin aldığı birçok değere göre ayrı komutların çalıştırılması gereken durumlar için If yapısını kullanmak yerine Case yapısını kullanmak daha avantajlıdır.

Detaylı

Yeni bir proje açarken File New - Web Site diyoruz. Gelen ekranda Visual Basic veya C# seçilebilir. Biz ders kapsamında C# programlama dilini seçtik.

Yeni bir proje açarken File New - Web Site diyoruz. Gelen ekranda Visual Basic veya C# seçilebilir. Biz ders kapsamında C# programlama dilini seçtik. ASP.NET DERS 1 Yeni bir proje açarken File New - Web Site diyoruz. Gelen ekranda Visual Basic veya C# seçilebilir. Biz ders kapsamında C# programlama dilini seçtik. Gelen ekranda Visual C# seçildikten

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ı

web-sitesi : satış : teknik destek : tel : IM-SMO20 Ultrasonik Mesafe Sensörü Özellikler

web-sitesi : satış : teknik destek : tel : IM-SMO20 Ultrasonik Mesafe Sensörü Özellikler web-sitesi : www.inovasyonmuhendislik.com www.evarobot.com satış : satis@inovasyonmuhendislik.com teknik destek : destek@inovasyonmuhendislik.com tel : +90 222 2290710 IM-SMO20 ultrasonik mesafe sensörü

Detaylı

Mikroişlemciler ve Programlama Dersi- ARDUINO. Sensörler ve Analog-Digital Çeviriciler İle Çalışma

Mikroişlemciler ve Programlama Dersi- ARDUINO. Sensörler ve Analog-Digital Çeviriciler İle Çalışma Mikroişlemciler ve Programlama Dersi- ARDUINO Sensörler ve Analog-Digital Çeviriciler İle Çalışma Uygulama-5 LM35 Sensör İle Sıcaklık Ölçümü Kullanılacak Bileşenler 3 1. Adım LM35 Sensörün Arduino İle

Detaylı

Ders 4: Diziler (Arrays( Arrays) barisgokce.com

Ders 4: Diziler (Arrays( Arrays) barisgokce.com Ders 4: Diziler (Arrays( Arrays) Hazırlayan : Öğr. Grv.. Barış GÖKÇE Đletişim im : www.barisgokce barisgokce.com Diziler Aynı tipteki bir veri gurubunun bir değişken içinde saklanmasıdır. Veriler Hafızada

Detaylı

-A Grubu- MKT103 Görsel Programlama 2015/2016 Güz Dönemi Final Sınavı

-A Grubu- MKT103 Görsel Programlama 2015/2016 Güz Dönemi Final Sınavı KOCAELİ ÜNİVERSİTESİ 14.10.2016 MÜHENDİSLİK FAKÜLTESİ MEKATRONİK MÜHENDİSLİĞİ MKT103 Görsel Programlama 2015/2016 Güz Dönemi Final Sınavı Öğretim Üyesi: Prof. Dr. Hasan OCAK Sınav Süresi: 80 dakika. Her

Detaylı

Windows Nasıl Çalışır? Pencereler (window), Hareketler (event) ve Mesajlar (message)

Windows Nasıl Çalışır? Pencereler (window), Hareketler (event) ve Mesajlar (message) Windows Nasıl Çalışır? Pencereler (window), Hareketler (event) ve Mesajlar (message) Pencere, hareket ve mesaj, VB ile Windows uygulaması geliştirmek için bu üç temel anahtar kavramı bilmek yeterli olacaktır.

Detaylı

OÖ lçu mu Uygulaması

OÖ lçu mu Uygulaması Dog ru Uzunlug u ve Çember Çapı OÖ lçu mu Uygulaması Uygulama Bu uygulama, form nesnesi üzerinde, sol ve sağ fare tıklamaları ile belirlenen iki nokta arasındaki doğru parçasının çizilmesi, uzunluğunun

Detaylı

T.C. ERCİYES ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ MEKATRONİK MÜHENDİSLİĞİ BÖLÜMÜ ELEKTRONİK SİSTEMLER LABORATUVARI 1

T.C. ERCİYES ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ MEKATRONİK MÜHENDİSLİĞİ BÖLÜMÜ ELEKTRONİK SİSTEMLER LABORATUVARI 1 T.C. ERCİYES ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ MEKATRONİK MÜHENDİSLİĞİ BÖLÜMÜ ELEKTRONİK SİSTEMLER LABORATUVARI 1 ARDUINO DİJİTAL GİRİŞ-ÇIKIŞ KONTROLÜ DENEY SORUMLUSU Arş. Gör. Burak ULU ŞUBAT 2015 KAYSERİ

Detaylı

Görsel Programlama (Visual Programming)

Görsel Programlama (Visual Programming) Görsel Programlama (Visual Programming) 2014-2015 Bahar Dönemi ListBox 1 2 Bileşeni(Nesnesi) Text Özelliği TextBox nesnesi gibi kullanılabilir 3 Item Ekleme 4 combobox1.maxdropdownitems = 5; combobox1.maxdropdownwidth=200;

Detaylı

8. HAFTA KBT204 İNTERNET PROGRAMCILIĞI II. Öğr.Gör. Hakan YILMAZ. hakanyilmaz@karabuk.edu.tr

8. HAFTA KBT204 İNTERNET PROGRAMCILIĞI II. Öğr.Gör. Hakan YILMAZ. hakanyilmaz@karabuk.edu.tr 8. HAFTA KBT204 İNTERNET PROGRAMCILIĞI II Öğr.Gör. Hakan YILMAZ hakanyilmaz@karabuk.edu.tr Karabük Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi 2 İçindekiler QUERYSTRING KOLEKSIYONU... 3 FORM

Detaylı

2 ALGORİTMA VE AKIŞ DİYAGRAMLARI

2 ALGORİTMA VE AKIŞ DİYAGRAMLARI İÇİNDEKİLER IX İÇİNDEKİLER 1 GİRİŞ 1 Kitabın Amacı 1 Algoritmanın Önemi 2 Bilgisayarın Doğuşu ve Kullanım Amaçları 3 Programlama Dili Nedir? 3 Entegre Geliştirme Ortamı (IDE) Nedir? 4 2 ALGORİTMA VE AKIŞ

Detaylı

Internet Programming II. Elbistan Meslek Yüksek Okulu 2014 2015 Bahar Yarıyılı

Internet Programming II. Elbistan Meslek Yüksek Okulu 2014 2015 Bahar Yarıyılı Internet Programming II Elbistan Meslek Yüksek Okulu 2014 2015 Bahar Yarıyılı Öğr. Gör. Murat KEÇECĠOĞLU 11-14 May. 2014 Form Form İşlemleri Tarayıcıdan bilgi alarak işlem gerçekleştirme FORM elemanları

Detaylı

Karabük Üniversitesi, Mühendislik Fakültesi...www.ibrahimcayiroglu.com WEB TEKNOLOJİLERİ

Karabük Üniversitesi, Mühendislik Fakültesi...www.ibrahimcayiroglu.com WEB TEKNOLOJİLERİ WEB TEKNOLOJİLERİ VISUAL STUDIO DA YENİ BİR PROJE OLUŞTURMA Visual Studio (VS) programını çalıştırdığımızda karşımıza boş bir ekran gelir. Yeni bir proje oluştururken File>New>Project yolu kullanılarak

Detaylı

Her Select Case bloğu, mutlaka End Select ile bitmek zorundadır.

Her Select Case bloğu, mutlaka End Select ile bitmek zorundadır. Select Case Komutu: VB de karar sürecinde kullanılan komutlardandır. Bu yapı ile sadece bir değişkenin durum kontrolü yapılır. Kontrolü yapılacak değişkenin genel olarak alabileceği değerler belirli ise

Detaylı

Dr. Fatih AY Tel: 0 388 225 22 55 fatihay@fatihay.net www.fatihay.net

Dr. Fatih AY Tel: 0 388 225 22 55 fatihay@fatihay.net www.fatihay.net Bilgisayar Programlama Ders 6 Dr. Fatih AY Tel: 0 388 225 22 55 fatihay@fatihay.net www.fatihay.net Fonksiyon Prototipleri Fonksiyon Prototipleri Derleyici, fonksiyonların ilk hallerini (prototiplerini)

Detaylı

HESAP MAKİNASI YAPIMI

HESAP MAKİNASI YAPIMI HESAP MAKİNASI YAPIMI 1..Aşağıdakine benzer görünüm ve butonları hazırlayın. 2. 24. Butonun içerisine aşağıdaki kodları yazın. 3. Yeni bir layer ekleyip Frame1 F9 na aşağıdaki kodları ekleyelim. 4. Butonlardan

Detaylı

Aynı tipten çok sayıda değişken topluluğudur. X Y Score1 Score2 (0) (1) (2)...

Aynı tipten çok sayıda değişken topluluğudur. X Y Score1 Score2 (0) (1) (2)... Array (Diziler) Array Aynı tipten çok sayıda değişken topluluğudur. Birden fazla aynı tipteki değerle işlem yapmayı kolaylaştırır. X Y Score1 Score2 40 56 Grade 40 56 80 (0) (1) (2)... (13) Array tanımlama:

Detaylı

RS 232 HABERLEŞMELĐ DOKUNMATĐK ĐMZA PANELĐ

RS 232 HABERLEŞMELĐ DOKUNMATĐK ĐMZA PANELĐ YILDIZ TEKNĐK ÜNĐVERSĐTESĐ ELEKTRĐK ELEKTRONĐK FAKÜLTESĐ ELEKTRĐK MÜHENDĐSLĐĞĐ BÖLÜMÜ RS 232 HABERLEŞMELĐ DOKUNMATĐK ĐMZA PANELĐ BĐTĐRME TEZĐ Hazırlayan 05013051 Bekir EROĞLU Tez Danışmanı Prof. Dr. Halit

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ı

Yazılım Nedir? 2. Yazılımın Tarihçesi 3. Yazılım Grupları 4 Sistem Yazılımları 4 Kullanıcı Yazılımları 5. Yazılımın Önemi 6

Yazılım Nedir? 2. Yazılımın Tarihçesi 3. Yazılım Grupları 4 Sistem Yazılımları 4 Kullanıcı Yazılımları 5. Yazılımın Önemi 6 ix Yazılım Nedir? 2 Yazılımın Tarihçesi 3 Yazılım Grupları 4 Sistem Yazılımları 4 Kullanıcı Yazılımları 5 Yazılımın Önemi 6 Yazılımcı (Programcı) Kimdir? 8 Yazılımcı Olmak 9 Adım Adım Yazılımcılık 9 Uzman

Detaylı

DERS BİLGİ FORMU. Okul Eğitimi Süresi

DERS BİLGİ FORMU. Okul Eğitimi Süresi DERS BİLGİ FORMU DERSİN ADI BÖLÜM PROGRAM DÖNEMİ DERSİN DİLİ DERS KATEGORİSİ ÖN ŞARTLAR SÜRE VE DAĞILIMI KREDİ DERSİN AMACI ÖĞRENME ÇIKTILARI VE DERSİN İÇERİĞİ VE DAĞILIMI (MODÜLLER VE HAFTALARA GÖRE DAĞILIMI)

Detaylı

OTOBÜS İŞLETMESİ OTOMASYONU. Otobüs işletmesi Otomasyonu hazırlanırken takip edilen Yazılım Geliştirme Süreçleri yukarıda gösterilmiştir.

OTOBÜS İŞLETMESİ OTOMASYONU. Otobüs işletmesi Otomasyonu hazırlanırken takip edilen Yazılım Geliştirme Süreçleri yukarıda gösterilmiştir. YAZILIM GELİŞTİRME SÜREÇLERİ PLANLAMA ÇÖZÜMLEME TASARIM GERÇEKLEŞTİRME BAKIM OTOBÜS İŞLETMESİ OTOMASYONU Proje Konusu : Yazılım Otobüs işletmeleri için Bilgi işlem ihtiyacını giderebilmek amacıyla hazırlandı.

Detaylı

idea rsbasic KOMUTLARI

idea rsbasic KOMUTLARI idea KOMUTLARI İÇİNDEKİLER 2.1 Etiketler (Labels)... 4 2.2 Yorumlar (Comments)... 5 2.3 Semboller (Symbols)... 6 2.4 backward (geri)... 7 2.5 debug (hata ayıkla/izle)... 8 2.6 dec (azalt)... 9 2.7 do..

Detaylı

AOSB 2017 EĞİTİM PROGRAMI

AOSB 2017 EĞİTİM PROGRAMI Eğitimin Konusu : Makro Excel Eğitim Tarihi : 04-05-10-11-12 Mayıs 2017 Eğitim Hedef Kitlesi : Excel kulllanıcıları arasında pratiklik ve hız kazanmış, Excel fonksiyonları, Veri Analizi araçlarını kullanma

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ı

Kod Kavramı Sub End Sub Olay (Event) Kavramı

Kod Kavramı Sub End Sub  Olay (Event) Kavramı Kod Kavramı Kodlar, programa ne yapmasını istediğinizi belirten deyim ve fonksiyonlardır. Visual Basic in nesneye dayalı bir programlama dili olması, kodların nesnelere bağlı olarak yazılması anlamına

Detaylı

1- KULLANILACAK DEVRE ELEMANLARININ TANITILMASI

1- KULLANILACAK DEVRE ELEMANLARININ TANITILMASI 1- KULLANILACAK DEVRE ELEMANLARININ TANITILMASI ARDUINO UNO Arduino, kolaylıkla devreler tasarlayabileceğiniz, açık kaynak kodlu bir geliştirme platformudur. Arduino kullanmak için üst düzey bir elektronik

Detaylı

VISUAL BASIC TE VERĠ TABANI ĠġLEMLERĠ

VISUAL BASIC TE VERĠ TABANI ĠġLEMLERĠ VISUAL BASIC TE VERĠ TABANI ĠġLEMLERĠ Veri tabanı ne olursa olsun mutlaka bir bağlantı(connection) nesnesi olması gerekir. Microsoft ürünlerinde veri tabanına bağlantı için ADO (ActiveX Data Objects= X

Detaylı

Göstericiler (Pointers)

Göstericiler (Pointers) C PROGRAMLAMA Göstericiler (Pointers) C programlama dilinin en güçlü özelliklerinden biridir. Göstericiler, işaretçiler yada pointer adı da verilmektedir. Gösterici (pointer); içerisinde bellek adresi

Detaylı

Matematiksel Operatörler

Matematiksel Operatörler Matematiksel Operatörler Genel olarak matematiksel işlemlerde kullanılan operatörlerdir. Operatör Anlamı Açıklama ^ Üs Alma C^3 Matematikdeki üs operatörüdür. Verilen ilk sayının ikinci sayı kadar kuvvetini

Detaylı

Response : Sunucunun istemciye veri yollamasını

Response : Sunucunun istemciye veri yollamasını Response : Sunucunun istemciye veri yollamasını 27 Ekim 2011 / Perşembe Örnek : 2 tane sayfa açıyoruz,1nci ye TextBox1 ve Button ekliyoruz. Şunu istiyoruz,1nci sayfada şifre girilince, Button u tıklayınca

Detaylı

C Programlama Dilininin Basit Yapıları

C Programlama Dilininin Basit Yapıları Bölüm 2 C Programlama Dilininin Basit Yapıları İçindekiler 2.1 Sabitler ve Değişkenler......................... 13 2.2 Açıklamalar (Expresions)........................ 14 2.3 İfadeler (Statements) ve İfade

Detaylı

MATLAB/Programı Dallandıran İfadeler

MATLAB/Programı Dallandıran İfadeler MATLAB/Programı Dallandıran İfadeler Dal yapıları, program kodlarından istenilenleri seçen ve onları işleten, istenilen kodları ise değerlirme dışı bırakabilen MATLAB ifadeleridir. if Switch, case try/catch

Detaylı

İNTERNET TABANLI PROGRAMLAMA

İNTERNET TABANLI PROGRAMLAMA İNTERNET TABANLI PROGRAMLAMA VISUAL STUDIO DA YENİ BİR PROJE OLUŞTURMA Visual Studio (VS) programını çalıştırdığımızda karşımıza boş bir ekran gelir. Yeni bir proje oluştururken File>New>Project yolu kullanılarak

Detaylı

Visual Studio 2010 veya 2013, Sharp Develop 3.2 programlarını kurabilirsiniz.

Visual Studio 2010 veya 2013, Sharp Develop 3.2 programlarını kurabilirsiniz. GÖRSEL PROGRAMLAMA II Visual Studio 2010 veya 2013, Sharp Develop 3.2 programlarını kurabilirsiniz. Başlat/Programlar/Microsoft Visual Studio 2010 çalıştırılır. Açılan programda New Project seçilir, sol

Detaylı

YILDIZ TEKNİK ÜNİVERSİTESİ ELEKTRİK-ELEKTRONİK FAKÜLTESİ ELEKTRİK MÜHENDİSLİĞİ BÖLÜMÜ

YILDIZ TEKNİK ÜNİVERSİTESİ ELEKTRİK-ELEKTRONİK FAKÜLTESİ ELEKTRİK MÜHENDİSLİĞİ BÖLÜMÜ YILDIZ TEKNİK ÜNİVERSİTESİ ELEKTRİK-ELEKTRONİK FAKÜLTESİ ELEKTRİK MÜHENDİSLİĞİ BÖLÜMÜ Bitirme Çalışması INTERNET TABANLI UZAKTAN İZLEME SİSTEMİ Hazırlayan; 02013603 Suat YILDIRMAZ Proje Danışmanı: Yard.

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ı

SPSS E GİRİŞ SPSS TE TEMEL İŞLEMLER. Abdullah Can

SPSS E GİRİŞ SPSS TE TEMEL İŞLEMLER. Abdullah Can SPSS E GİRİŞ SPSS TE TEMEL İŞLEMLER SPSS in üzerinde işlem yapılabilecek iki ana ekran görünümü vardır. DATA VIEW (VERİ görünümü) VARIABLE VIEW (DEĞİŞKEN görünümü) 1 DATA VIEW (VERİ görünümü) İstatistiksel

Detaylı

Turkcell Hizmetleri LOGO KASIM 2011

Turkcell Hizmetleri LOGO KASIM 2011 Turkcell Hizmetleri LOGO KASIM 2011 içindekiler Turkcell Hizmetleri...3 Toplu Mesaj Gönderimleri...4 Sicil Kartları Listesi nden SMS Gönderimleri...5 Raporlar...7 Durum Bilgisi...7 Başvurular...9 Turkcell

Detaylı

BİL-142 Bilgisayar Programlama II

BİL-142 Bilgisayar Programlama II BİL-142 Bilgisayar Programlama II (C/C++) Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Giriş math Kütüphane Fonksiyonları Çok Parametreyle Fonksiyon Tanımı Fonksiyon

Detaylı

DIV KAVRAMI