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.