Wednesday, April 20, 2016

Gauge Cluster Arduino Module Install

This to Fit This

This is a job I am not particularly looking forward to as there are a lot of wires to redo and reroute in order to make room for the blue plastic Gauge Cluster housing I modified to fit the Arduino Mega Enclosure, 16 Channel Relay Module and additional NAIS Relays Module.

Way back when I first started this project I was really not sure how many Relays I was going to need or really any sort of direction as to how to go about hooking them up. Now I have a lot more experience with this stuff and a lot more of a structured direction to go in. Like I say it's not a job I am looking forward too but the upshot will be that when I am done the install will be a lot cleaner and easier to manage. It's going to be a real wiring "Knightmare" though. ;)

Monday, April 18, 2016

Relays Labeled

I have all of the 16 Channel Relay Modules Relays controlled by the Arduino Mega labeled so that way I can know what they are at a glance even though I also have the wires going to each on the low voltage input pins labeled too having the tops of the relays visibly marked helps things a lot too. I figure this will make the job of connecting the switch side of each 10 amp Relay up to it's corresponding device a lot easier. The funny thing is that many of the Relays I don't even have a device to hook up to them yet, but it's sure nice knowing that the initial framework is all in place and ready for very easy hook up when I do eventually have the devices to hook up to them.... and that my friends saves a boat load of work to do in the future right? ;)

Saturday, April 16, 2016

A Smaller Relay Module

Some of you may recall way, WAY back when I first started my dash install I had a series of NAIS relays mounted onto a piece of Lexan plastic that I installed in the area where the old Gauge Cluster used to be. If not maybe this image might refresh your memory a little ;) One of the reasons I had done it this way was,
one: I was not sure how many Relays I was going to need,
two: I was not really sure how to go about hooking up any devices I was going to want to install which also meant not knowing how many Relays were going to be needed too. So needless to say I was a little all over the map in some areas and fairly indecisive as to what direction to go in. So I went with the idea of;
"I would rather have too many than not enough."

Eventually as this project progressed and I started developing my own Dash Software (Knight O.S.) things started to become a little more clear as to how many and what sort of Relays I would need. So I pulled the old Gauge Cluster housing out of "Mothballs" and began modifying that to house the Arduino Micro Controller and some Relay modules.

I took about 6 of the NAIS Relays and soldered them onto a piece of Proto-board along with screw terminal blocks that will serve and the low voltage inputs to trigger the magnetic coil of each Relay. I then soldered on some 18 AWG wire for the outputs on the switch side of the relays. I soldered some pretty thick tracks onto the photo-board to make sure I had more than enough to drive any current the Relays are capable of, probably went a little "over kill" but what the heck, you know me..... lol or you should by now. ;) I took the extra precaution of reinforcing the wires soldered onto the photo-board by applying a good coat of fibreglass resin on the tracks side of the board and the top side. rest assured those soldered connections are going nowhere. ;)

I then took a strip of high density foam rubber that has a sticky back side and applied that to the track side of the board. (See Left)

I then mounted the newer more compact relay module into the Gauge Cluster housing like this. (See Right) 
With that all hooked up in there nice and neat that will give me 6 more additional Relays to use if I need them. I still need to mount in the 5 pin Relay that is used for the Headlights & Running Lights, but I should be able to work that into this scenario. I'll keep you posted on what I do for that.

Wednesday, April 13, 2016

Arduino Module

Lots of soldering wires today for the Arduino Module to control the 16 Channel Relay Module. There are lots of connection still to have wires soldered to when I get another Relay Module. As it is it's pretty crowded with wires and I have that project box pretty stuffed, but neatly stuffed. I'll take to top off in a later post and show how it's all put together. Depending on how much stuff you want our Knight O.S. software to run will really determine how stuffed your project box will be. My guess is that if you wanted every device hooked up you would need a bigger project box to make room for all of the wires as they take up a good deal of space.

As you can see I have my wires for each of the Arduino pins that they are connected too so I can track which one goes to which of the Relays on the 16 Channel Relay Module. If all goes according to plan I may very well be able to install this Arduino Module and the 16 Channel Relay Module into the blue plastic Gauge Cluster housing that I spent the better part of this morning cutting out all of the "greeble" to make usable space inside of the old Gauge Cluster housing. That was a time consuming and messy job that involved lots of cutting with my Dremel Tool.

