WJ Control Box - Arduino Master/Slave via BLE - JeepForum.com
 3Likes
  • 1 Post By SooparJeep
  • 1 Post By Brallen86
  • 1 Post By TigerXXVII
 
LinkBack Thread Tools
post #1 of 10 Old 03-08-2019, 05:21 PM Thread Starter
Brallen86
Registered User
 
Brallen86's Avatar
2003 WJ 
 
Join Date: Oct 2017
Location: Plumas County
Posts: 235
Garage
WJ Control Box - Arduino Master/Slave via BLE

Hey all,

Since the weather has been hindering the latest physical updates on the WJ I decided I'm going to start working on a project I can work on inside the house until I can play outside in the driveway once again.


Here's the general scope of the project;


Over the years I've installed many an electronic accessory into numerous vehicles and one of the major challenges and time consumers is running the high current power to and from the switch location as well as locating space for such additions. The goal, to create a wireless remote control via Arduinos that will eliminate the need to run wires to and from switches in the cab as well as provide ease of future expansion and pull information where deemed necessary from factory sensors as well as aftermarket sensors.


Such devices exist already but there are a couple things I would like to address about said current products;
  • They are available in a OK or Best format IMO
  • The OK format is a cheaply produced imported product for ~$120-$200
  • The Best format is will produced but is typically limited to 6 or 8 relays to control and a single form factor for ~$600
  • NO EXPANSION for other things such as sensors or additional control aside from adding another box once you surpass 6 or 8 devices.


In order to address this issue I'll be utilizing (2) Arduino Megas;
The first Mega will reside in cab and act as the Master/Central unit
The MASTER will have several switches attached to it in order to activate accessories attached to the SLAVE unit
The second Mega will reside under the hood and act as a Slave/Peripheral Unit
The SLAVE will have several automotive relays attached to it that accessories will be wired to. i.e. light bar, light pods, backup sensors, etc.
Communication protocol will be via BLE (Bluetooth Low Energy)


Why a Mega you may ask?
  • Well for one, it has 4 available hardware serial ports, the UNO has one.
  • One port for USB debugging
  • One port for BLE communication between Arduino Megas
  • One port for BLE communication between Android and Master Mega
  • One port for BLE communication between iOS and Master Mega
  • In addition to the serial ports, the Mega also has much more storage memory, meaning faster processing time and potential to add on at a later date in time.
  • One could accomplish this with an UNO or other Arduino device most likely if utilizing software serial, but why go through the headache when the above advantages of the Mega are pointed out and the cost difference is negligible these days. Hardware serial is much more robust and easier to work with.
  • The Mega also has many more available Digital and Analog pins for future expansion compared to the Uno.

COMPONENTS LIST;


I'll update this picture to a more current one with the updated parts when time permits
  • (2)Arduino Mega 2560
  • (2)4-Channel 4 Route Mosfet Boards
  • (2)DC to DC Buck Converter/Voltage Regulator
  • (2)HM-10 BLE Module
  • (2) You will need additional HM-10 modules if any desire to utilize a 3rd device such as an Android or iOS device.
  • (1, or 2)FTDI USB Breakout Board
    You'll need this to setup the BLE modules before attaching to the arduino to communicate. Having 2 during the initial setup of the BLE modules will just make things a bit easier to pair to one another.
  • (5)Waterproof Ultrasonic Module JSN-SR04T Distance Measuring for Arduino
  • These are part of the stretch goal and will be used for the rear bumper to start.
  • Longer term stretch goal may be to introduce these in critical areas that could be damaged while on the trail. i.e. wheel wells, transmission proximity, etc.
  • (Several) Automotive Relays
  • With 12v coil and amp ratings for specified loads. I purchased Mini Relays from Amazon as they are available up to 40 Amps, fairly compact and readily available to purchase as well as easy to swap with one another on the trail is needed.
  • There are Arduino relay packs available that are easier to interface with and require less compontentry but they do have current limitations that I saw was an issue with regards to automotive use
  • (1)Fuse Block
  • I purchased a couple 4 slot ATC fuse holders to once again keep the smaller form factor for the project. Feel free to use whatever you deem appropriate for your build.
  • Utilizing a couple fuse blocks with isolated power to each will assist in balancing the current across the system as well.
  • If I had found this Fuse/Relay box in the early on stages I probably would have purchased THIS instead of what I have on hand now. I may still opt to change this out.
  • Various wire AWGs and lengths.
  • If you're unaware of what AWG (Gauge) of wire you require I would suggest researching or asking for assistance as electricity is NO JOKE! Safety first!

