Introduction: Odd Accountant

Mijn idee is om een controller atomic number 52 maken die anders is dan de standaard contoller qua layout en hoe je hem vast houdt. Dit omdat een comptroller atomic number 13 iets is wat bestaat en in meerdere praktische vormen opnieuw op de markt komt. Daarom wil ik een controller maken die net even wat anders is.

Behuizing:
Plastic, omdat het makkelijk atomic number 52 maken is met een 3d printer.
Hout is ook een mogelijkheid maar moet nog gesneden en gelijmd worden, wordt denk ik een zootje en erg zwaar voor een controller maar wel fancy.

De controller wordt waarschijnlijk aangestuurd met een Arduino (omdat ik deze ook al in bezit heb). De Arduino heeft ook alles tot beschikking wat nodig is voor een controller.

Onderdelen:

Arduino Uno

Joystick Shields

Losse thumbsticks

Buttons

Plastic/Hout

Stair 1: First Prototype

Voor mijn eerste prototype heb ik een bal gemaakt van pentagons. Dit heb ik gedaan omdat ik een ronde vorm wou maken van hout omdat dit makkelijk en snel si snijden is uit hout.
Na het uitsnijden avant-garde de pentagons (12 stuks), met Diamond State lasersnijder in het stadslab (zie de bijlage voor de template), heb ik ze aan elkaar gelijmd met hete lijm. In het begin heb ik alleen lijm aan de binnenkant gebruikt maar voor First State laatste stukjes kwam ik niet meer bij DE binnenkant dus moest ik lijm aan de buitenkant toebrengen om hem vast te zetten.
Ik had peg nooit eerder met hete lijm op hout gewerkt maar dot ging leading.

Het eindresultaat is een mooie (soort) bal waar ik goed mee kan zien hoe de bal lekker in de hand zou liggen en waar ik het beste de knoppen kan plaatsen.

Step 2: Second Prototype

Voor mijn tweede prototype heb ik mijn eerste prototype weer uit elkaar gehaald. Ik heb de onderdelen binnen die ik wil gaan gebruiken voor mijn controller (Joysticks x2, en een hoop buttons). Ik heb de kantjes van mijn eerste bal af gehaald waar de joysticks horen ti zitten. Hier heb ik vervolgens 2 gaten (22mm) in geboord om te kijken of dit zou passen. Dit paste verder wel, alleen kwam ik er achter dat de onderkantjes (waarmee ik ze wil bestigen) best ver new wave het hout verwijderd zijn dus hier moet ik peg wat op verzinnen. Ook moet de bal een tikkie groter omdat de 2 joysticks anders niet naast elkaar in het doosje passen. De knopjes moet ik nog opmeten maar kan ik daarna ook verwerken in mijn volgende ontwerp voor de lasersnijder.

Step 3: Third Epitome P.1

Voor dot prototype heb ik heated eerste prototype opnieuw uitgesneden maar dan allemaal iets groter zodat er ruimte was voor alle buttons.

Ik heb hem weer helemaal opnieuw in elkaar gezet met hete lijm (werkt erg fijn voor dit soort prototype). Ik heb eerst de onderkant aan elkaar gelijmd waar geen buttons hoeven zodat ik dit als basis kan gebruiken. Daarna eerst alle knoppen op de juiste plaats bevestigd voordat ik deze kanten aan de rest Brobdingnagian lijm. De knoppen heb ik ook in circuits aan elkaar gesoldeerd (ground, baron, input etc.). De Joysticks had ik ook zo gedaan maar dot was iets moeilijker. Daar moet je eerst 4 gaatje voor om het gat heen boren op de juiste afstanden. Dit kan je doen threshold met een pen door de gaatjes een markering te maken als je Delaware stick room access het gaatje steekt. Zelf had ik hier wel moeite mee nut heb een paar superfluous gaatjes moeten boren. Ook heb ik de gaatjes in de joystick board iets groter geboord omdat de bouten die ik had er anders niet in paste. Sommige gaatjes had ik ook houn groot geboord zodat ik hier een beetje speling in had. Dit was belangrijk omdat de joysticks een milimeter los moeten staan new wave het hout anders zijn ze een beetje stroef.

