DÜŞEY DÜZLEM YAZICISI ve ÇİZİM ORTAMI
|
|
- Berkant Kutay
- 8 yıl önce
- İzleme sayısı:
Transkript
1 DÜŞEY DÜZLEM YAZICISI ve ÇİZİM ORTAMI Hazırlayan : Necati ER info@necatier.com 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 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ı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ı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ıVTIY DERS-4 YARDIMCI NOTLARI -2018
VTIY DERS-4 YARDIMCI NOTLARI -2018 Matlab Arduino haberleşmesi için 2. yöntem seri haberleşmedir. İlk yöntemde Arduino üzerinden kod yazmaya gerek yoktu ancak bu yöntemde Arduino IDE üzerinden kod yazmamız
DetaylıINPUTBOX KULLANIMI. Komut Düğmesine uygulanan algoritma örneği
INPUTBOX KULLANIMI InputBox komutu, Basic programlama dilinde program algoritması içinde ekran aracışığı ile bir sorgu yönlendirerek, kullanıcının bilgi girmesini sağlamak amacıyla kullanılır. Bu komutun
Detaylı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 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 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ı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ı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.
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ıYukardaki gibi sonsuz döngülü programlara Ctrl+Break tuş takımı ile müdahale edilmesi gerekir, aksi halde program sonsuz döngüye girer.
Döngüsü En basit döngü yapısıdır. Hiçbir kontrol yapılmadan ve ifadeleri arasındaki satırların işlem görmesi için kullanılır. Bu yapıda programın terkedilmesi için herhangi bir kontrol olmadığından, döngü
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 Sayısal Sistemler Sayısal sistem, sayıları temsil eden simgeler için bir yazma sistemi yani matematiksel bir gösterim sistemidir.
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üş 29.11.2016 İÇERİK Arduino Nedir? Arduino IDE Yazılımı Arduino Donanım Yapısı Elektronik Bilgisi
DetaylıDiziler İndisli Değişkenler
Diziler İndisli Değişkenler Aynı tür bilgileri (öğrenci isimleri, şehir isimleri, kapı numaraları, fakülteler vbg.) bellekte tutmak için kullanabileceğimiz listelere dizi adı verilir. Dizi kullanmanın
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ı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ı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ı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ı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ıDİZİLER. Bu ünitede yapılan örnekler Visual Studio 2010 programındaki Visual Basic programlama diliyle çözülmüştür.
DİZİLR GİRİŞ Bu ünitede, akış diyagramlarının yardımıyla birçok veriyi tek bir alanda nasıl saklayabileceğimiz, işleyebileceğimiz ve çağırabileceğimiz konusundaki bilgiler anlatılacaktır. Teknolojinin
Detaylı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ı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ı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ı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ı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ı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ı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ı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ı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ı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 : 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 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ı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ı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ı-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ıKRİPTOANALİZ DERSİ FİNAL ÖDEVİ. PSO ile TRANSPOSITION CIPHER ÇÖZÜMÜ
KRİPTOANALİZ DERSİ FİNAL ÖDEVİ PSO ile TRANSPOSITION CIPHER ÇÖZÜMÜ 1 Uygulama Hakkında PSO kullanılarak şifreli metnin çözümü gerçekleştirilmiştir. Metin dosyadan okunmuştur. Okunan metin rastgele üretilen
Detaylı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ı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ı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ıElif İLİKSİZ. Keziban TURAN. Radio Frekanslarla Hareket Eden Araç
Elif İLİKSİZ Keziban TURAN Radio Frekanslarla Hareket Eden Araç Mayıs 2016 İÇİNDEKİLER ALICI ALICI MEKANİZMASI VERİCİ MEKANİZMASI MALZEMELER MEKANİK KISIM ELEKTRONİK KISIM YAZILIM Robotumuzun adı: Radio
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 Karabük Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi 2 İçindekiler QUERYSTRING KOLEKSIYONU... 3 FORM
Detaylı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ı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ı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ıNESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 2
NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 2 JAVA DA PROGRAM DENETİMİ VE OPERATÖRLER Java programlama dilinde temel tipleri ve nesneleri yönlendirmek ve değiştirmek için operatörler kullanılır. Atamalar sağ taraftaki
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ı Öğ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ıC# ile NJ Simulatöre Bağlanmak
C# ile NJ Simulatöre Bağlanmak Genel Bilgi Sysmac Studio da Değişkenlerin Oluşturulması Windows Form Oluşturulması Gerekli Dosyaların Referanslara Eklenmesi Form1.cs Dosya Yapısı Genel Bilgi Bu dökümanda
DetaylıUzaktan Eğitim Uygulama ve Araştırma Merkezi
JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java Kodlarına Yorum Satırı Eklemek Java Paket Kavramı Java Kütüphane Kavramı Konsoldan Veri Çıkışı ve JOPtionPane Kütüphanesi JOptionPane Kütüphanesi Kullanarak
DetaylıVeri Yapıları. Amaçlar: Temel Veri Yapılarını Tanımlamalı Veri Yapılarını Veri Modeli ve Türlerini Öğreneceksiniz. İçindekiler:
Veri Yapıları Amaçlar: Temel Veri Yapılarını Tanımlamalı Veri Yapılarını Veri Modeli ve Türlerini Öğreneceksiniz İçindekiler: Giriş Temel Veri Yapıları Tanımlamalı Veri Yapıları Veri Modeli ve Türleri
DetaylıUzaktan Eğitim Uygulama ve Araştırma Merkezi
JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java Veri Tipleri ve Özelilkleri Değişken Tanımlama Kuralları Değişken Veri Tipi Değiştirme (Type Casting) Örnek Kodlar Java Veri Tipleri ve Özelilkleri
DetaylıTimer İle arka plan renk değişimi
Microsoft Visual Studio Visual Basic Timer İle arka plan renk değişimi Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load Timer1.Enabled = True Timer1.Interval = 1000 'milisaniye
Detaylı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ı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ıPointer Kavramı. Veri Yapıları
Pointer Kavramı Veri Yapıları Pointer Kavramı- Pointer Nedir? Göstericiler, işaretçiler ya da pointer adı da verilmektedir. Gösterici (pointer); içerisinde bellek adresi tutan değişkenlerdir. Şu ana kadar
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
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 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ıNB Ekran Seri Port Üzerinden Veri Okuma/Yazma. Genel Bilgi Protokol Oluşturma Veri Okuma Veri Yazma
NB Ekran Seri Port Üzerinden Veri Okuma/Yazma Genel Bilgi Protokol Oluşturma Veri Okuma Veri Yazma Genel Bilgi NB Ekranlar üzerinde 2 adet seri port bulunmaktadır. Bu portları kullanarak noprotocol modunda
Detaylı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ıDENEY 1 - SABİT HIZLA DÜZGÜN DOĞRUSAL HAREKET
AMAÇ: DENEY 1 - SABİT HIZLA DÜZGÜN DOĞRUSAL HAREKET Bir nesnenin sabit hızda, net kuvvetin etkisi altında olmadan, düzgün bir hat üzerinde hareket etmesini doğrulamak ve bu hızı hesaplamaktır. GENEL BİLGİLER:
Detaylı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 Ş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ı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ı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ı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ı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ıFonksiyonlar (Altprogram)
Fonksiyonlar (Altprogram) C Programlama Dili fonksiyon olarak adlandırılan alt programların birleştirilmesi kavramına dayanır. Bir C programı bir ya da daha çok fonksiyonun bir araya gelmesi ile oluşur.
Detaylı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ı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Ġ 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)
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ı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ıİ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ı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ı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ıLED YAKMAK. Circuit 2. Kablo LED. Direnç. Arduino LED. Direnç (330ohm)
Circuit 2 Pin 13 Arduino LED (Light Emitting Diode) 1 LED YAKMAK LED 'ler (light-emitting diodes) bir çok elektronik devrede kullanılan güçlü ışık kaynaklarıdır. Çalışmalarımıza ilk olarak her elektronik
DetaylıUygulama1) Şart yapısının kullanımı CheckBox1 bileşeninin işaretlendiğinde ekranda Kutu işaretlendi mesajı veren kodları yazınız.
Uygulama1) Şart yapısının kullanımı CheckBox1 bileşeninin işaretlendiğinde ekranda Kutu işaretlendi mesajı veren kodları yazınız. Label1.Text = "Kutu işaretlendi " Label1.Text = "Kutu işaretlenmedi " Uygulama
DetaylıDeğişkenler. Geçerli değişken isimleri : baslamazamani, ad_soyad, x5 Geçersiz değişken isimleri : 3x, while
Değişkenler Değişkenler bir bilginin bellekteki konumunu temsil eden sembolik isimlerdir. Bilgisayarda hemen hemen tüm işlemler bellekte yapılır. Program çalıştırıldığında değişken ve bu değişkenin türüne
DetaylıOMÜ HAVACILIK VE UZAY BİLİMLERİ FAKÜLTESİ METEOROLOJİ MÜHENDİSLİĞİ BÖLÜMÜ MET103 BİLGİSAYAR PROGRAMLAMA I BÜTÜNLEME SINAVI
OMÜ HAVACILIK VE UZAY BİLİMLERİ FAKÜLTESİ METEOROLOJİ MÜHENDİSLİĞİ BÖLÜMÜ MET103 BİLGİSAYAR PROGRAMLAMA I BÜTÜNLEME SINAVI 23.01.2016 1. (6 puan) İnternetten, kod.txt isimli bir dosyayı Linux kurulu bir
DetaylıBM102 BİLGİSAYAR PROGRAMLAMA II LABORATUVAR UYGULAMALARI. 3Hafta
Ön bilgi: Özyineli fonksiyon tanımlanabilmeli. Dizilerin fonksiyon parametresi veya geri dönüş değeri olarak kullanımı bilinmeli. 1. Klavyeden girilen sayı n olmak üzere [1..n] aralığındaki sayıların toplamı
Detaylı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ıBİLGİSAYAR PROGRAMLAMA. Algoritma ve Akış Şemaları
BİLGİSAYAR PROGRAMLAMA Algoritma ve Akış Şemaları Algoritma tanımı Algoritma özellikleri Algoritma tasarımı Akış şemaları Dallanma simgeleri Döngü simgeleri Akış şeması tasarımı Akış şeması örnekleri Konu
DetaylıUygulama 1) Tur sayısını 1 den klavyeden girilen n e kadar ekrana yazarak birikimli (kümülatif) toplam alan kaynak kodları yazınız.
Uygulama 1) Tur sayısını 1 den klavyeden girilen n e kadar ekrana yazarak birikimli (kümülatif) toplam alan kaynak kodları yazınız. Dim i, n, toplam As Integer toplam = toplam + i MessageBox.Show(i & ".
Detaylı2 VISUAL STUDIO 2012 GELİŞTİRME ORTAMI
İÇİNDEKİLER VII İÇİNDEKİLER 1 GİRİŞ 1 C# Hakkında Genel Bilgiler 1.NET Framework 1 CLR 2 CLR Ve CTS 2 Temel Sınıf Kütüphanesi 3 CIL 3 Algoritma Nedir? 4 Sözde Kod (Pseudocode) 5 2 VISUAL STUDIO 2012 GELİŞTİRME
DetaylıLeica DISTO D3a / BT Çok fonksiyonel, hassas ölçüm imkanı
Leica DISTO Da / BT Çok fonksiyonel, hassas ölçüm imkanı Leica DISTO Bu kadar hassas ölçüm yapabilir mi? ±.0 mm ölçüm hassasiyetle; Leica DISTO Da tek tuşa basarak hassas ölçüm yapabilmenize olanak sağlar.
Detaylı1 GİRİŞ 1 C# Hakkında Genel Bilgiler 1.Net Framework 1 CLR 2 CLR Ve CTS 2 Temel Sınıf Kütüphanesi 3 CIL 3 Algoritma Nedir? 4 Sözde Kod (Pseudocode) 5
İÇİNDEKİLER IX İÇİNDEKİLER 1 GİRİŞ 1 C# Hakkında Genel Bilgiler 1.Net Framework 1 CLR 2 CLR Ve CTS 2 Temel Sınıf Kütüphanesi 3 CIL 3 Algoritma Nedir? 4 Sözde Kod (Pseudocode) 5 2 VISUAL STUDIO GELİŞTİRME
Detaylı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ı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ıKısa Program yazma-mdi
TEZGAHIN AÇILMASI Kısa Program yazma-mdi TAKIM TUTUCUYU MAGAZİNE TAKMAK VE SÖKMEK CNC MAKİNE REFERANS VE SIFIR NOKTALARI CNC FREZEDE KOORDİNAT SİSTEMLERİ Bir CNC- Tezgahında bir iş parçasını üretebilmek
Detaylı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ı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ıDIV KAVRAMI <style> position: absolute
DIV KAVRAMI Div tag i katman oluşturmak için kullanılır. Div ler sayfanın komple bir satırını kaplarlar, bu yüzden tag i içerisinde şekillendirilip, boyutlandırılmaları gerekir. Aşağıdaki şekilde
DetaylıSınav Dağılım & IMKB Endeks
Sınav Dağılım & IMKB Endeks Ege Üniversitesi Bilgisayar Mühendisliği Veri Yapıları Proje-1 Hüseyin YAŞAR 05-06-7657 Didem KAYALI 05-06-7669 Umut BENZER 05-06-7670 Özlem GÜRSES 05-07-8496 Sürüm: 0.2 Bölüm
DetaylıAlgoritma Geliştirme ve Veri Yapıları 9 Ağaç Veri Modeli ve Uygulaması. Mustafa Kemal Üniversitesi
Algoritma Geliştirme ve Veri Yapıları 9 Ağaç Veri Modeli ve Uygulaması Ağaç, verilerin birbirine sanki bir ağaç yapısı oluşturuyormuş gibi sanal olarak bağlanmasıyla elde edilen hiyararşik yapıya sahip
DetaylıÜNİT E ÜNİTE KONTROL DEYİMLERİ KARAR YAPILARI. IF Deyimi GİRİŞ
GİRİŞ KARAR YAPILARI Herhangi bir olayın gerçekleşmesinin bir veya birkaç şarta bağı olduğu durumlar vardır. Ayrıca bir şartın gerçekleşmesi durumunda meydana gelecek bir veya birden çok olay söz konusu
DetaylıVERİ GÖNDERME PROGRAMI KULLANMA KILAVUZU (Tesisler tarafından kullanılacak)
Giriş VERİ GÖNDERME PROGRAMI KULLANMA KILAVUZU (Tesisler tarafından kullanılacak) AKBS, 4 modülden oluşmaktadır. Merkez Uygulaması, Veri Gönderme Sistemi, Veri Karşılama Sistemi ve Veri İşleme Sistemi.
DetaylıDENEY-1. SABANCI ATL ÖĞRETMENLERİNDEN YAVUZ AYDIN ve UMUT MAYETİN'E VERDİKLERİ DESTEK İÇİN TEŞEKKÜR EDİYORUZ
DENEY-1 SABANCI ATL ÖĞRETMENLERİNDEN YAVUZ AYDIN ve UMUT MAYETİN'E VERDİKLERİ DESTEK İÇİN TEŞEKKÜR EDİYORUZ 31 DENEY-1-1: BİT YÖNLENDİRMELİ KOMUTLAR İLE PİNLERE DEĞER GÖNDERME AMAÇ: Mikrodenetleyici pinlerine
DetaylıTEMEL BİLGİSAYAR BİLİMLERİ. Programcılık, problem çözme ve algoritma oluşturma
TEMEL BİLGİSAYAR BİLİMLERİ Programcılık, problem çözme ve algoritma oluşturma Programcılık, program çözme ve algoritma Program: Bilgisayara bir işlemi yaptırmak için yazılan komutlar dizisinin bütünü veya
DetaylıDik İzdüşüm Teorisi. Prof. Dr. Muammer Nalbant. Muammer Nalbant
Dik İzdüşüm Teorisi Prof. Dr. Muammer Nalbant Muammer Nalbant 2017 1 Dik İzdüşüm Terminolojisi Bakış Noktası- 3 boyutlu uzayda bakılan nesneden sonsuz uzaktaki herhangi bir yer. Bakış Hattı- gözlemcinin
Detaylı