Automatic Control and User Interface for Central Tire Inflation System

@Eyberg: But IT IS simple! I do not believe, that you managed to integrate Blynk into quite advanced project (as for beginner even quite much) and you gonna fall off with voltage dividers? No go! Can’t be! Get multimeter, connect voltage divider as shown on diagram (to the OUTPUT, the buffered output is not important part) and get the readings! If done correctly, a 5V input should give you 3.3V output. THAT’s IT!

1 Like

what you say is true. regarding the expensive dmm, the problem is, that this equipment has the shortest life-time in my workshop. it is far too easy to damage if you are tired or distracted. in 8 years this is the 4th i destroyed. so, i’m afraid to spend too much money on them :slight_smile:

@Eyberg, first just have a good sleep, then in next day search for voltage divider tutorial in youtube or other quality blogs. i bet you find plenty good ones even on your native language. after you get the theory you will see it is easy!
just take your time, you are learning for yourself, and probably will be useful on other projects too…

1 Like

@marvin7
ok wil do :slight_smile:

Can you send me a web link to what I need to buy and what to shop.

I have a multimeter and know to used it

Jeee… a lot! You are a DMM killer then! Within more than 15 years i killed only ONE of them! And, if you are asking… I just accidentally smashed poor little DMM underneath a 24-t wheel excavator… My bad…

@Eyberg: try to buy sth like this: http://www.tme.eu/gb/details/3292w-1-103lf/38-inch-multiturn-tht-trimmers/bourns/

I think @wanek has a right here: it has to be enough for this ADC. But one note: When set correctly put a drop of nail-lack on the screw.

1 Like

you do not have to buy that exact brand (bourns) the important thing, is to be multiturn and blue, with the metallic screw. they are common in EVERY electronics shop. bet you will find around your place.

if you want to go with the trimpot method, just follow these steps:

  • hook up pressure sensor gnd to arduino gnd (common gnd)

  • hook up arduino gnd and sensor 5 volt (here will come the pressure sensor output, after we done with the calibration) to the 2 side pins of the trimpot (doesn’t matter which is which side, but after this you should mark the gnd pin side on trimpot with a black marker)

  • set dmm to dc voltage measurement

  • digital multi meter (dmm) gnd goes to arduino gnd, and multimeter input to trimpot middle pin (called viper)

  • now turn the trimpot screw until you will get around 3.0v on the viper

  • hook up wiper to the arduino analog pin, and serial print the analog pin raw value to the display (in a new sketch, just for testing). now fine tune the trimpot until you get 1023 on the screen

  • map the arduino raw value to 0 - 5.0v, and serial print

  • now the voltage divider is calibrated, you can replace the 5v pin with the pressure sensor output

  • you should double check the values again with dmm on sensor output and gnd, compare with the voltage indicated by the arduino

  • probably, in your main sketch, you will need psi instead of voltage. so, you should map the raw values according to the pressure sensor datasheet (i do not know what sensor are you using)

  • that’s all

2 Likes

actually @Eyberg is using existing working code with the same sensors as originally, so it should be just right after done level conversion (and fine tuning with manometer!)

1 Like

Ok gentlemen, enough for today… Need a sleep a bit… Good night

1 Like

I get this error when I set this code to true when sent true in Blynk an app to pin 0
do not understand what can be a fault, I has been looking for this for a few days

The whole Code above

Trouble detected: Introduction - Blynk Documentation

void changeToNextChannel()
{
	// 0 - 3 = independent channels, 4 = front (0-1 ch), 5 rear (2-3 ch), 6 all channels
	if(isIndependentEnabled == true)
	{
		activeTire = (activeTire+1)%4;
	}
	else if(frontAxleOffset == 0)
	{
		activeTire = 6;
	}
	else
	{
		if(activeTire == 5)
		{
			activeTire = 4;
		}
		else
		{
			activeTire = 5;
		}
	}
}

It means you are doing stuff too fast for Blynk to handle (and that is very fast!)

How many times and where are you running the changeToNextChannel() subroutine?

Hmm. There is nothing here that can be too fast for blynk, as there’s nothing “to blynk” in this place! It must be somewhere else, probably connected in flow with this one.

If I go to the local server then I have five hardware requester per second, but when I set this in true then two hardware requester per second and two application requester per second!

Would be good to know which virtual pin is causing a flood (don’t know if it is possible, though)… Can’t look at it now as I’m on mobile now.

send it by Blynk App with digital pin 0
and is included in the code here uint8_t PIN_ALL_INDI = 0;

There is a possibility that the library is not correct
I think I have changed this or deleted :slight_smile:

 #include  EEPROMex.h>
    #include avr/wdt.h>

this was nothing :slight_smile:

put the correct library (EEPROM.h) and took out another (EEPROMEx.h) and this is working, but missing the other (avr/wdt.h) :slight_smile:

avr/wdt.h is included in Arduino package. so including it with #include <avr/wdt.h> certainly should work… if not, then I DO NOT KNOW WHY?!


But perhaps the reason is that Arduino 101 is NOT an AVR (it’s intel based!)

I have found something like this: watchdog timer library for Arduino 101 https://github.com/leaubeau/wdt101

The project should run without WDT too, it’s just not secure in case for example a value stuck open because of uC hangs…

1 Like

this du not work #include <avr/wdt.h> but this work #include <wdt101.h> :slight_smile:

But stil get

Trouble detected: Introduction - Blynk Documentation

from this code her above

Then we need to know what causes this flood. If you will not find out it, I will try to look at it this evening.

1 Like

Thanks for that, I would be thankful for the help

@Eyberg, please paste here the latest code. The one I’ve found above is not correct (too old?)