RSS  Rss
 
 
Ana Sayfa
Robotlar
Bilim Haberleri
Bilim Adamları
Teknoloji Haberleri
Teknoloji ve Tasarım
Büyük Buluşlar
Zeki Olma Yolları
Bunları Biliyormusunuz
Testler ve Zeka Oyunları
Videolar
İletişim
 
 
İlginç Menü
 Gerçekten harika tasarımlar
 ilginç tasarım
 İlginç sandalye tasarımları
 İlginç Bilgiler
 İlginç bisiklet tasarımları
 Zihni sinir projeler
 ilginç resimler
 ilginç vazo
 ilginç buluşlar-2
 İlginç icat
 ilginç kalem
 İlginç kalemden tasarımlar
 İlginç kitaplık
 ilginç sineklik tasarımları
 Yeni buluşlar
 Popüler Başlıklar
    İlginç buluşlar
  Zihni sinir projeler
  İlginç tasarım
  ilginç buluşlar-2
  Yeni buluşlar
  İlginç icat
  2 Pet Şişe ve 1 Çoraptan Ne olur?
  Çengelli iğnelere ile yapılmış bileklik
  Kalemden Tasarımlar
  Elektrik motoru yapımı
  Güzel tasarımlar
  ilginç resimler
  Poşetlerden harika tasarımlar
  Disketten Defter
  ilginç kalem
 
 
 İlginç Buluşlar
   Yağmuru değerlendiriniz.
 Su ile şarj
 Yılın projesi
 2008'in en iyi icadı
 Çaydanlığınız müzik çalsın
 Güneşi takip eden bitki sehbası
 Bisiklet sürerken vücut kaslarınız gelişsin
 Peceteli yastık
  Davul Çalan Tişört
 Bitik pillerle çalışan lamba
 Su arıtan bisiklet
 Laptop masası olabilen valiz
 Vosvos dan bilardo masası
 Susadım diyen saksı
 Güneş enerjili bisiklet icat edildi
 
 
 Zeki Olma Yolları
   10 soruda beynin gizemi
 Zeki olma yolları
 6 aşamada hafızanızı geliştirin
 Zihin gücünüzü nasıl arttırırsınız?
 Beyne zararlı besinler
 Zeka arttırıcı besinler
 Zihni Güçlendiren Egzersizler
 Geçmişi yeniden yaşamak
 Bilgiler beynimizde nasıl sınıflandırılıyorlar?
 Beynin Gizli Güçleri
 Genç Beyin İçin
 Zeka Geliştiren 5 Temel Hafıza Tekniği
 Hafıza ve hafıza sorunları
 Zihin Açan Sporlar
 Zeka Düşmanları!
 
 
 Bunları Biliyormusunuz
    İlk ateş 790 bin yıl önce yakılmış
  Pi sayısı nedir
  ELEKTRİĞİN HIZI
  El Parmaklarınız Kişiliğinizi Yansıtıyor!!
  Vücudumuzdaki İlginç Sistem
  Çayın ilk ortaya çıkışı
  Uzayda ilk yürüyüş
  Jiletin icadı
  Tükenmez kalemin icadı
  İlk uçak kazası
  Antibiyotiğin bulunuşu
  Kürtaja izin veren ilk ülke
  Renklerin psikolojik etkileri
  KÖMÜRÜ İLK BULAN KİŞİ
  İlk kadın milletvekili
 
 