Here is a shot of the old Gauge Cluster housing all cleared out to make space for the Arduino & Relay Module. I should be able to mount those other Relays I have installed under the dash into this thing too and it should make my install a lot cleaner of a job. ;)

Here is a shot of the Arduino Mega with the Connections "Hat" I made with the wire connections soldered on for the 16 Channel Relay Module, LDR Sensor, Temperature Sensor and Compass Module & Compass LEDs. As you can see if one wanted to hook up all of the other pins you would probably need to make some holes in the sides of the Project Box or use a bigger Project Box to contain it all. But even a bigger Project Box will still fit quite nicely into the blue plastic Gauge Cluster Housing area.

Tuesday, April 12, 2016

Arduino Mega Connections Hat

So in an effort to try and make things a little more compact and try and eliminate a lot of the "Spaghetti Wires" scenario which is a little difficult when you have so many connections like this. I'm giving this idea a shot, it's basically an offshoot idea as to what you have seen in my previous posts with the Connections Proto-Board I had been experimenting with. It's basically all that just turned into an "Arduino Hat." The "Hat" is then connected to the Arduino using Header Pins instead of all of those loose flying "Spaghetti Wires." I mean I'll still have wires but they will be coming off of the "Hat" and then going into Molex Connectors.

I had a pretty easy time soldering in all the header pins to the piece of Proto-Board I had cut the the right size to fit on top of the Arduino until I got to the last row of pins. As it turns out on my Arduino the one row of female sockets closest to the USB connector was offset by just half a hole spacing on the Proto-Board so when I got to it I thought: 
"Oh great! Now what am I going to do?"
 Luckily I came up with a solution. I used a very fine bit on my Dremel to drill tiny holes between the existing holes on the Proto-Board and then used another fine bitt to grind off the copper solder pads around the holes. I then soldered on the header pins into the newly drilled holes and uses fine wire clipping from component wires to run the solder to the "offset" holes in the next line. I used my Multi-Meter to make sure there were no shorts as it was a tricky soldering job that anyone following hopefully will NOT have to contend with. I was just unlucky enough to get an Arduino that had this slight manufacturing flaw. Either that of maybe it fits the factory made "Proto-Shield Hats" better?? I guess I'll find out when the two I ordered off eBay finally arrive ;) In any event I was able to work around it and create my own "Proto-Shield Hat" that I can solder my Optocouplers, Resistors and Jumper Wires on too.

Here is a diagram work in progress of what I am working towards with this idea.
I soldered in the Optocouplers and the 10K Resistor for the LDR Sensor. You can see here in these two photos that it was a pretty delicate job but just took some patience. lol I don't think the six cups of coffee helped much for having a steady hand so I had to brace my hand against my work bench just to keep it stable ;)

I may need to solder in a couple more Optocouplers as I may need them for screen transition requests via a Switch Pod button or some other button. I have the room on the "Hat" I'm making so a little forethought in that area might be handy ;) The Optocouplers currently on the "Hat" are for the Left & Right Turn Signal indicators in the Knight O.S. interface. 2 others are for Forward & Backwards direction indicators (Currently not set up), One is for the Manual Override Screen Request, and the other is for one of the Environment Scan Screen Requests. The Optocouplers take either a 12V Positive or Ground to trigger a 5V ground on the Arduino and are completely isolated from the 5V Arduino.

Sunday, April 10, 2016

Arduino Connections Module Reworked

I reworked the Arduino Connections or Optocoupler Combo Board as I was not totally happy with how a lot of it was arranged. Chances are I'll probably rework it even more yet as my thought lately is to turn it into a "Hat" using header Pins. I have a couple of Proto-Shields on order from eBay but they will take their sweet time getting here for sure so I don't mind doing some experimenting with some Proto-Board to test out my ideas.

I reworked the schematic for my Proto-Board too just in case anyone has been following along and want to do the exact same thing. I find it handy to keep these diagrams around just so I have a record of my progress, what worked, what didn't work, what needed tweaking and just what the heck all the pin outs are for these little projects as they can get pretty complicated at times. ;)