***The majority of the above linked products can be purchased on amazon or ebay at much better prices but I've used these links for longer term reference stability***



Concept;

  • (1) Arduino Mega will act as the "Master" within the cab, which will have multiple switches/buttons attached.
  • One of the advantages to this project is that there are plenty of switch styles available to suit your design preference.
  • When a button is pressed, the master Arduino will send a unique command over BLE to the second, or Slave Arduino via BLE.
  • The Slave Arduino will read the unique command and activate the appropriate pin on the Slave.
  • This could be a relay or other device attached to the Slave Arduinos output pins.
  • The Slave will send a unique command back to the master after activating the pin that will let the Master know said device was turned ON or OFF
  • Additionally this will change the color state of the LED behind the button. Say, from Red to Blue, to indicate that the light is on.
  • I have yet to find the switches/buttons I plan to use for my project.
  • An important goal for the first completed version is to document the code very well so that one has the potential to add/remove additional switches/buttons on the Master and relays/controls on the SLAVE unit.

STRETCH GOALS;
  • Integrate WJ factory steering controls to be utilized as additional buttons for Master
  • Look into possibility or dual function for steering wheel controls. i.e. Short press vs. long press.
  • Short presses for stereo control to Pioneer deck and long presses for whatever else.
  • WJ Steering Control signal should be a resistance ladder style output as it's pre-CANBUS
  • Add/Program Waterproof Ultrasonic Modules for backup assistance
  • Add LED screens to Master unit for readout of Ultrasonic Sensors.
  • Add in-cab ON/OFF for winch power
  • Add in-cab IN/OUT control for winch
  • May possibly add IN/OUT control to the volume or track button on the steering wheel controls

LONG TERM STRETCH GOALS
  • Look into options for creation/use of Android app(s) to integrate
  • Look into options for creation/use of iOS app(s) to integrate
  • Look into options that could combine OB2 apps, such as Dash Command, with addition of on screen buttons that can trigger Arduino commands.
  • Unfortunately I'm not an application developer for either Android or iOS but there's always time to learn or work with others!


SEE POST 2 FOR CHANGELOG

In favor of being transparent with all, I would like to first say that I am no coder by profession, and barely by hobby. My major coding experiences ended during the Qbasic and C+ days and most of that knowledge is long gone by now. With that being said, I don't this project to be somewhat of a slow mover, however, if anyone with Arduino knowledge would like to lend a helping hand with this project let me know and we can see about working together on this project!


Also, Mods...I know this is an electrical project, it can technically work with any vehicle in the end but it's specific to my WJ which is why I chose this forum section. If the post needs to be moved please go right ahead


-03 WJ Limited; Check out my
To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.

Last edited by Brallen86; 03-20-2019 at 12:54 PM. Reason: Cleaned up post.
Brallen86 is offline  
Sponsored Links
Advertisement
 
post #2 of 10 Old 03-08-2019, 05:22 PM Thread Starter
Brallen86
Registered User
 
Brallen86's Avatar
2003 WJ 
 
Join Date: Oct 2017
Location: Plumas County
Posts: 235
Garage
CIRCUIT DIAGRAM
***COMING SOON***
Need to find a good program that I can utilize to draw out the circuit so that it's easy to interpret, replicate, or modify for others.

For now though, here's my physical mess of my circuit haha;

MASTER;


SLAVE;



CHANGE-LOG

Last updated 3/20/19;
  • Voltage regulators introduced to to circuitry to reduce voltage down to 9vDC from vehicle for longevity and reliability reasons.
  • Bluetooth Serial Communication is functional between master and slave units
  • Bluetooth Communication via Android serial is functional (Still long term goal)
  • Bluetooth Communication via iOS serial is functional (Still long term goal)
  • Individual RFP30N06LE fet boards changed out for 4-Channel IRF450N (This was easier to trigger the coils on the SPST relays)
  • Relay triggers on slave functional via serial triggers
Attached Files
File Type: pdf WJ_ARDUINO_SLAVE_bb.pdf (2.47 MB, 2 views)

-03 WJ Limited; Check out my
To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.

