Hallo iedereen,
Ik loop al een tijdje met het idee om zelf een controller voor Farming Simulator te maken, ik heb schetsen over het uiterlijk al bijna af. Maar nu komt de binnenkant, ik heb al een idee hoe het moet maar heb nog wat advies nodig. Ik zit al even te kijken naar een microcontroller en dan zijn er een aantal mogelijkheden. allereerst heeft de microcontroller HID (Human Input Device) nodig dan kom je uit bij een arduino Due of Zero of een teensy wat raden jullie aan? Persoonlijk zou ik voor een teensy gaan maar is dat wel handig
Ikzelf ben grote fan van Teensy: ruim voldoende IO, erg snel, meer geheugen dan je ooit vol krijgt, en goede Arduino-support. Ik gebruik ze voor USB MIDI controllers, niet voor game controllers, maar je bent zeker niet de eerste die een Teensy zou gebruiken daarvoor, en er zijn genoeg voorbeelden online die tonen dat het werkt.
Een HID kun je ook maken met alle Arduino varianten die voorzien zijn van een ATmega32u4 controller, waaronder de Arduino Leonardo.
Dat ding is daar voor uitermate geschikt.
Het is de vraag hoeveel power je werkelijk nodig hebt, en of jouw toepassing werkelijk een Beagle nodig heeft (is het geen overkill en daarmee een beetje te kostbaar ?).
Ik heb hier zelf wat printjes liggen met zo'n ATmega32u4 er op, waarvan 2 bekend staan als Beetle.
Dat is een naam die niet door Arduino is bedacht maar door een ander bedrijf, maar als je zoekt naar "Arduino Beetle" vind je meteen waar ik het over heb.
Ik heb die mee laten komen toen ik wat anders bestelde en ze tegenkwam, en omdat ik daar ooit eens mee wil gaan spelen.
Ligt ergens halverwege de enorme berg met zooi waar ik in de toekomst nog eens mee wil spelen en op dezelfde wijze ben tegengekomen.
Die link naar Conrad leidt naar een soort van kuch instructables kuch site, ik hoop dat ze bij Conrad wel fatsoenlijk uitleggen hoe een en ander werkt.
Ik wist niet dat ze hier ook mee bezig zijn bij die club, maar het verbaast me niet.
[edit]Oeps, ik zie nu dat het gewoon van Destructables afkomstig is.. :([/edit]
Een HID kun je ook maken met alle Arduino varianten die voorzien zijn van een ATmega32u4 controller,
Zelf een HID maken??
In mijn schetsen heb ik rekening gehouden met 10 knoppen en een joystick dus dat is een redelijk intensive combinatie. Dus kan ik beter een sterke/stabielere arduino te kopen. Ik heb momenteel een arduino uno dus zou een andere moeten hebben, die leonardo lijkt mij wel een goed idee, evenals de teensy, dus nog twijfels maar ga morgen ff goed kijken naar verschillen
K zag trouwens ook nog een arduino pro micro ook nog een optie?
Tijmen
PS. De schetsen zal ik ook binnenkort sturen
De pro micro is inderdaad een optie, want die is ook voorzien van een ATmega32u4.
Ook daar heb ik varianten van in huis.
Ik zie overigens dat ik schijnbaar ergens iets voorbij heb zien komen over een Beagle, maar dat jij het daar helemaal niet over hebt gehad..
Een Teensy zit een stuk dichter bij de prijs range van de Arduino varianten.
Een HID maak je met wat programmeer werk, maar ook met een USB controller die in je processortje verwerkt zit en programmeerbaar is.
De Uno heeft dat niet, maar dus die ATmega32u4 wel.
Die USB controller laat je vervolgens de juiste ID uitzenden als die verbonden word met een apparaat, en dan herkent het OS op dat apparaat 'm dus als een HID, en klaar is dat stuk..
hi, Ik heb zojuist een arduino Leonardo gekocht samen met een joystick om gewoon ff wat te proberen.
Ik zie overigens dat ik schijnbaar ergens iets voorbij heb zien komen over een Beagle, maar dat jij het daar helemaal niet over hebt gehad..
ik had gisteravond geen tijd meer om er naar te kijken maar heb er vanavond even naar gekeken, zijn leuke dingen voor kleinere projectjes k houd ze wel in mn hoofd voor als ik een ander project ga doen
dag allemaal,
ik heb al leuk wat informatie bij elkaar voor mijn gamecontroller maar er rest mij een vraag?
In veel sketches kom ik de code uint8_t tegen maar ik kom er niet uit wat het nou betekend
iemand suggesties?
Omdat een int verschillend kan zijn per type processor zou de code anders kunnen werk. Vandaar een standaard definitie over alle platformen heen:
int8_t = 8 bit signed integer
uint8_t = 8bit unsigned integer. En zo ook voor de 16,32 en soms ook 64 bitters
ik ben inmiddels weer terug van vakantie en weet begonnen met arduino en begonnen met het uitzoeken van de toetsen dus heb ik een programmatje van custom keyboard key geadopteerd, het probleemis dus op het moment dat ik mn random toets indruk in dit geval case 2
krijg ik niet 1 t maar 5-7 t's en op het moment dat ik de delay aanpas dan worden het er alleen maar meer
#include <Keyboard.h>
int keys[] = {2, 3, 4, 5, 6, 7, 8, 9, 10};
void setup() {
// put your setup code here, to run once:
Keyboard.begin(); // setup keyboard
for (int i = 2; i < 11; ++i) {
// initilize pins
pinMode(i, INPUT);
}
}
void loop() {
// put your main code here, to run repeatedly:
for (int i = 2; i < 11; ++i) {
// check buttons
if(readButton(i)) {
doAction(i);
}
}
}
boolean readButton(int pin) {
// check and debounce buttons
if (digitalRead(pin) == HIGH) {
delay(10);
if (digitalRead(pin) == HIGH) {
return true;
}
}
return false;
}
void doAction(int pin) {
// perform tasks
switch (pin) {
case 2:
Keyboard.press('t');
delay(100);
Keyboard.releaseAll();
break;
case 3:
Keyboard.println("makeuseof.com");
break;
case 4:
// CMD + T (new tab, Chrome)
break;
case 5:
// your task here
break;
case 6:
// your task here
break;
case 7:
// your task here
break;
case 8:
// your task here
break;
case 9:
// your task here
break;
}
}
Dat is ook logisch want in jouw loop zit je continu de toetsen af te testen. Dus zolang jij die knop ingedrukt houdt blijft hij doAction uitvoeren enz. Je zou na de acties kunnen wachten tot de knop is losgelaten bijv