Robot Teknolojisi
 
      Jal Nedir ? Nasıl Kullanılır ? Komutları Nelerdir ?
 Jal Nedir ? Nasıl Kullanılır ? Komutları Nelerdir ? JAL Nedir ? Jal, Microchip firmasının PIC mikro denetleyicileri için hazırlanmış yüksek seviyeli bir programlama dilidir.Yapı olarak pascal'a benzemektedir. Wouter van Ooijen tarafından 22 Haziran 1998 yılında ilk versiyonu çıkmıştır ve şimdi gnu GPL lisanslı olup http://jal.sourceforge.net sitesinde geliştirilmektedir. Kısaca JAL Komutları : Açıklama : Program yazımında takibi kolaylaştırmak, geriye dönük yazılımı hatırlamak ya da başka birinin yazılımı geliştirebilmesine yardımcı olmak için programa açıklamalar yazmak gerekebilir. Jal da bu işlem ard arda gelen iki eksi işaretiyle "--" yapılır. "--" işaretinin ardından gelen metin, satır sonuna kadar Jal tarafından dikkate alınmaz. Kitaplık kullanmak : Bazı program parçaları farklı farklı yazılımlarda kullanılır. Bu tür program parçaları bir dosya olarak kaydedilir ve hazırlanan programa include komutu ile dahil edebilir. include jlib -- şeklinde kullanılır. Değişkenler ve Kullanımı: Değer tutan ve bildiren değişkenler : Bit : Sadece iki değer alabilir bunlar on(true,high) ya da off(false,low) değerleridir. Örnek : var bit a var byte x a = high a = x 5 pin_a0 = high Byte : Byte değişkeni 8 bitlik değer alır. En fazla 255 sayısına eşit olabilir. Örnek : var byte n n = 15 n = 0x10 n = 0b_0000_1011 Constant : Programda kullanılacak sabit değerleri tutar.Derleme anında kullanılır ve 32bit değer alabilir. Örnek : const xtal = 10_000_000 Adres bildiren değişkenler : Önceden tanımlanmış olan yazmaç adreslerini tutan değişkenlerin değerlerini değiştirmek için kullanılır. var byte volatile port_b at 0x06var bit volatile status_z at 3 : 2 Volatile değişkenler : Yazmaç adreslerini tanımlayan değişkenlerdir. var volatile byte FSR at 4 var volatile byte INDF at 0 Başka bir değişkene işaret olan değişkenler (Alias) : Bazı çalışmalarınızda program aynı olsa da kullanılan adres yazmaçlarının donanım nedeniyle değişmesi gerekebilir.Bu tür durumlara karşı yazmaç değişkeni olarak alias kullanmak daha uygundur. var byte volatile i2c_clock is pin_a3 var byte volatile i2c_data_in is pin_a4 Deyimler : OperatorÖncelikAçıklamaSol parametreSağ ParametreSonuç!5Bit Bit!5ByteByte+5ByteByte- 5ByteByte*4ÇarpmaByteByteByte/ 4BölmeByteByteByte%4Mod ByteByte Byte+3ToplamaByteByteByte-3ÇıkarmaByte ByteByte2Sola KaydırmaByte ByteByte>>2Sağa Kaydırma ByteByteByte>2Büyük ByteByteBit 2Küçük ByteByteBit >=2 Büyük EşitByteByteBit 2 KüçükEşitByteByteBit ==2 EşitByteByteBit !=2Eşit Değil ByteByteBit &1Ve Bit Bit Bit &1VeByte ByteByte!1ya daBit Bit Bit !1ya daByteByteByte ^1XorBit Bit Bit ^ 1XorByteByteByte Koşul Tanımlama : Jal'da koşul if koşul then program end if blok yapısıyla tanımlanır. If a > 5 then pin_a1 = high � Eğer a, beşten büyük ise pin_a1'den çıkış ver. end if If a > 5 then pin_a1 = high � Eğer a, beşten büyük ise pin_a1'den çıkış ver. Else pin_b1 = high � Eğer a, beşten büyük değilse pin_b1'den çıkış ver. end if If a > 5 then pin_a1 = high � Eğer a, beşten büyük ise pin_a1'den çıkış ver. Elsif a == 5 then pin_c1 = high � Eğer a, beş ise pin_c1'den çıkış ver. Else pin_b1 = high � Eğer a, hem beşe eşit değil hemde beşten küçük ise pin_b1'den çıkış ver. end if Döngüler : While Döngüsü : Koşulun doğruluğu geçerli olduğu sürece işlemi tekrarlayan döngülerdir. while a > 5 loop a = a + 1 end loop For Döngüsü : İşlemi belli bir tekrarda yapmanız gereken yerler için kullanılır. for 100 loop pin_a0 = high delay_1S pin_a0 = low delay_1S end for Sonsuz Döngü : Her hangi bir koşul gereketirmeyen sınırsız bir döngüdür.Hazırladığınız programın sadece açılışta değil devamlı çalışmasını istiyorsanız bu tür döngüler kullanmanız gerekir. forever loop pin_b1 = high delay_1ms(10) pin_b1 = low delay_1ms(10) end loop Alt Program İşlemleri : Procedure Çağırmak : Procedure, procedure procedure_adi(girilen değişkenler) is program kodu ... end procedure bloğu ile tanımlanır ve program içinde procedure verilen ad ile çağrılır. procedure bekle (byte in saniye) is delay_1S(saniye) end procedure pin_a0 = high bekle(1) pin_a0 = low bekle(5) pin_a0 = high bekle(10) pin_a0 = low bekle(15) Return : Değer döndüren alt programlarda çıkış değerini bildirip alt programdan çıkmak için kullanılır. function root (byte in x) return byte is var byte n = 15 forever loop if n * n return x end if n = n � 1 end loop end function Assembler : Jal içinde assembler komutlarını iki şekilde kullanabilirsiniz. Bunlardan ilki asm komutudur. Tek satırdan oluşan assembler komutları içindir. asm clrwdt İkincisi ise assembler / end assembler bloğudur. Bu bloklar içinde Jal komutları değil assembler komutları geçerlidir. assembler movlw H'FF' movwf H'00D' end assembler Procedure : Programda tekrarlanan yazılım parçaları içindir ve procedure / end procedure şeklinde kullanılır. procedure port_ayarla is portb = 0b_0000_1111 portc = 0b_1111_0000 end procedure Function : Function da procedure gibi program parçacıklarıdır ama procedure'den farklı olarak size bir sonuç gönderir. function port_a_yuksek_mi return byte is if port_a == 0b_1111_1111 then return = true else return = false end function Pseudo-variable : Yazacak olduğunuz program kullanacağınız yere göre hem çıkış veren hemde bilgi girişi alabilen programlar olabilir. Bu tür programlar için pseudo-variable kullanılır ve procedure çağırmak için kullanılan procedure adina 'put ve 'get ekleri eklenir. procedure async'put (byte in x) is ... procedure async'get return byte is ... forever loop byte gelen = async if (gelen > 1) & (gelen gelen = 10 end if async = gelen end loop Port Tanımlama : JAL'da port tanımlamak için ; port_a_direction,port_b_direction,port_c_direction,port_a_low_direction,port_a_high_direction, port_b_low_direction, port_b_high_direction,port_c_low_direction, port_c_high_direction değişkenleri all_input ya da all_output değerleri alırlar. port_a_direction = all_output Pin tanımlamak içinse ; pin_a0_direction .. pin_a4_direction, pin_b0_direction .. pin_b7_direction,pin_c0_direction .. pin_c7_direction değişkenleri input ya da output değerleri alır. Portlar kullanılan PIC'e göre artar ya da azalır. pin_a0 = input Port değişkenleri(porta,portb,portc ... ) pseudo-variable değişkenlerdir. Kitaplıklar: Jpic: PIC'lerin tanımlandığı kitaplıktır.Yazmaç adresleri,portlar bu kitaplığa kayıt edilir. Jascii: Ascii değişkenlerinin kayıt edildiği kitaplıktır. Jdelay: Programda beklemeler sağlamakiçin yazılan alt programları bulundurur. Jseven: Seven segment display kullanımını kolaylaştırır. Internal: Kesmeler için kullanılan alt programları barındırır. Serial: RS232 formatında seri haberleşmeyi sağlayan alt programlar bulundurur. Random3: Rastgele sayı üretmeyi sağlayan bir kitaplıktır. HD447804,HD447808: HD44780 tipi LCD ekranları kontrol etmek için kullanılır. HD447804 dört bit ,HD447808 sekiz bit data yolu kullanılan donanımlar içindir. I2C: i2c haberleşme formatında bilgi gönderip almayı sağlayan alt programlar bulunur. LM75: LM75 sıcaklık entegeresini kullanabilmek için gerekli olan kitaplıktır.