Friday, April 8, 2016

HMC5883L Digital Compass Installed In Upper Console

I installed the HMC5883L Digital Compass into the Upper Console, I struggled long and hard for s good starting place to install this very tiny sensitive device. You are supposed to keep them away from wires and metal, lol well good luck with that as where in a car can you install something like this that it's not going to be fairly close to some sort of metal or electrical wires. I thought about somewhere in the dash but again same problem plus that area is close to the Engine Bay so I figured "Nay Nay" on that idea.
The trunk area I thought but then I'm running an excessive amount of wires for a 5V tiny device. The Upper Console seemed like a good idea as it's only got the T-Bar metal to deal with, it's somewhat centrally located, and yes there are wires but how close is "Too Close" ?? I guess when I take the Upper Console out for a test fit I'll find out won't I? If that does not work then I am at somewhat of a loss as to where a good place to install the compass would be. At least in the Upper Console I can run the 5V Power and ground off of the same one that the Temperature Sensor Module and Compass Indicator LEDs are using. Anyways, I hooked it all up to my Arduino Mega & Unity 3D setup and gave it all a bench test and it seems fine with the exception of the Compass still needing to be calibrated properly, but it all works. That Temperature Sensor I'm very impressed with, that thing works beautifully. 

Tuesday, April 5, 2016

Making a Vent Cover For The Temperature Sensor

Although this is not show accurate I am making a combination Vent Cover and Compass indicator lights panel for this part of my Upper Console. I'm doing a few things different with my K.I.T.T. naturally ;) I need to put that Digital DS18B20 Temperature Sensor Module somewhere and this seems a logical as any place. My thought is that if I make a removable vent cover plate or panel then if the sensor ever goes bad it will be easy to replace because all I would need to do it remove the cover plate and unplug the sensor and replace it with a new one. The space on the panel next to the vent slits I figure I'll put 4 LEDs in there to serve as the Compass indicator lights even though the Compass sends data to our Knight O.S. Dash Software I figure what the heck, why not, gives the Upper Console some more lights that actually do perform a real function ;) 

I added the 4 LEDs for the Digital Compass and mounted the Digital DS18B20 Temperature Sensor all to a couple of pieces of Proto-Board. I tested out the LEDs to make sure they were working with the Compass Module and they seem fine, just need to ID each of the wires that I colour coded Green, Red, Blue, Yellow and Black for Ground, that way I'll know which wire is for North, South, East and West indicators. Now I need to glass in a mounting bracket to attach this circuit assembly too and hook the wires up to a Molex Connector.

I drilled the holes for the Compass Indicator LEDs to poke through the Vent plate I made. I had to make a hole template out of some thin card stock just to make sure I lined up the holes right. Once done I could test fit the combo module I made so the next step will be to glass in some sort of mounting brackets to attach the circuit module to the Upper Console. I was kind of hoping to have made the Temperature Sensor Module a little easier to remove if it ever went bad but unfortunately the header pins were soldered in the wrong way so I was not able to do it quite the way I would have liked. However if the Sensor ever does go bad and I replace it I'll make sure the header pins and soldered on in a way that I can just make it so that I can plug it into a socket. 

Then I cut out a couple of "L" shaped Aluminum brackets that will serve as the main mounting tabs. I then glassed those into place. I first cemented then roughly into place using some Bondo Glass that way they would not move around any when I used the actual Fibreglass Resin and some small strips of fibreglass matting to secure the Aluminum tabs permanently into place. once this is set I can make a piece of Aluminum that I can screw down on top of the tabs to hold the circuit assembly in place. I'll put a piece of rubber padding under the top Aluminum strap to add a little cushion.

once the top securing plate is complete the final step will be to connect up the wires to a Molex Connector like I mentioned earlier on and then our little circuit assemble will be pretty much complete. I may install the HMC5883L Digital Compass into the Upper Console too as it seems likely to be the best place, kind of hard to say though as any metal or wires close to it are likely to affect the accuracy of this very delicate Compass Module so that may well involve some experimentation.