Last edited by Brallen86; 03-20-2019 at 08:41 PM. Reason: Updated changelog for project 3/20/19, included pictures of current hardwire wiring.
Brallen86 is offline  
post #3 of 10 Old 03-08-2019, 05:24 PM Thread Starter
Brallen86
Registered User
 
Brallen86's Avatar
2003 WJ 
 
Join Date: Oct 2017
Location: Plumas County
Posts: 235
Garage
THE CODE

HM-10 BLE Module Setup Process;
Will update once I have time to document the setup process for the HM-10 modules.

In the meantime one can reference the Martyn Currey write-up HERE, with regards to the HM-10 BLE Modules that I utilized on this project.
FYI - There are numerous methods of setting up the HM-10 modules that are documented very well here.
HM-10 Setup Steps *WIP*;
  1. *The HM-10 setup process uses the Arduino IDE software but without being attached to the actual Arduino at this moment in time.*
  2. Wire the HM-10 modules to the FTDI USB adapters, the TX & RX pins from the HM-10 to the FTDI adapter for programming. i.e.;
  3. TX from HM-10 goes to RX on FTDI
  4. RX from HM-10 goes to TX on FTDI
  5. Plug them into the USB ports your computer
  6. Start the Arduino IDE software (It helps if you have 2 different versions of the software so you can run them simultaneously)
  7. Select the correct COM ports for each module
  8. Start the serial monitors on the respective Arduino IDE software instances
  9. Type "AT", you should get back "OK" if you have done everything correct thus far
  10. It doesn't hurt to use the "AT+RENEW" command next just to be sure there was no funky programming left on the unit from the factory,
  11. Change the device NAME, (Not required but will better assist during troubleshooting and pairing later on, especially if you have more than 2 BLE modules)
  12. Acquire the MAC address of each unit
  13. Save these addresses somewhere that's easy to access
  14. Change the PASS if you wish to do such at this point in time
  15. From here you need to change the ROLE and the IMME depending on the firmaware of you HM-10 the steps are slightly different but documented in the link above.
  16. Type "AT+DISC" on the Master unit, the Slave unit address should show up if prior steps are completed correctly.
  17. Type "AT+CONxxxxxxxxx", where xxxxxxxxx is equal to the MAC address of the BLE device you are pairing to.
  18. If connection is successful serial command will return "OK+CONNx" where "x" is the short version of the MAC address for the slave.
  19. Cycle the power by disconnecting the Vin of the HM-10 from the FTDI adapter
  20. Type "AT+IMME0", which will change the modules to auto connect
  21. Type "AT+RESET", which will reset the modules and they should now auto-connect. Mine pair quicker than you can fully seat the USB in the computer. If the unit's aren't pairing, retry the steps in further detail by following the steps in the provided link above by Martyn Currey.
*This portion may have a minor missing step or two as I did it from memory but happy to update if corrections are provided*



MASTER/CENTRAL;
Code:
/* 2003 JEEP GRAND CHEROKEE POWER DISTRIBUTION MASTER MODULE
  4.7L, LIMITED
  3-20-19 BRIAN ALLEN
  Version 1.0 (Alpha) 
*/

/* Master Circuitry information
Buttons located on pins; ()

*/

char sdM;  // variable to store data from serial0 
char sdS;  // variable to store data from serial1
char sdA;  // variable to store data from serial2, ANDROID device
char sdI;  // variable to store data from serial3, iOS device

int led = 13;  //  just the standard arduino led Pin to watch for serial & usb activity during debugging 


void setup() {
  Serial.begin(9600); //  initialize serial on MASTER (debugging/serial monitor)
    Serial.println("I am the MASTER"); //  print "I am the SLAVE" to serial
  Serial.println("Waiting for command(s)"); //  print "Waiting for command(s)" to serial 
  Serial1.begin(9600);  //  initialize serial to SLAVE 
  Serial2.begin(9600);  //  initialize serial for ANDROID DEVICES
  Serial3.begin(9600);  //  initialize serial for iOS DEVICES
 }