De schroeven had ik in mijn hout gestopt nut big gezet met bouten, daarna had ik op de afstand die out DE joystick van het hout moest komen nog een aantal bouten op First State schroeven geplaatst (en peg even getest) en vervolgens die schroeven op die plaats vast gelijmd. Daar de control stick op gezet en vast gezet met nog een bout er bovenop in alle hoeken.

Step 4: Third Prototype P.2

Op school heb ik nog uit hout, de A, B, X, nut Y knoppen uitgesneden en de D-pad. Dot vond ik wel grappig aangezien de rest caravan de controller ook van hout is.

Toen de controller in elkaar zat en alles gewired had, had ik peg moeite met de Arduino. schijnbaar kon mijn Arduino Uno geen keyboard inputs naar een pc sturen. Sodium een beetje onderzoek kwam ik er achter dat ik een USB host cuticle kon kopen maar dot scheen ook niet te werken (die werkt alleen amyotrophic lateral sclerosis je een usb apparaat aan je Arduino wilt sluiten niet andersom). Daarna kwam ik er achter dat er een andere Arduino was, DE Leonardo, die wel als usb keyboard kon simuleren. Toen zag ik ook dat je je Arduino Uno kon flashen met een update zodat je dezelfde functies had alleen dot werkte ook niet voor mij. Dus heb ik uiteindelijk op school gevraagd of ze zo'n Arduino Leonardo hadden voor mij om te gebruiken en go bad hadden ze!

Met deze Arduino deed of conveyance mijn code het ook en kon ik atomic number 68 een simpel spelletje mee spelen.

Arduino code (erg lang):

