17 Ekim 2012 Çarşamba

Arduino XBOX360 Kablosuz Kontrol

Adamlar yine yapmış abi.


Kod:

#include <avr/sleep.h>

#define sync_pin 2 //power button repurposed for sync button (pin 5 on the module)
#define data_pin 3 //data line (pin 6 on the module)
#define clock_pin 4 //clock line (pin 7 on module) 

int led_cmd[10] =  {0,0,1,0,0,0,0,1,0,0}; //Activates/initialises the LEDs, leaving the center LED lit.
int anim_cmd[10] = {0,0,1,0,0,0,0,1,0,1}; //Makes the startup animation on the ring of light.
int sync_cmd[10] = {0,0,0,0,0,0,0,1,0,0}; //Initiates the sync process.
volatile boolean sync_enable = 0;

void sendData(int cmd_do[]) {
  pinMode(data_pin, OUTPUT);
  digitalWrite(data_pin, LOW);    //start sending data.
  int prev = 1;
  for(int i = 0; i < 10; i++){

    while (prev == digitalRead(clock_pin)){} //detects change in clock
    prev = digitalRead(clock_pin);
      // should be after downward edge of clock, so send bit of data now
    digitalWrite(data_pin, cmd_do[i]);

    while (prev == digitalRead(clock_pin)){} //detects upward edge of clock
    prev = digitalRead(clock_pin);
  }
  digitalWrite(data_pin, HIGH);
  pinMode(data_pin, INPUT);
}

void initLEDs(){
	sendData(led_cmd);
	delay(50);
	sendData(anim_cmd);
	delay(50);
}

void wakeUp(){
  sync_enable = 1;
}

void sleepNow() {
  set_sleep_mode(SLEEP_MODE_PWR_DOWN); // set sleep mode
  sleep_enable(); //enable sleep bit
  attachInterrupt(0, wakeUp, LOW);
  sleep_mode();
  sleep_disable(); //disable sleep bit
  detachInterrupt(0); // disables interrupt 0 on pin 2
}

void setup() {
  Serial.begin(9600);
  pinMode(sync_pin, INPUT);
  digitalWrite(sync_pin,HIGH);
  pinMode(data_pin, INPUT);
  pinMode(clock_pin, INPUT);
  delay(2000);

  initLEDs();
//  sendData(sync_cmd);
}

void loop(){
  Serial.println("Sleeping.");
  sleepNow();
  delay(200);
  if(sync_enable==1) {
    Serial.println("Syncing.");
    sendData(sync_cmd);
    sync_enable = 0;
  }
}
 
http://diru.org/wordpress/hacking/xbox-360-rf-module-arduino/
 
http://diru.org/wordpress/2011/03/wireless-xbox360-controller-on-a-pc-without-the-commercial-dongle/ 
 

9 Eylül 2012 Pazar

Teknoloji Tutkunlarına SBC Karşılaştırmaları


SBC yani Single Board Computer(Tek Kart Bilgisayar) masaüstü bilgisayarlardan farkı pek olmamakla birlikte bilgisayar kadar performanslı değildir. Genellikle ARM mimarisi ile tasarlanmış olan SBC'ler görüntü işleme, yazılım geliştirme gibi çeşitli ortamlarda kullanılırlar. Biz bu yazımızda 3 farklı ARM mimarisine sahip SBC'leri inceleyeceğiz.

OLinuXino


ARMv5 Freescale iMX233 mikrodenetleyicisini kullanan kart Olimex firması tarafında geliştirilmiş Open Hardware yani açık kaynak kod ve şema ile geliştirilmeye olanak sağlıyor.

Teknik Özellikler
  • İşlemci : Freescale i.MX233 454MHz
  • RAM : 64MB
  • SD Kart : Micro SD
  • USB Portu : 2
  • Ethernet : 10/100
  • TV PAL / NTSC video çıkışı
  • Stereo Ses giriş ve çıkış
  • İki kullanıcı düğmesi
  • I2C/SPI vasıtasıyla periferik modüllerin bağlantı için bağlantı UEXT
  • GPIO ve diğer sinyaller için 40 pinli konnektör