void loop() {
  // RECEIVE SERIAL FROM SLAVE, ARDUINO MEGA
  if (Serial1.available()) { //  while serial output from SERIAL1, OR SLAVE, is available (read from port 1, send to port 0:)
    char sdS=Serial1.read(); //  reads serial output from SLAVE 
    Serial.print(sdS);  //  writes SLAVE serial output to MASTER 
    delay(10);
    }
  // RECEIVE SERIAL FROM SERIAL 2, ANDROID DEVICE
  else if (Serial2.available() > 0) { //  while serial output from SERIAL2 is available (read from port 1, send to port 0:)
    char sdA=Serial2.read(); //  reads serial output from SERIAL2 
    Serial1.print(sdA);  //  writes serial output to SLAVE  
    Serial.print(sdA);  //  write serial output to MASTER  
    delay(10);
    }
  // RECEIVE SERIAL FROM SERIAL 3, iOS DEVICE
  else if (Serial3.available() > 0) { //  while serial output from SLAVE is available (read from port 1, send to port 0:)
    char sdI=Serial3.read(); //  reads serial output from SLAVE 
    Serial1.print(sdI);  //  writes SLAVE serial output to MASTER 
    Serial.print(sdI);
    delay(10);
    }
  // SEND SERIAL TO MASTER
  else if (Serial.available() > 0) {  //  while serial output from MASTER is available (read from port 0, send to port 1:)
    char sdM=Serial.read(); //  reads serial output from MASTER 
    Serial1.print(sdM);  //  writes serial output from MASTER to SLAVE 
  }
}

SLAVE/PERIPHERAL;
Code:
/* 2003 JEEP GRAND CHEROKEE POWER DISTRIBUTION SLAVE MODULE
  4.7L, LIMITED
  3-20-19 BRIAN ALLEN
  Version 1.0 (Alpha) 
*/

/* SLAVE Circuitry information
Relays located on pins (22 though 29)

*/

int led = 13;   //  just the standard arduino led Pin to watch for serial & usb activity during debugging 

char c=' ';

//  Relay Stuff;
int R1 = 22;  //  Relay 1 @ pin 22
int R2 = 23;  //  Relay 2 @ pin 23
int R3 = 24;  //  Relay 3 @ pin 24
int R4 = 25;  //  Relay 4 @ pin 25
int R5 = 26;  //  Relay 5 @ pin 26
int R6 = 27;  //  Relay 6 @ pin 27
int R7 = 28;  //  Relay 7 @ pin 28
int R8 = 29;  //  Relay 8 @ pin 29

//  Data storage stuff;
int sdM;  //  variable to store serial 2 data
int sdS;  //  veriable to store serial 1 data
//  int sdA
//  int sdI

void setup() {
    Serial.begin(9600);     // initialize serial for slave unit
      Serial.println("I am the SLAVE");
      Serial.println("Waiting for commands");
    Serial1.begin(9600);    // 19(RX), 18(TX) HM-10 BLE Module in Slave/Peripherial Mode, will accept TX from Master HM-10
  
  // initialize digital pins as outputs t 13 as an output.
    //  Pins 22-25 attached to 4-Channel mosfet board #1
  pinMode(R1, OUTPUT);  //  relay 1 - channel 1
  pinMode(R2, OUTPUT);  //  relay 2 - channel 2
  pinMode(R3, OUTPUT);  //  relay 3 - channel 3
  pinMode(R4, OUTPUT);  //  relay 4 - channel 4
  
    //  Pins 50-53 attached to 4-Channel mosfet board #2
  pinMode(R5, OUTPUT);  //  relay 5 - channel 1
  pinMode(R6, OUTPUT);  //  relay 6 - channel 2 *FUTURE USE*
  pinMode(R7, OUTPUT);  //  relay 7 - channel 3 *FUTURE USE*
  pinMode(R8, OUTPUT);  //  relay 8 - channel 4 *FUTURE USE*
}


