Jump to content

marzubus

Members
  • Posts

    60
  • Joined

  • Last visited

Everything posted by marzubus

  1. Hej MrLao! There are quite a few complexities to overcome when designing any input system. I advise you to start with something very simple, like just a button panel for action groups and simple LED outputs. Get to know the arduino, and interfacing it with the game. You should ask yourself, are you making just a joystick, or are you making a whole new Input system ( which requires its own firmware ). Remember you can just turn your arduino into a Joystick with UnoJoy for instance! works great! MegaJoy would support more buttons! To your questions: 1. If you are only going to buy ONE arduino, then make it a Mega. You will be able to do much more on it later. Or you end up like me with 20 of the things lying around. But you need to be careful when wiring these things up. They release their magic smoke quite easily. So buy it from Aliexpress, or somewhere where its like 10 USD, not 100USD like here in Sweden. 2. I don't know if you are a programmer or not., but Arduino is C, and you don't need to read a book on C just yet. There are plenty of online tutorials to help you out. Take a look at zitronen's arduino source code for KSPDemo10 for example. Because that is what you want to extend to support your type of setup. 3. I have no experience with lawnmowerlatte's solution. I like KSPSerialIO, because its direct interface with my Arduino, not through any proxy / network system. 4. You probably don't need a external power supply. But you need to monitor your power draw on the Arduino, there are limits to how much stuff a AVR chip can power. There are per-pin limits and total limits. 5. Modular setups can be tricky. Its what I am trying to achieve. The problems you can encounter are things like building a common protocol that your modules speak. eg. I have a OLED gauge module, which I send values over i2c. So I know I need to send 4 bytes at a time to populate the 4 gauges on the OLED. That module also has a specific "address" which it listens on. ex 0x6c. So thats my Gauge module. Then if I have another one, I need a way to set it to have a different address, 0x6d perhaps. In retrospect. I started with UnoJoy, which gives you two analogs, and 10 or 12 buttons and DPAD. Its great to start with. The MegaJoy supports like 40 buttons or more. I highly recommend starting there, since you will find the firmwares already made for you, and you can tweak them a little. This would give you a Arduino that detects as a true joystick on your computer or PS3 even! Once you have had your fun with that, you can look at changing the software on the arduino to be a slave to something like KSPSerialIO. Regards! /Kegan
  2. midnitemax Did you come right? Or what is not working any more? Update, there has been a bump in the protocol's between the arduino and the KSPSerialIO module, so please check you are running the latest version and latest Demo10 based structures.
  3. I really like the feel of the clicky cherryMX keys. For WSAD keys for instance.
  4. Wow that red looks amazing! Looks almost like powder coating. My dad was a Country Manager for Dulux before he opened his own paint shop. So he was down on Australia some times.
  5. I would send u pics but I don't think it helps for 'feeling' the Finish. anyway, I highly recommend it. Family owns a paint shop, so I have access to such knowledge.
  6. I've had some success with Maston primers on mdf. I build an arcade cabinet and I'm very happy with the finish. A bit pricey but I think it's good.
  7. That looks really cool! great progress. What are you going to treat the MDF and wood with?
  8. Nice! I actually was inspired by KK4TEE's control panel, and went and bought my 3d printer when I saw that upper control panel which KK4TEE designed. I also went for the simple metal, but with the heated bed upgrade. Made a huge difference to my print quality! KK4TEE, do you mount cherry-MX's on that upper panel? Or what buttons will go in there? I really want to go with Cherry MX's but its so damn expensive for just a couple of those buggers.
  9. Nice! What were the final pin assignments? Because you have a D0 and a D1 port on that right?
  10. That is so awesome! I need analog gauges!
  11. Hi! Yeah that's the same oled driver. Sorry I didn't clarify its size. My plan with these was to emulate a single analog style VU each. I bought six of them because I got them cheap. You should be able to use my code as is for that particular display. Is it the monochrome or 2 color version? I am still shopping for a display double that size. If u find any other well priced ones, just check if the chip is mentioned in the u8glib drivers wiki.
  12. It's so hard with all these secondary workspaces. what oled did u buy?
  13. I guess u could push 3.0v to the VU and see if it reads max. Else have you got a stable power supply? One with lcd screen and all. Try ramp it up to determine the actual max voltage. Carefully though. Ur using a 5v Arduino right? So ur pushing 5v to that thing at peak I guess. Else maybe a cap or something to smooth out sudden shifts in value? I'm just guessing here.
  14. If you use pull-down on the pin, you could change the if (digitalRead(STAGEPIN)) to if (!digitalRead(STAGEPIN)) Remember that is only True if the pin is HIGH. To add more controls, KSPSerialIO would need to be changed. And that would require a feature request. Though I think enough of the controls are already exposed. ActionGroups take care of most of the work. Im not too sure on the reason for the second launch working. It sounds very strange.
  15. The "why" is because the default state is pulled-UP to HIGH, so when nothing is connected, the pin reads HIGH. I use different switches that disconnect when I activate them, so I stop pulling-gnd when I engage them. Im not sure on what you mean in the STAGEPIN passing question. There is a method in the arduino sketch, that does some bitshifting. So when you say MainControls(0, HIGH), this would set STAGE to 1. The sketch has name to bit position mappings for this which I guess you have seen. And there is a mapping for what bit values represent what Control value in KSP in KSPSerialIO code. So you can only set 8 states in this. And as you can see, the 1st bit ( position 0 ) is STAGE. Does that answer the question?
  16. I know sometimes you need to flip HIGH / LOW values, depending on if you pull-up or pull-down. Did you try that? If you set the pin to pull-up, the default ( off ) would be HIGH right? But main controls would be inverted, as when the pin is HIGH, you send LOW to MainControls ( not triggered ). Or am i mixing things up? EDIT: My buttons pull to ground permanently when not pressed/toggled, when i press/toggle them they break the pull-to-ground, allowing the pull-up to set the pin to HIGH, this then works as expected. If you have a 2-pole, you might need to do something like: http://arduino.cc/en/uploads/Tutorial/button_schem.png
  17. I try to stick to lcd modules which are supported by u8glib, and I believe you can have a custom communications procedure for the custom defined modules. See https://code.google.com/p/u8glib/wiki/devicedesign Might be worth a try if ur module is supported. that said, I've never tried. Yeah all those mega pins!!! There area couple of really nice lcd modules on aliexpress! It's super easy if u find one that has the same chip as u8glib supports!
  18. Oh wow! that is super! How many bit resolution are those axis? I thought you could not do more due to limitations in HID spec and payload size.
  19. The source is up at github. But basically there are handshake bytes sent to the chip, then the chip responds with ack bytes, and KspSerialIO then sets the display found Boolean to true . It's all in the source under a function called port_receivedEvent and processCom. More: The AVR and KSpSerialIO need to know the baud rate, And if you don't know the com port, the AVR will be searched for. A search is done by sending the HPacket to every com port and waiting for a response, if the response is a valid HPacket. bingo! The board is scanned for at every vessel change, when you actually fly the ship. See source here: https://github.com/zitron-git/KSPSerialIO/blob/master/KSPSerialIO/KSPIO.cs You need to refer to these sources anyway to learn the VesselData structures that are supported in Zitronen's protocol. See the VesselData struct for what is exchanged with the avr. As for analog input, that is totally possible.
  20. I never tried running a lcd on a shift register, I guess it would be real funky for the driver. What kind of lcd?
  21. I have 7 axis and 40 buttons working on my mac, I think windows is 4 or 5 axis limited actually. Linux and Mac has no limit, though SDL has its limits as mentioned.
  22. I have been looking for some round VU meters in the 3.3 to 5v range, but had no luck in finding any that I can change the back card. :/ At least I have my OLED solution now. I think I will make a digital needle like meter or something akin to airbus or boeing instruments.
  23. Well it was all pre-wired and patched in the protoblock, inside a transparent plastic housing. So I didn't have to do anything too dodgy.
  24. Good Evening T.A.P.O.R! A shift-register is always on the cards, its just easier for me to develop without it. And I have boards lying around. I plan to switch to a shift-register later, if I can get away with the ~2K of RAM on the UNO / Leonardo. /K - - - Updated - - - Hi mustangs6551, ( I can't seem to reply to your post directly, I think its a forum issue ) I am not currenly running a "USB Joystick" firmware on any of the boards, since KSPSerialIO can control the ship over serial connection only. That said, a Arduino Leonardo can function as a joystick without too much tinkering, where a UNO, requires you to re-flash the 16u4 controller ( USB-controller ) on the board to make the PC detect it as a joystick. For advanced custom USB joystick HID's, see hoodloader2 and HID, though it takes a while to figure out all the necessary steps get an actual joystick out of your arduino. And requires you to setup Arduino IDE for third party hardware. A much simpler project is UnoJoy, https://code.google.com/p/unojoy/ This one makes your UNO into a joystick with buttons and analogs similar to a PS3 controller. So its limited in buttons and analogs in that sense. Also note that Windows can only detect a limited number of Axis and buttons, less than Mac or Linux, but I don't recall the exact numbers. So just remember that.
  25. Hej T.A.P.O.R! Awesome work! Where did you get the analog volt gauges, and what sensitivity are they? Can they be opened and replace the backing-cards?
×
×
  • Create New...