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);
}