Robot Teknolojisi
Sumo robot yapımı için hazırlanmış çok güzel bir kaynak 37
Otomatik ışık izleyici robot yapmak 367
PIC DERSLERİ 367
Pic Basic Pro Öğreniyoruz -(5 -4-3-2-1) 256
Pic Programlama Dökümanları Dersler-"ASM-C-BASİC" önizlemeli 202
CCS C ile Microchip PIC Programlama (5-4-3-2-1) 201
Jal Nedir ? Nasıl Kullanılır ? Komutları Nelerdir ? 153
PIC Programlama için Türkçe Kaynaklar 218
PIC BASIC PRO FULL sürüm 289
Assembler ile PIC programlama, ders4 349
Assembler ile PIC programlama, ders3 241
Assembler ile PIC programlama, ders2 264
Assembler ile PIC programlama, ders1 495
Çizgi izleyen robot nasıl yapılır 1291
Robot dersleri-2 511
Çizgi izleyen robot nasıl çalışır 590
Konuşan robot yapımı 1245
Sumo Robot nasıl yapılır 1472
Robot nedir,robot tarihi. 702
Robot dersleri 1100
 
 

© Copyright 2008 Teknoloji ve Bilim
Sitemizdeki haberleri kaynak göstererek yayınlayabilirsiniz.
teknoloji ve tasarım