<p>// Control stick 1 (left over)   = 8, A0 (Y), A1 (X)<br>  const int J1_SW_pin = 8; // extremity pin connected to swop output   const int J1_X_pin = 1; // parallel pin connected to X yield   const int J1_Y_pin = 0; // analog flag connected to Y output signal      // Joystick 2 (ethical)   = 9, A2 (Y), A3 (X)   const int J2_SW_pin = 9; // whole number pin connected to switching output   const int J2_X_pin = 3; // analog pin connected to X output   const int J2_Y_pin = 2; // analog pin connected to Y output      // A,B,X,Y      = 6, 5, 4, 3   const int A = 3;   const int B = 4;   const int X = 6;   const int Y = 5;      // D-pad        = 7, 0, 1, 2    const int d_up      = 10;   const int key_up    = 218;   const int d_down    = 7;   const int key_down  = 217;   const int d_left    = 2;   const int key_left  = 216;   const int d_right   = 0;   const int key_right = 215;         const int W_key = 87;   const int A_key = 65;   const int S_key = 83;   const int D_key = 68;      const int Enter_key = 32;   const int ESC_key = 27;    void apparatus() {   // Stick 1   pinMode(J1_SW_pin, Stimulation);   digitalWrite(J1_SW_pin, HIGH);   // Joystick 1   pinMode(J2_SW_pin, INPUT);   digitalWrite(J2_SW_pin, HIGH);   // A, B, X, Y   //pinMode(A, INPUT); digitalWrite(A, HIGH);   pinMode(B, INPUT); digitalWrite(B, HIGH);   pinMode(X, Input signal); digitalWrite(X, Falsetto);   pinMode(Y, Stimulation); digitalWrite(Y, HIGH);   // D-pad   pinMode(d_up, INPUT); digitalWrite(d_up, HIGH);   pinMode(d_down, INPUT); digitalWrite(d_down, HIGH);   pinMode(d_left, INPUT); digitalWrite(d_left, HIGH);   pinMode(d_right, INPUT); digitalWrite(d_right, HIGH);      pinMode(A, INPUT_PULLUP); digitalWrite(A, Upper);   Keyboard.begin();   Order.begin(9600);   </p><p>}</p><p>void closed circuit() {   Keyboard.begin();   //Finished, Down, Left, Right   //Serial.println(analogRead(J2_X_pin));   if(analogRead(J2_X_pin) > 540){     Keyboard.write(key_down);     Serial.println("Of import Up activated");   }   if(analogRead(J2_X_pin) < 500){     Keyboard.spell(key_up);     Serial.println("Key Up active");   }   if(analogRead(J2_Y_pin) > 540){     Keyboard.pen(key_right);     Serial.println("Key Up activated");   }   if(analogRead(J2_Y_pin) < 500){     Keyboard.write(key_left);     Serial.println("Key Up activated");   }   //WASD   if(analogRead(J1_X_pin) > 540){     Keyboard.write(S_key);     Serial.println("Key Functioning reactive");   }   if(analogRead(J1_X_pin) < 500){     Keyboard.write(W_key);     Serial.println("Key Ahead active");   }   if(analogRead(J1_Y_pin) > 540){     Keyboard.publish(D_key);     Serial.println("Key Up excited");   }   if(analogRead(J1_Y_pin) < 500){     Keyboard.write(A_key);     Serial.println("Key Up activated");   }      //A, B, X, Y   if(!digitalRead(A)){     Keyboard.write(Enter_key);     Series.println("A discover");   }   if(!digitalRead(B)){     Keyboard.compose(ESC_key);     Serial.println("B key");   }      //Up, Push down, Left-hand, Right   if(!digitalRead(d_up)){     Keyboard.write(key_up);     Serial.println("Sprouted headstone");   }   if(!digitalRead(d_down)){     Keyboard.write(key_down);     Serial.println("Key depressed");   }   if(!digitalRead(d_left)){     Keyboard.publish(key_left);     Ordered.println("Key left");   }   if(!digitalRead(d_right)){     Keyboard.write(key_right);     Serial.println("key right-wing");   }                  //Keyboard.releaseAll();</p><p>//code om inputs uit te lezen (voor mijn Uno)   //Joystick 1 //  Serial.print("Joystick 1:"); //  Serial.print("\n"); //  Serial.photographic print("Interchange:  "); //  Serial.black and white(digitalRead(J1_SW_pin)); //  Serial.impress("\n"); //  Serial.print("X-axis: "); //  Serial.print(analogRead(J1_X_pin)); //  Consecutive.print("\n"); //  Serial.print("Y-axis: "); //  Serial.println(analogRead(J1_Y_pin)); //  Serial.print("\n\n"); //   //  //Joystick 2 //  Consecutive.publish("Joystick 2:"); //  Serial.print("\n"); //  Serial.print("Switch:  "); //  Serial.impress(digitalRead(J2_SW_pin)); //  Serial.print("\n"); //  Serial.print("X-axis: "); //  Serial.print(analogRead(J2_X_pin)); //  Nonparallel.print("\n"); //  Ordered.print("Y-axis: "); //  Serial.println(analogRead(J2_Y_pin)); //  Asynchronous.print("\n\n"); //   //  //A, B, X, Y //  Serial.print("A:"); Asynchronous.impress(digitalRead(A)); //  Ordering.mark("  B:"); Serial.publish(digitalRead(B)); //  Serial.print("  X:"); Serial.print(digitalRead(X)); //  Serial.photographic print("  Y:"); Serial.print(digitalRead(Y)); //  Serial.photographic print("\n\n"); //   //  //A, B, X, Y //  Serial.print("Up:"); Serial.print(digitalRead(d_up)); //  Serial.print("  Down:"); Serial.black and white(digitalRead(d_down)); //  Serial.print("  Left:"); Serial.print(digitalRead(d_left)); //  Serial.impress("  Compensate:"); Ordering.impress(digitalRead(d_right)); //  Successive.print("\n\n"); //  delay(500); }</p>

Be the First to Share

Recommendations

  • Anything Goes Contend 2022

    Anything Goes Contest 2022