This pad builds on [[hacklab-kurssit-peliohjaimen-rakentaminen/rev.1143]], created by MarkoN & dist & haa & tapio & suovula & riverrun & anacron & [unnamed author] & jari & Lare Peliohjaimen rakentaminen -kurssi Helsinki Hacklabillä Kurssin tavoite *perusteet, kuinka Arduino UNO R3:lla tehdään USB-peliohjain tai näppäimistö *pitäisi toimia Windowsissa, OS X:ssä, Linuxilla ja PS3:lla (varauksin) *http://arduino.cc/en/Main/ArduinoBoardUno *osallistuja määrittelee haluamansa ohjaimen tyypin, akselien määrän ja kurssin vetäjien kanssa päätetään tarvittavat osat *esimerkki A, yksinkertainen 'turvanappi' joka aiheuttaa joystick- tai näppäinpainallukset *http://biltema.fi/fi/Autoilu---MP/Autotarvikkeet/Autosahko/Virtakatkaisin/Vipukytkin-suojakannella-43042/ *esimerkki B, täysi HOTAS-systeemi hall-antureilla ja painesensoreilla *http://www.f-16.net/attachments/f_16_hotas_001_925.jpg *materiaaleina käytämme laserleikattua akryyliä, kahvoihin värjättyä polymorph muovia, alumiiniputkia jne. mitä varastosta löytyy ja mitä osallistujat ovat tuoneet mukanaan *kurssilla ei tarvioida, keskitymme ohjaimen varsinaiseen rakentamiseen *materiaalimaksu on noin 30..80 euroa, riippuen mitä antureita Arduinon lisäksi ohjaimeensa haluaa *tarkoituksena ei ole vielä tehdä sitä lopullista, vaan enemmänkin prototyyppi, jotta osaa jatkossa tehdä omin päin lisää *labille voi tiistaisin tulla jatkamaan, jos jää kesken *la 24.3.2012 Kotiohjaamopäivät Suomen Ilmailumuseolla, tänne voi tulla esittelemään tuotostaan Aika ja paikka *lauantaina 10.3.2012 ja sunnuntaina 11.3.2012 *aamupäivä 10-12, lounas 12-13, iltapäivä 13-17, yritä päästä ajoissa paikalle *Helsinki Hacklab *Vallilassa, Nilsiänkatu 10, B-rappu, ovessa numero johon soittamalla tullaan avaaman *http://helsinki.hacklab.fi/yhteystiedot/ Ilmoittautuminen *kerro ilmoittautumisen yhteydessä minkälaista ohjainta olisit tekemässä, niin katsellaan miten onnistuu ja mitä tarvikkeita tarvitset *https://docs.google.com/spreadsheet/viewform?formkey=dC1lZkFiNWNYQXZJZ3RLZnlBSng4RUE6MA *jos et saa kuittausta imoittautumiseesi vuorokauden kuluessa, lähetä mailia hallitus@hacklab.fi Muuta *kurssi on kaikille avoin, mutta kurssilla tarvitaan materiaaleja: *Arduino UNO R3, hinta 20-30 e *nappeja, kytkimiä, ledejä, antureita, hinta 10-50 e *polymorph-muovia suositellaan kahvoiksi, hinta 5-10 e *tilatut materiaalit maksetaan paikan päällä, varaa käteistä mukaan -- Helsinki Hacklab: http://helsinki.hacklab.fi/ Suovulan hankinta TODO *Biltema: turvavipukytkimiä ja katsoa mitä muuta voisi löytyä *Partco: *http://www.partco.biz/verkkokauppa/product_info.php?&products_id=15991 *http://www.partco.biz/verkkokauppa/product_info.php?products_id=1443 *http://www.partco.biz/verkkokauppa/product_info.php?products_id=15707 *http://www.partco.biz/verkkokauppa/product_info.php?products_id=7391 *http://www.partco.biz/verkkokauppa/product_info.php?products_id=7368 *Hobby Point: värejä jauheena int sensorPinX = A0; // potikka X int sensorPinY = A1; // potikka Y int ledPinX = 10; // ledi X int ledPinY = 11; // ledi Y int sensorValueX = 0; // 0-1023 int sensorValueY = 0; void setup() { pinMode(ledPinX, OUTPUT); // ledi X pinMode(ledPinY, OUTPUT); // ledi y pinMode(sensorPinX, INPUT); // potikka pinMode(sensorPinY, INPUT); // potikka Serial.begin(115200); } void loop() { sensorValueX = analogRead(sensorPinX); sensorValueY = analogRead(sensorPinY); analogWrite(ledPinX,sensorValueX/4); analogWrite(ledPinY,sensorValueY/4); Serial.print(millis()); Serial.print(" x= "); Serial.print(sensorValueX); Serial.print(" y= "); Serial.print(sensorValueY); Serial.println(); } ppppppp float dx = 0; float dy = 0; int w = 640; int h = 480; int x = w / 2; int y = h / 2; float koko = 0; void setup() { size(w,h); smooth(); } void draw() { if (mousePressed) { dx = 0; dy = 0; x = 215; y = 200; background(random(56), random(84), random(72)); } if (keyPressed && (key == CODED)) { // if key is coded if (keyCode == LEFT) { // jos on vasen dx -= 0.1; } else if (keyCode == RIGHT) { // jos on oikea dx += 0.1; } else if (keyCode == UP) { // jos on ylos dy -= 0.1; } else if (keyCode == DOWN) { dy += 0.1; } } x += dx; y += dy; if (x >= w){ x = 0; } else if (x <= 0){ x = w; } if (y >= h){ y = 0; } else if (y <= 0){ y = h; } fill(random(200), random(201), random(221)); noStroke(); koko = (3 * koko + random(30)) / 4; ellipse(x,y,koko,koko); delay(10); }