31 Ağustos 2012 Cuma

Ti Stellaris LaunchPad

Texas Instruments yine döktürmüş. LaunchPad kervanına bu sefer ARM mikrodenetleyicisini eklemiş. Basit ancak fonkisyonlu bir kart olduğu ise ortada.

Özellik olarak:
  • Stellaris LM4F120H5QR microcontroller
  • USB Micro-B connector for device
  • RGB user LED
  • Two user switches (application/wake)
  • Onboard Stellaris® In-Circuit Debug Interface (ICDI)
  • Available I/O brought out to headers on a 0.1" grid
  • Switch-selectable power sources:
  • -ICDI
    -USB device

    29 Ağustos 2012 Çarşamba

    Raspberry Pi İle PIC Programlayıcı

    Yazıktır günahtır dediğim bir olay. Bu aletin üzerinde işletim sistemi kurmak varken adamlar PIC programlamak için kullanmışlar. Tabi PIC manyaklarının aklına neler geleceği belli olmaz.

    Raspberry Pi PIC Programlayıcının Özellikleri
    • PIC içersindeki programı silebilir
    • PIC içersindeki programı okuyup 16-bit HEX olarak kaydedebilir.
    • PIC'e program yükleyebilir.

    PIC seri olarak programlanıyor. Genelde PIC programlayıcılar 5V'ta ihtiyaç duyarlar. Devre ise 5V'tu 7805 entegresi yardımıyla elde ediyor.

    6502 Mikrodenetleyici Simülatörü

    Eskimiş bir mikrodenetleyicidir. Ancak malumunuz Türkiye'de hala kullanılan hatta üniversitelerde ders konusu olarak anlatılan bir mikrodenetleyicidir. Sebebi ise mikroişlemcilerin öğretilmesinde, 8-bitlik kaydedicilere sahip olması, yapısının basit ve mikroişlemci programlama mantığının kolay öğrenilebilmesi sebebiyle 6502 mikroişlemcisi hedef alınmıştır. 6502 mikroişlemcisinin 8-bit mikroişlemcilerden 8085, Z-80 ve 6800 içerisinde, komut kümesi ve adresleme modları açısından daha üstün özelliklere sahip olmasından dolayı tercih etkenidir.


    28 Ağustos 2012 Salı

    AR.Drone IPhone Kontrollü Copter

    AR.Drone, model araç, bilgisayar oyunu ve sanal gerçeklik gibi farklı dünyaların en iyilerini bir araya getirerek çığır açmış bir cihazdır. AR.Drone IPhone, IPad, IPod Touch ya da Wi-Fi arayüzü olan bir cihaz ile uzaktan kumanda edilen ilk dört pervaneli helikopterdir. Cihazın üzerinde sensörler, bir ön ve bir alt kamera, ve ultrasonik yükseklik ölçer bulunmaktadır. AR.Drone, AR.FlyingAce gibi iki AR.Drone arasında it dalaşına imkan veren video oyunlarında da kullanılabilir. Özellikle roket ateşlenişi gibi ayrıntılar için bu oyuna sanal gerçeklik özelliği dahil edilmiştir.

    Nasıl Çalışır:

    Sezgisel pilotlukAR.Drone'un kokpitinde ultrasound sensörler ve bir yatay kamera mevcuttur. Bir otopilot tarafından kontrol edilen bu kombinasyon dört pervaneli helikopterin(quadrator) kusursuz bir şekilde uçmasını sağlar. AR.Drone iPod Touch / iPhone'unuzun hareketlerini algılar (aşağı/yukarı, ileri/geri gitmek ya da dönüş yapmak için). Herkes AR.Drone pilotu olabilir, kullanımı çok kolaydır.

    27 Ağustos 2012 Pazartesi

    Linuxstamp Gömülü Sistem Kartı

    Linuxstamp genel amaçlı bir işlemci modülü olacak şekilde tasarlanmıştır. Bu tek başına (SD kart, USB ve Ethernet / Seri dönüştürücü modül vs.) çalışmak üzere tasarlanmıştır.


    Teknik Özellikleri
    • Atmel AT91RM9200 processor (Arm9 processor with MMU, 180Mhz operation)
    • 32MB SDRAM (Only limited by 1x 54-TSOP SDRAM chip)
    • 8MB SPI Dataflash
    • 1x 10/100 Ethernet
    • 1x USB host port (allows wifi adapters, flash drives and other USB devices to be used)
    • 1x SD card slot
    • Serial debug port access through FTDI USB/Serial converter
    • JTAG port
    • 2-Layer PCB design
    • POE capable (48v -> 5v Power supply can be implemented on a motherboard)

    3 Mart 2012 Cumartesi

    USB Cam With IR Illuminator

    Aslında pek çok kez hacklenmiş olan USB Web Cam'ler Elektronikte Üstadım tarafından da bir kere daha hacklenmiş. Kendi ağızı ile dinleyelim Cam'ı nasıl hacklediğini ;


    Bir adet 10 TL lik USB cam alınır. Kameranın içi açılır. Sonra lensi sökülür. Lensinin ya en üstünde, yada bir kat altında IR filtresi olmalı. Bu filtre IR ışığın sensör tarafından alınmasını engelliyor. Haliylen sökülüp atılması, bir kenara fırlatılması lazım. Ya ben benim lensi bıçakla bir kat kesmek zorunda kaldım. Sonrasında ise mevcut Ledleri çıkarıp yerlerine IR olanları takmaya niyetlendim. Ama onu da yüzüme gözüme bulaştırdım çünkü zaten 10 TL ye alınan bir kameranın kartı dandik olurkene, ben de lehim konusunda üstat olunca şu an sadece bir IR led çalışıyor.

    2 Mart 2012 Cuma

    Raspberry Pi - Dünya'nın En Küçük Bilgisayarı

    Raspberry Pi İngiltere’de gönüllü katılımcıların oluşturmuş olduğu mini bir bilgisayar. Öyle ki bazı youtube videolarını da izleyince hayranlığım bir kat daha arttı. Üstelik bu kadar güzel bir cihazın 35$’a  ve 25$’a satılıyor olması ise ayrı bir güzellik. Bu da Raspberry Pi’ye dünyanın en ucuz bilgisayarı ünvanını kazandırdığını da söyleyebiliriz. Satışları rekor kırsa da temel amaç para kazanmak değil, kodları insanlara sevdirmek. Bu da neredeyse maliyetine satış anlamına geliyor.
    Peki 35$ ve 25$ fiyatları nedir?
    Raspberry Pi karşımıza 2 ayrı model ile geliyor. 25$’lık A modeli ve 35$’lık B modeli. Bu iki model arasında başlangıçta RAM belleği farkı ve donanımsal farklar olarak düşünülse de, sadece donanımsal farklar olarak karşımıza çıkmış. A modelinde ethernet portu,ve 2 USB portunun olmaması geri kalan tüm donanımlar B modeli ile aynı.

    1 Mart 2012 Perşembe

    MSP430 ve Pardus

    MSP430 mikrodenetleyicisi ucuz ve düşük güç modu olduğu için tercih edilen bir mikrodenetleyicidir.
    Pardusta bu kit ile işlem yapmak için aşağıdaki adımları izleyin.

    Kaynak koddan derleyerek kurmamız gereken iki uygulama var: Derleyici olan mspgcc4 ve mspgcc4 ile derlenen kodu denetleyiciye yüklemeye yarayan mspdebug. Bunları derleyebilmek için pisi deposundan system.devel bileşenini ve git'i kurmalıyız. Ayrıca cihazdan okuma yapabilmek için minicom kurmamız da faydalı olacaktır. Şu komut bunları sırayla kuracaktır:

    sudo pisi it -c system.devel && sudo pisi it git minicom

    Pisi'nin işi bitince mspgcc4'ü kurmak için şu komutları veriyoruz:

    git clone git://mspgcc4.git.sourceforge.net/gitroot/mspgcc4/mspgcc4
    cd mspgcc4
    sudo sh buildgcc.sh

    Son komutu verince renkli bir ekranda birkaç soru sorulacak. Tüm soruları Enter ile geçebilirsiniz fakat son soruda "Do you want to start build right now?" diyor. Bunun öntanımlı yanıtı 'Hayır' olduğu için Enter'a basmadan önce Evet'in üzerine gelmeyi unutmayın. Derleme işlemi bir saat kadar sürebilir.

    mspdebug'u indirip kurmak için şu komutları veriyoruz:
    wget -O mspdebug.tar.gz http://sourceforge.net/projects/mspdebug/files/mspdebug-0.13.tar.gz/download
    tar -zxvf mspdebug.tar.gz
    cd mspdebug
    make
    sudo make install
    Bunun derlenmesi birkaç saniye sürecektir.

    Sonunda geliştirme ortamımız hazır. Şimdi bir program derleyip cihaz üzerinde çalıştıralım. Örnek kod olarak birinci ödevimiz için hazırladığım kodu buradan indirebilirsiniz. Kodun yaptığı işi açıklamak gerekirse:

    Cihazla birlikte kurulu gelen programın yaptığı işi aynen yapıyor (yani sıcaklık ölçümü). Buna ek olarak düğmeye basınca bilgisayara proje ekibinin isimlerini gönderiyor. Ölçüm değerlerini ise değişiklik olduğu zaman bilgisayara gönderiyor. Ve bunları onaltılık sistemde derece cinsinden gönderiyor.

    MSP430 LaunchPad İle Basit MIDI Synth

    MSP430 ile yapılabilecek basit bir kare dalga MIDI Synth devresidir.


    Synth Nedir?
    Synthesizer farklı türde bir müzik yaratmak ve elektriksel sinyaller üretmek için kullanılan bir müzik aletidir. Synthesizer,amfilerden ses çıkarmak için elektriksel sinyalleri amfilere gönderir.

    Bu devre MIDI bir klavye veya başka bir MIDI alet bağlanarakda kontrol edilebilir. Veya USB MIDI convertörler yardımıyla dijital müzikleri (MP3) çevirebilirsiniz.

    İşte Malzeme Listemiz
    1x TI Launchpad veya başka bir MSP430
    1x 280 ohm direnç (yerine iç pull-up kullanabilirsiniz)
    1x 220 ohm direnç
    1x Sharp PC900V optokuplör
    1x Hoparlör
    1x MIDI dişi jack
    1X diyot
    Bir midi kablosu ve midi kontrolörü çeşit

    29 Şubat 2012 Çarşamba

    RevenGe Team

    1970 yılında gadget hack yapan ilk John Draper, Cap’n Crunch marka gevrekten çıkan bir oyuncağın çıkardığı ses ile defalarca ücretsiz görüşme yapmayı başardı. Daha sonra ‘Captain Crunch’ lakabıyla anılan Draper, bu oyuncağın 2600 hertz’lik bir sinyal çıkardığını tespit etmişti. Bu değer, AT&T’nin uzak mesafe görüşme sistemine erişim için kullanılan tonun aynısıydı. Draper daha sonra ‘blue box’ adlı bir cihaz geliştirerek, phreak’lerin bedava görüşme yapmasını sağladı. Draper’ın 70’ler boyunca sürdürdüğü bu ‘muzipliği’ onun tutuklanmasına neden oldu.

    Onun açtığı yoldan devam eden RevenGe Team olarak gadget hack ve elektronik programlama üçünü harmanlayıp Türkiye'de bu işlerin nasıl yapılabileceğini göstereceğiz ! Sadece gadget hack ile kalmayıp işin felsefesi ile uğraşacağız. Ticari kaygılar gütmeden her türlü alete ( kod koruması olsa da ) müdahale edeceğiz !

    Remember Remember the Twentynine of February !

    Lets The Game Begin ! ;)