void loop() {
    // RECEIVE SERIAL FROM MASTER
    while (Serial1.available() > 0) { //if serial is availble
      sdM = Serial1.read(); //  reads serial output from MASTER 
      if (sdM == '1') {  //  if data from MASTER is "x"
      digitalWrite (R1, HIGH);  //  turn RELAY 1 ON
      Serial.println("Relay 1 is ON");  //  Send message to slave serial that relay 1 is ON
      Serial1.println("Relay 1 is ON"); //  Send message to master serial that relay 1 is ON
      }
      else if (sdM == '2') { // if data from MASTER is "x"
        digitalWrite (R1, LOW); //  Send message to master serial that relay 1 is OFF
         Serial.println("Relay 1 is OFF");  //  Send message to slave serial that relay 1 is OFF
        Serial1.println("Relay 1 is OFF"); //  Send message to master serial that relay 1 is OFF
      }
      else if (sdM == '3') { // if data from MASTER is "x"
        digitalWrite (R2, HIGH); //  Send message to master serial that relay 2 is ON
         Serial.println("Relay 2 is ON");  //  Send message to slave serial that relay 2 is ON
        Serial1.println("Relay 2 is ON"); //  Send message to master serial that relay 2 is ON
      } 
       else if (sdM == '4') { // if data from MASTER is "x"
        digitalWrite (R2, LOW); //  Send message to master serial that relay 2 is OF
         Serial.println("Relay 2 is OFF");  //  Send message to slave serial that relay 2 is OFF
        Serial1.println("Relay 2 is OFF"); //  Send message to master serial that relay 2 is OFF
      }
       else if (sdM == '5') { // if data from MASTER is "x"
        digitalWrite (R3, HIGH); //  Send message to master serial that relay 3 is ON
         Serial.println("Relay 3 is ON");  //  Send message to slave serial that relay 3 is ON
        Serial1.println("Relay 3 is ON"); //  Send message to master serial that relay 3 is ON
      } 
       else if (sdM == '6') { // if data from MASTER is "x"
        digitalWrite (R3, LOW); //  Send message to master serial that relay 3 is OFF
         Serial.println("Relay 3 is OFF");  //  Send message to slave serial that relay 3 is OFF
        Serial1.println("Relay 3 is OFF"); //  Send message to master serial that relay 3 is OFF
      }
       else if (sdM == '7') { // if data from MASTER is "x"
        digitalWrite (R4, HIGH); //  Send message to master serial that relay 4 is ON
         Serial.println("Relay 4 is ON");  //  Send message to slave serial that relay 1 is ON
        Serial1.println("Relay 4 is ON"); //  Send message to master serial that relay 4 is OFF
      } 
       else if (sdM == '8') { // if data from MASTER is "x"
        digitalWrite (R4, LOW); //  Send message to master serial that relay 4 is OFF
         Serial.println("Relay 14is ON");  //  Send message to slave serial that relay 4 is OFF
        Serial1.println("Relay 4 is OFF"); //  Send message to master serial that relay 4 is off
      }
      delay (50);
//  SEND SERIAL TO MASTER
  while (Serial.available()) {  
    sdS = Serial.read();  //  read serial output of slave unit
    Serial1.write(sdS); //  print serial output of slave unit to master
    }
  }
}

-03 WJ Limited; Check out my
To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.

Last edited by Brallen86; 03-20-2019 at 11:33 AM. Reason: Added most recent code as of 3/20/19
Brallen86 is offline  
 
post #4 of 10 Old 03-08-2019, 05:45 PM
SooparJeep
Registered User
 
SooparJeep's Avatar
2002 WJ 
 
Join Date: Nov 2018
Location: Toronto
Posts: 40
Garage
This sounds like a great idea!
12V up front, 12V in the rear and two boxes, no more signal running under carpet! I've been wanting to make a reverse notification light or beep when my rear bumper comes close to a tree or obstacle. I initially wanted to go with cheapo RF modules that have a UART interface on two arduino nano's (the slave being wired to a couple of ultrasonic transceivers for distance measurement). I feel like bluetooth might be better for signal quality, I'm not sure.
As for pulling OBDII codes from the car, you could eventually upgrade the arduino mega up front to a raspberry pi. I've made a code puller and sensor logger using an RPI board and a bluetooth obd2 code scanner. It read and displayed sensor data (RPM, timing advance etc) to a cheap 5" lcd screen. There are many many step by step tutorials out there that are almost copy and paste setups!
Brallen86 likes this.

2002 Jeep Grand Cherokee Laredo 4.7 V8 | Selec-Trac
SooparJeep is offline  
post #5 of 10 Old 03-08-2019, 06:03 PM Thread Starter
Brallen86
Registered User
 
Brallen86's Avatar
2003 WJ 
 
