-
Posts
234 -
Joined
-
Last visited
Content Type
Profiles
Forums
Developer Articles
KSP2 Release Notes
Everything posted by Sputnix
-
Feel free to I mean, I'm just borrowing the idea from the Apollo CM's 'Caution and Warning System'. [Which in turn is borrowed from the aviation world... ] The LCD is wired up to the hardware SPI lines of the Mega; This minimises the lag somewhat (from what I read, compared to digitally assigning pins). Yeah, I'm using little black boxes; I'm not sure if the 'string of spaces' would be quicker / less intensive. I did try it once; but because I'm converting the data to a string, storing it to an array, and then printing out that value, it's all very convoluted. When I tried earlier on to cover it all with blank spaces, I couldn't quite get it working. Admittedly, I was still very noobish with the Arduino 'C' code at the time too, so I might revisit it and try it again. I really dislike the way it deals with datatypes.
- 44 replies
-
- arduino
- controller
-
(and 1 more)
Tagged with:
-
Thank you! I think they're quite fitting too. Originally I had decals I thought I would attach; but as you point out, given the 'look' the embossed labels work really nicely. If I was doing something like Mulbin, then I'd probably pay closer attention to period-specific labelling (which is what I originally wanted). I also just managed to get the Master Alarm to fire as necessary
- 44 replies
-
- arduino
- controller
-
(and 1 more)
Tagged with:
-
Just a brief update -- I've added some temporary [though possibly may turn into permanent] labels. I was looking for some coloured label tape for my existing labeller, when I saw that they still sold friction / embossing labellers at Officeworks (Australia's stationary warehouse). So I got one (cheaper than the labels for my electronic / thermal labeller) and used it. I thought it gave a more kerbal-esque appearance I also used the last of my electronic / thermal labeller with clear tape to label the annunciator panel. I had just enough! The last two spots are open for some warning / feedback that have yet to be determined. (Seriously, if anyone has any ideas, feel free to provide some suggestions!) Still to do - I've still got to wire up / label the 8 red buttons. Although these were originally 'action group' buttons, I'm in the process of rethinking that. (They're most likely going to wind up being that anyway) - I've got to code in the Master Alarm reaction - Probably tidy up the rats nest inside - Have to find a way to show proper 'times' as Days / Hours / Minutes / Seconds. I plan on coding it to not display seconds as soon as it hits 100 days; due to lack of space. At that point, I might defer some of the information to the LCD; As a side note - trying to display too much data on the LCD will cause the system to choke. When I was doing the parachute safe video, I originally had the four values you see, along with the additional 6 or so. The poor little 16mhz system just couldn't keep up! It could also be the refresh rate; but I'd hazard that it was having trouble processing all that data (since the arduino is storing values, casting them, then outputting them - it's a lot to do!).
- 44 replies
-
- arduino
- controller
-
(and 1 more)
Tagged with:
-
Heh. Thanks (You can pat yourself on the back for the heavy lifting work ) Once I've got myself off planet, I'll do similar tests, and posts the results here * * * As an aside, can anyone point me in the direction as to how to convert / cast the times (Time to AP, Time to PE, and Mission time - first two being Int's, and the Mission being UInt32) so as to work with an 8 digit, 7-segment display? I've tried googling; but either my google-fu is borked, or it's not possible [easily]. Thanks
-
This is amazing! Surprised I didn't see this earlier. (I blame Mulbin for lack of update on the SimPit Repo thread ) I was thinking the exact same thing -- back when I was contemplating whether I could do such a thing It would be epic. But you'd have to do a full 360 gimbal thing... plus, it'd be cool if you could actually raise / lower the simpit so that you could get some feeling of taking off / being pulled back on the ground.. [yes, this is all very complicated and over-the-top, but why stop at just hydraulic pistons? ]
- 139 replies
-
- simpit
- controller
-
(and 1 more)
Tagged with:
-
That's awesome. I never knew there was such a 'standard' to follow. I'm going to keep this in mind for future projects, thank you Thanks A mech game would be awesome fun to do. Did you see the full-on enclosure this guy built? The BSBB -- Big Steel Battalion Box. I'd love to do similar for Kerbal (and Mulbin is working on one too!). Also, a good reference for Mech-style games would be the old xbox game Steel Battalion which came with specific controllers. Another style I contemplated (and originally started off designing) was switches around the monitor, similar to this guys. I opted for a more portable version in the end (but I haven't given up my idea of around-the-monitor style just yet
- 44 replies
-
- arduino
- controller
-
(and 1 more)
Tagged with:
-
Hah! That's awesome! I have a few old camercorders lying around (and recently took one apart too); was just this morning trying to work out if there was a way to use the LCD module. It'd be a pain to work out what wires go where. Did you use some service guide, or were your boards marked appropriately?
-
There's some really neat stuff out there (I really like looking at the Apollo CM and seeing how nicely they ran the cables behind all the panels). I look forward to seeing your final results, richfiles I think if I was to re-do mine, I'd pay more attention to the cable routing. But I would also probably change the way I interconnected different parts of the system. Probably even look into PCB. One reason I didn't was because I wanted to get onto programming the arduino, and using the darn thing Further, I wanted to allow it to be 'taken apart' for upgrades / repairs, and finishing touches (which will come later on).
- 44 replies
-
- arduino
- controller
-
(and 1 more)
Tagged with:
-
Yeah, I was using IAS for the 'air speed' tab. Thanks for that video, too. Highly informative! You've always got something incredibly useful to share! As for the data -- I've outputted every variable that could be of use; You may be right, that it's a combo of variables / values -- but I'm still analysing it. Anybody else that feels like they might have something to add, feel free to check it out below. There's 2 unsafe points. 1. Ascending with engines lit. 2. Descending, free-falling to the surface. .V2 below (Faster refresh, can see values better) --
-
I've done some testing. I believe it's the orbital speed. If it's greater than 310, it's unsafe; less than 310 it's safe. This could also be based on atmospheric pressure; since each planet will have a different value. However, until I travel to these other celestial bodies, I won't be able to confirm this. I displayed Air Speed, Orbital Speed, Vertical Velocity, Gees. and Air Density on the LCD; I then had an assistant take a photo of the display as the 'safe/unsafe' indicator changed. In both instances (allowing for slight delay from the photographer) it looks that around ~300 is the magical number
-
It is a 'clone-duino' - the toggle switches worked fine, but the momentary SPST switches weren't. All inputs were were defined as 'input_pullup'. So I suspect there is an internal pullup resistor in this thing. However, I think I worked out what I did. When I was putting everything back together, I think I reconnected the 'gpio data' line to the wrong connector on the button So, I'm sorry for the wild goose chase. On the plus - I got a lot more learning and understanding through it Many thanks again!!
-
Believe it or not, you have! Thank you so much! So using a mega, it's got the internal pull-up. Any thoughts as to why the 'input_pullup' wouldn't work on my SPST / momentary on buttons? I had to modify them to have a pull-up resistor as per the video. That works - but going by this diagram, my original wiring should've worked too!
-
Summer KSP controller : Arduino + KSP Serial IO + Joystick
Sputnix replied to Cbrollin's topic in KSP Fan Works
You can go back to clean it up I completely understand the funding thing. I actually looked into using a bit-shift register (And combining three of them together). In the end I decided to go a simpler route, and because I just had enough on the mega, figured I'd save myself a bit of heartache with another level of complexity I'm not completely foreign to electronics (and have more of a programming background) -- but this Arduino thing is a whole new minefield to navigate. I look forward to seeing your progress PS - I like your re-purposing of the computer case. I almost went down that route - but I don't have the necessary metal-work tools to do that. -
Hang in there! It's tough work! I found its best to do small quantities at a time, otherwise you mess up, or get frustrated. I'm keen to see how your V2 shapes up
-
Hey there! If you're stuck, feel free to send me a PM. I've been working with the code the past 24 hours and have a fairly solid grasp of it all. I'm also planning on creating / releasing some videos + documentation that de-mystifies the code, and how to link in external libraries / make different things work RE: Pull Down Resistors -- Thanks again to Zitronen for providing the link to explaining floating circuits.I think I followed a crappy guide to buttons, because I put all my resistors in series. The momentary push-buttons didn't work (until I wired in the resistor + 5v properly, as per the video). However, my toggle switches are working fine; anybody got any idea on why that could be? [Marzubus / Stibbons / TAPOR -- you guys participated in some of this discussion in depth, I'm hoping one of you can answer this one ] Many thanks!
-
w00t! I wish you luck! Did you find a solution for the LCD screen in the end?
-
It's been a bit of time since my last update - but it's been a lot of little, fiddly work. One of the main things I was conscious of was trying to keep everything 'modular' - allowing for the whole thing to be taken apart either to do repairs, or 'finishing touches' (such as labels on the lower panel aluminium). So I tried to use header pins, and connectors where possible to allow for this. I've wired it all up, and the next thing to do is confirm that everything has been wired up properly and communicating with the Arduino as needed. I also solved some SPI problems with 7-segment displays I was having. So, if you're having SPI issues - try twisting (like they do with twisted pair cable - Cat5e, or telephone cable) the clock and data lines together to eliminate interference / cross talk. Although I had started planning and thinking about how to wire up various parts of the board (and in fact, had already mounted most of the switches) I had to mount the Arduino board properly so I could start measuring wire accurately. The side was the easiest - in that the side of the box is straight. Originally I was looking to mount it at the back - but the angle would have been annoying, and wouldn't have given as nice a finish as I'd like. I also ensured the DC Jack could be accessed, and allow for a variety of sized plugs (different plugs have different sized moulding): And for reference - the lower aluminium panel, reverse side, with the switches and LEDs mounted -- Due to the desire to wire things 'modularly', many of the switches / buttons would work best with spade-plugs. So I got to soldering and crimping (and man is that a tedious task!). I linked all grounds with all sections, so as to try minimise the number of cables running around (more on that later) -- I got pretty close to hitting the base of the box (due to its slope) -- but I still had a few millimetres of clearance (phew!) Though this was only really an issue with the Action Group buttons... To try minimise the crazy wires running to the board, I got some 'test equipment' wiring lugs. These would carry the 3.3v rail, 5volt rail, and the ground. They sit at the back of everything - with a single wire going to a pin to connect to the arduino board. Sorry for crappy photo. This should give an idea of how the wiring for power works. As well some insight to the rats nest that this is To try things consistent and easily identifiable, I kept all powered cables the same colour - Green for 3.3v, Yellow for 5v, and Black for Ground. In order to try minimise the 'craziness' going to the Arduino, I employed the wonders of Flex cable. I'm hoping it will be ok - in terms of thickness for sending power to the LEDs. I didn't do the maths - I just prayed to the gods of electronics: Ohm, Coulomb, and Tesla - that all will be well . I re-purposed one (of my many) floppy-cables, since they are 40 pin, and I had 38 GPIO connectors usable [Pins 22 - 53, with 50 - 53 being used for hardware SPI which I used on the LCD]. I attached a double-strip of header pins to my Arduino 'prototyping shield' that came with my clone-duino kit. Pins PWM 2 - 11 are used to control the lower panel green/red LEDs. Because of the dual-nature of the lower panel LEDs, I put the resistor on the ground [which apparently is the correct way of wiring them]. Further to the modular design, I wanted to minimise the cables cluttering up the internal space (haha. I crack myself up! ) So I put a small very board in the middle of the lower aluminium panel to wire all things from the aforementioned panel to it, and then have the various flex-cable wires connected to that - You can see it in the midst of the mini rat-nest! As the saying goes, "the best laid plans of mice and men often go awry" - my attempts to keep this thing as neat as possible has basically failed. How apt that the quote involves rodents! [i saw a post today of someone who did similar - using ribbon cable, and of course, I can't find it now -- anyway, their implementation was much cleaner / neater]. Anyway -- here's the rats nest from various angles -- Upper panel lifted up Lower aluminium panel separated to see 'cable squish' The 7-segment displays I have had header-pins to daisy-chain 'easily'. However, because of how I created the mount / brackets, I couldn't use them the conventional way. I soldered wires to the back of the header-pins solder points. I also created a right-angle type connector the first 7-segment display; This would allow me to connector a cable easier - as the depth of the top of the case would be coming too close, and I didn't want to put stress on the cables by having them being jammed / crinked against the metal: Each of these panel lights has 2x LEDs inside - and each one requires its own resistor. I used a resistor calculator and the datasheet for these lights to determine the value of the resistor to use on each LED. Each pair of LEDs were wired to a single cable, which terminated at a point on the header strip I had placed on the vero board. 9 lights = 9 wires = 9 header pins You'll see my table marking out the Arduino Pins and their respective connections in the background. FYI, SS and SCK are around the wrong way I used super-glue to attach some little stand-offs to the back of the 3D printed bezel, and then some fiber-washers to hold the board in place. There's a slight gap - so it's not a perfect 'snug' fit - but then, I haven't replaced the covers on the panel lights yet (Because I still have to create the labels that sit between the lights and the covers) I checked to make sure all the lights were working as needed - which they were (hooray! ) Without the front bezel attached With the front bezel attached I attached all the upper bezels using a 'permanent double-sided tape' from Aldi. We'll see how permanent it is - but I figured it will be strong enough for the job: The last bit of information that might be of use to someone is the problems I was having with the SPI communication during testing. I wired up my 7-segment displays, and tested them - and they were working fine with the direct connection to the board I had. I then wired up my LCD screen, but had to extend the 7-segment wires to reach the arduino (since things were still very much in test mode, the cable couldn't reach). I was then noticing that half my 7-segment displays weren't working: You can see the extension lead (partially cropped) going from the bottom left, to the middle - up to the Arduino board. I was freaking out. Did a wire short? Was I trying to push my Arduino too far? I even started writing a query to the forums to see if others had seen this. I then had a random thought (which I was annoyed that I hadn't considered early): I had made a change, by putting an extension lead in. I removed the extension lead, and sure enough - everything was working. This was fine for testing - but I needed to make sure everything would work, as expected, in the final. I wasn't sure if I would have a 'short enough' lead to the 7-segment displays. Doing a bit more research, I stumbled upon a blog-post. There was discussions about SPI and data lengths. These people were trying to run SPI lengths of like 30 feet, or something silly. Anyway - one commenter mentioned that they twisted the clock and data lines together to eliminate interference. I figured I'd do a test-try to see if this would work. I twisted the cables of both the lines from the 7-segment, and the respective lines from the flex cable - and it works! Keep this in mind if you're having any issues with GPIO assigned SPI devices! Hope you guys have enjoyed this update! Let me know if there's anything specific I missed, or you would like to know about. Thanks for reading! - - - Updated - - - Thank you!
- 44 replies
-
- arduino
- controller
-
(and 1 more)
Tagged with:
-
Thank you You might be able to salvage around parts from wreckers, junk dealers, or surplus electronics stores. I found that buying new can be expensive (as it is, I didn't use my first set of handles - but it did give me some ideas).
- 44 replies
-
- arduino
- controller
-
(and 1 more)
Tagged with:
-
Summer KSP controller : Arduino + KSP Serial IO + Joystick
Sputnix replied to Cbrollin's topic in KSP Fan Works
Looks like a very neat project! Good start! I would recommend to anyone that can afford it, to go with a Mega 2560. You run out of pins very quickly (depending on what exactly you want to do - that is). Although, bit-registers are fun to use too (Clone-Duino's are quite affordable -- even down under with the distance-tax). Aww shucks. Thanks If you're interested in how to do the spoiler tags -- here's the code (with the content going between the blocks): Just replace the opening / closing parenthesis ( ) with brackets [ ] (spoiler=Click to see the full log ) (/spoiler) -
Haha.. You're probably very right there. I really need to think about this stuff a bit more. I'll try work out what the formula is I've just finished wiring up my Console. I'm just putting it together - right this second - so I'll configure all the inputs / outputs, make sure they're working, and start working on this stuff As an aside - Zitronen, can you please explain the purpose of the 'ControlStatus' function / Action Group Status IDs? I'm trying to work out how to use them / why they exist. Thanks Richfiles: Yeah, that was a slight typo there I'll create a thread for code snippets / tabs so that others can re-use once I've come up with stuff
-
Hey that's awesome! Great work! I actually requested this recently from Zitronen (I want to disable the staging when there are no more stages, and only have the Abort active in the first and final stages). If you could share the code, that'd be awesome [or possibly send it directly to Zitronen via a PM - to save some time implementing it] Zitronen-- I just became away of the above feature; Any chance we could get that as Boolean output? Sounds like a useful tool to put a visual indicator to (Red / Green LED anyone? ) Thank you
-
"Is it practical? No, who cares."
Sputnix replied to RandomName101's topic in KSP1 The Spacecraft Exchange
Hah! I love this idea of fireworks. What the heck inspired you to do such a thing? -
Anything like this is a bit ambitious for me (at least currently -- since I have no space for such an amazing piece of furniture) -- However, I would love to continue to see progress Definitely useful when considering the way people do things when conducting my own projects. Amazing job! Keep up the awesome work!
-
Thanks for the prompt reply, and suggestion I'll give that a try! I had originally tried using delay(int) but there were issues with that (apart from stopping the whole program), it also seemed to work for three cycles and then stopped displaying any data (no idea what's going on there). I suspect your suggestion of ignoring every other packet is likely to be a winner. UPDATE: Zitronen, you rock! That works beautifully. I modified the code a bit more too; so that the existing displayed data is 'covered up' by a black rectangle instead. I plan on further modifying it so that if the respective fuel isn't in use (or has run out), there isn't a constant refresh / update 'flash'. Sample video of it working; From left to right -- Update every 1 cycle (K = 1), 3 cycles (K = 3) and 2 cycles (K=2):