I added the Molex Connector for the Temperature Sensor and the Compass LEDs. I used an 8 Circuit Molex which leaves one spare just in case I need an extra one like maybe an extra 5V Power or Ground wire, but at 5V it should be fine. just need to determine a length of wire needed to run across the top of the T-Top window edge and down the windshield column to wherever I'll end up installing the P.C. and Arduino so a little extra will be good just in case, I would rather have too much than too little, not that it's a big issue as I can always splice on extra if I'm too short but and ounce of prevention is good ;)

Monday, April 4, 2016

Diagram For Optocoupler Combo Board

I made a diagram for the basic layout for the Optocoupler Combo board I whipped up just using some Proto-Board. In the diagram I did not include all of the Optocouplers I'm currently using as it;s likely to change and the format is simple enough to just continue the pattern to add more as needed. I have not added the Digital Compass yet either so I'll be doing another updated diagram later but this gives an idea of how simple it is to connect up some stuff like the Switch Pod button inputs for the Arduino Mega to activate screens in our Knight O.S. Dash Software interface and connect up the LDR and Temperature Sensors. You can see the Optocouplers provide complete isolation between the 12V Switch Pod buttons and the 5V ground pulse needed for the Arduino Triggers.


I updated the diagram to include the connections for the HMC5883L Digital Compass.

Sunday, April 3, 2016

LDR Sensor Installed In Upper Console

Installing LDR Into The Upper Console

Finally getting around to doing this simple little job that was getting put off for a while until I had done a lot of the Breadboard testing with the Arduino and Unity 3D. I suppose I could have installed it but just wanted to get a lot of the preliminary testing out of the way first. Happy to say that I'm finally going to get the LDR installed.
First needed to drill s hole in the front of the Upper Console (The Part that faces towards the Windshield). File it to fit the Plexiglas enclosure I made for the LDR. Had to be a little careful with my file as the electronics are installed so a little delicate work. But I got the hole for the Sensor done and then test fitted the LDR into the freshly made hole in the front of the Upper Console. Fits great so now all I need to do is glass that into place and then connect the wires to a couple of spare ports I have available on of the Molex Connectors in the console.

I glassed in the LDR Sensor with some Bondo Glass. I'll no doubt later put a layer of fibreglass resin and maybe some matting over top of that just so it's good and strong, but that can be done later as I'm currently out of Fibreglass resin, need to do a Canadian Tire run and pick up some more so later for that for sure ;) but the Bondo Glass job looks to be pretty descent for now.

Saturday, April 2, 2016

Optocoupler Board For Button Triggers

Prepping For Final

I can start working on minimizing the need for the Breadboard now especially after I make a Optocoupler board for the button inputs to the Arduino so that Switch Pod or other buttons can be assigned to trigger certain screens in our Knight O.S. interface like the Environment Scan Screens, Manual Override, or Telephone Tap Simulator Screen. These can be any momentary button which makes either the Switch Pod, Space Matt Buttons or Possibly Lower Console Or Upper Console Buttons usable for this so long as they are momentary buttons.... heck even if they are not momentary buttons I have a circuit that allows Latching Buttons to generate a short pulse to simulate the function of a momentary button. So the option either way is there.

I currently have plugged into the Breadboard a bunch of wires that are going into the Arduino ports that are coded for stuff but not actually hooked up to a Relay Module yet. I need to get a 2nd 16 Channel Relay Module and modify that one just like the one here, but for now that is kind of optional for me as most of the main functions are routed through the first Relay Module. The 2nd Relay Module would be more for all the cool extras. Although you can mix and match and assign ANY of the outputs to whatever Relay you want so for example if you don't use the Auto Doors but are going to use the S.I.D. function all you would need to do is connect up the stuff you are using, The interface would still go through the motions just without the Relay hooked up it would not actually perform the "Physical" function.... but I think you get that.

The other thing I can do now is hook up the LDR and Temperature Sensors, I think I am going to install those two up into the Upper Console as that seems a logical place. The LDR Sensor I can mount so that it is facing forwards out the front part of the Upper Console that way it will get it's light values from whatever comes through the front Windshield. The Temperature Sensor seems to make sense to me to be up in the Upper Console as that way it is away from the Heater and Air Vents which I think would cause inaccurate readings to occur, that's my thought on it anyways, but I can see that being on of the best places. The Sensor for the Compass however is a whole other animal right now so not sure about that one. Getting Closer though :D