Join Date: Oct 2017
Location: Plumas County
Posts: 235
Garage
Quote:
Originally Posted by SooparJeep View Post
This sounds like a great idea!
12V up front, 12V in the rear and two boxes, no more signal running under carpet! I've been wanting to make a reverse notification light or beep when my rear bumper comes close to a tree or obstacle. I initially wanted to go with cheapo RF modules that have a UART interface on two arduino nano's (the slave being wired to a couple of ultrasonic transceivers for distance measurement). I feel like bluetooth might be better for signal quality, I'm not sure.
As for pulling OBDII codes from the car, you could eventually upgrade the arduino mega up front to a raspberry pi. I've made a code puller and sensor logger using an RPI board and a bluetooth obd2 code scanner. It read and displayed sensor data (RPM, timing advance etc) to a cheap 5" lcd screen. There are many many step by step tutorials out there that are almost copy and paste setups!
I actually thought of the sensors too, my old man has a couple that I may play with for that exact reason. Since I haven't replaced the rear bumper yet it wasn't on my immediate list but a definite must have IMO. You could essentially add a sensor anywhere on the vehicle you want to watch the proximity to hazardous objects with ease on this project.

I think my current code could adopt that concept fairly easily with where it's at right now as reading and printing a value to the serial output is fairly easy. Getting a second arduino to act on that for a light/speaker is currently where I'm stuck due to the array prints combining int and char values.

With a single button/switch to led/relay the setup is very simple and should be able to complete in a single evening. Once you add another of each things start to get a bit more complicated, more so with arrays than writing code for each individual button.

I also have a PLXdevices Kiwi3 OBD2 reader that I currently use. Almost forgot I can pull info from that too but generally just use the iPad and app. I really like it but the app by PLX needs some work and last I checked dash command needed an update to work with the Kiwi3 properly but dash command is my fav OBD2 app to date.

Sent from my Pixel XL using Tapatalk
SooparJeep likes this.

-03 WJ Limited; Check out my
To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
Brallen86 is offline  
post #6 of 10 Old 03-09-2019, 12:16 AM
TigerXXVII
Registered User
 
Join Date: Jan 2018
Posts: 11
I run a rpi w/ 7.5in touchscreen that has many different functions. Shows dash cam, rearview camera, gps and working on expanding it to more features. It isnt perfect though.

There were a couple issues I have ran into. First, I lost a couple rpi because it was tough figuring out how to get it to properly shutdown when I turned the car off. Solution, for now, involves using a mobile battery pack that you see everyone using with their phone.

Second issue was heat. I use the rpi camera module for dash cam. It is placed on backside of rearview mirror and ribbons up into evic. Sadly, camera qaulity has gone down over time due to the heat the electronics are exposed to in the car. I didnt think this would be an issue, but it is. Still working on ways to overcome this.

Good luck, let me know how it goes.
Brallen86 likes this.
TigerXXVII is offline  
post #7 of 10 Old 03-20-2019, 03:18 PM Thread Starter
Brallen86
Registered User
 
Brallen86's Avatar
2003 WJ 
 
Join Date: Oct 2017
Location: Plumas County
Posts: 235
Garage
Quote:
Originally Posted by TigerXXVII View Post
There were a couple issues I have ran into. First, I lost a couple rpi because it was tough figuring out how to get it to properly shutdown when I turned the car off. Solution, for now, involves using a mobile battery pack that you see everyone using with their phone.
I'm not too versed in rpi but I was planning on building a carputer back in the day that tablets were pretty much nonexistent or for the extremely wealthy and I recall there being a good handful of startup/shutdown hardware solutions that had proper delays and protection for the issue you have presented.

Something like this may be useful for such a challenge;
M4-ATX, 250w output, 6v to 30v wide input Intelligent Automotive DC-DC Car PC Power Supply

Quote:
Originally Posted by TigerXXVII View Post
Second issue was heat. I use the rpi camera module for dash cam. It is placed on backside of rearview mirror and ribbons up into evic. Sadly, camera qaulity has gone down over time due to the heat the electronics are exposed to in the car. I didnt think this would be an issue, but it is. Still working on ways to overcome this.
I can definitely see how heat is an issue with your above setup, or most likely any similar setup...though for future reference Heat Sink USA has always been a great source for heat sinks to tackle those issues. Lot's of profiles and material types available.

While I do have plans to get some cameras in the WJ eventually I doubt that I'll utilize them through the Arduino. I've been leaning towards the rear view mirror that has a screen in it or I've seen some apps for the Ipad (Remember, my longer term goal is to put the Ipad in the dash), that can connect to the cameras and trigger based on the car going in reverse or manually via the application. Thoughts I still have to work out for my build down the road.

Thanks for your input though! I know I still haven't addressed the startup on the Arduino just yet but it's being something I've put on the back burner until the majority of everything else is working. Based on what's out there I don't think it'll be much of a challenge to address. Heat has also been a concern of mine for the equipment that will be placed under the hood. Not sure exactly how it'll all come together but in general, components will be in a waterproof enclosure that, depending on the amount of heat generated, I may cut holes through for the heat sinks to pass through the enclosure so they have exposure to the colder temperatures and seal them up with an appropriate sealant or gasket/weather stripping where they penetrate the enclosure.

-03 WJ Limited; Check out my
To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
Brallen86 is offline  
post #8 of 10 Old 03-26-2019, 11:28 AM Thread Starter
Brallen86
Registered User
 
Brallen86's Avatar
2003 WJ 
 
Join Date: Oct 2017
Location: Plumas County
Posts: 235
Garage
Got the JSN-SR04T Waterproof Ultrasonic Sensors in today. Looks like they're v2. 0, which may or may not be problematic based on what I've read to date on these. Was expecting v1.0

Sent from my Pixel XL using Tapatalk

-03 WJ Limited; Check out my
To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
Brallen86 is offline  
post #9 of 10 Old 10-10-2021, 10:00 PM Thread Starter
Brallen86
Registered User
 
Brallen86's Avatar
2003 WJ 
 
Join Date: Oct 2017
Location: Plumas County
Posts: 235
Garage
Still looking to pick this project back up, also very open to anyone who wants to aide in the project as I'd still very much like to put this out for anyone with a minor skillset to accomplish once completed.

Anywho, the distance sensors I picked up I don't think will work out the way I had planned, the sensitivity on them degrades dramatically after you get closer than 2ft to the sensor, so I'll have to pick up some higher quality ones as I'd like them to be able to read within 1" of an object for the purposes of putting near sensitive items under the jeep like pans and whatnot.

Another thing I don't think I mentioned in any earlier posts but found out around the time I initially started this project; The steering wheel controls are a simple "ohms ladder" meaning that each button sends a different level of resistance down a 2 wire cable to the stereo. So to integrate this into the project should be a breeze. Just gotta hook up an oscilloscope or use the arduino to read what Ohm readings are output based on what switch then code the arduino to do "x" based on receiving a certain Ohm frequency. In addition to this, to limit a massive amount of switches/buttons in the vehicle, one could theoretically use a double or triple ta of a button, probably even a long press, in order to gain multiple functions from a single hard button!

One thought on the steering wheel control was to leverage the volume or track buttons for the in and out on the winch but thinking more about this I don't think it's a great idea if you're turning the wheel while trying to operate the winch...then again, one hand on the wheel and another hand on the controller isn't necessarily a good place to be either ha

That's the update here for now, probably not what y'all were lookin for at this point but more so to make it aware that I still have plans to finish this. Engine replacement, wontons, sliders, etc...have consumed a ton of time in the past few months and still have a ways to go before I'll be back at this.

-03 WJ Limited; Check out my
To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
Brallen86 is offline  
post #10 of 10 Old 10-11-2021, 09:54 PM
Fzz
Registered User
2001 WJ 
 
Join Date: Sep 2018
Location: Southend-on-Sea
Posts: 171
Would like to see a WJ 4.7 running on Speeduino
Fzz is offline  
Reply

Quick Reply
Message:
Options

Register Now



In order to be able to post messages on the JeepForum.com forums, you must first register.
Please enter your desired user name, your email address and other required details in the form below.

User Name:
Password
Please enter a password for your user account. Note that passwords are case-sensitive.

Password:


Confirm Password:
Email Address
Please enter a valid e-mail address for yourself.



Email Address:
OR

Log-in











Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Show Printable Version Show Printable Version
Email this Page Email this Page



Similar Threads
Thread Thread Starter Jeep Forums Replies Last Post
CJ Heater Box Restoration...pic heavy!! rixcj Jeep CJ Forum 493 07-13-2021 11:07 AM
2017 Grand Cherokee Trailhawk Build djflyy Jeep Builds 94 07-10-2021 10:01 AM
Auxiliary Switch Panel - Custom Installation djflyy WK2 Grand Cherokee Forum 14 07-09-2020 06:52 AM
New TERAFLEX FRONT CONTROL ARM SPORT BRACKET FOR JL/JLU Rockridge4WD Vendor Display 0 10-11-2018 02:15 PM
Adjustable control arm setup help arg0413 TJ Wrangler Technical Forum 7 12-01-2017 06:36 AM

Posting Rules  
You may post new threads
You may post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are On

 
For the best viewing experience please update your browser to Google Chrome