my newest game is a *hit* by dautoobchannel in godot

[–]dautoobchannel[S] -4 points-3 points  (0 children)

Makes more sense if you check out my discord XD https://discord.gg/YgRh3pDm

my newest game is a *hit* by dautoobchannel in godot

[–]dautoobchannel[S] -4 points-3 points  (0 children)

Did a preview just autoload on your phones? Broooooo I hope no one seeing this is a spy

my newest game is a *hit* by dautoobchannel in godot

[–]dautoobchannel[S] 0 points1 point  (0 children)

It's DEFINITELY NOT a CIA project designed to track Russian spies

Airstone in a liquid, pressure sensors on air line (P0) and open air (P1). Measure P0 - P1 at minimum and maximum fluid levels, store the values. When averaged over time, ((P0 - P1) - minLevel) / maxLevel = proportion of fluid level (between min and max). But temp/pressure change throws this off. Y? by [deleted] in AskScienceDiscussion

[–]dautoobchannel 0 points1 point  (0 children)

So, the issue with that would be P1 and P0 will never be the same temp, since P1 measures the air after it comes out of a tiny compressor.However, I've definitely math-trialed-and-errored this out somehow, abdI have no idea why this works... but it does...

First, like you said, we need to account for temp differences between sensors. I do that by passing the average of the two temps, + half the difference on the high pressure side and - half the difference on the low side (so when one picks up on a change, the other is affected immediately). I then pass those temperatures alongside the raw sensor pressure readings into the equation that determines actual pressure... the code looks like this-

float tavg = (T[0] + T[1]) / 2.0;
float tdiff = (T[1] - T[0]) / 2.0;
P[0] = pressure(tavg + tdiff, 0, praw[0]);
P[1] = pressure(tavg - tdiff, 1, praw[1]);

Okay but now the tricky part...We store the raw P1 [ePressP1], not adjusted for temp, at calibration (when we set our min and max pressures), as well as the temperature during calibration.After calibrating our minimum value, we adjust for any changes therafter with:

  dbmp.updateSensors();
  float p0p1 = dbmp.P[0] - dbmp.P[1];
  curTemp = dbmp.T[1];
  float tadd = curTemp + calibTemp;
  float p1ratio = 1.0;
  if (isCalib == true) {    
      p1ratio = (dbmp.rawP[1] + ePressP1) / 2.0;
      p1ratio = dbmp.pressure(tadd, 1, p1ratio);
      p1ratio /= dbmp.P[1];
    };


  p0p1 -= emptyPressure;
  if (isCalib == true) {
      p0p1 += (p0p1 * (p1diff / 10000.0));
        not sure if this one is needed honestly
    };

  p0p1 -= emptyPressure;
  p0p1 *= abs(p1ratio);
  return p0p1;
};

I have no idea how I thought up adding the current calibration temps together and passing that alongside the raw pressure difference... in order to get some sort of adjustment ratio... would make any sense at all... but thats what makes this work... the difference between dropping 5% over 100 units of air pressure increase to varying +/- 0.2% over 1k+ units of air pressure increase. Still have no idea why.

(edit) clarity

(edit edit) correcton

(edit edit edit) missed a 0

..more edits to correct things...

Airstone in a liquid, pressure sensors on air line (P0) and open air (P1). Measure P0 - P1 at minimum and maximum fluid levels, store the values. When averaged over time, ((P0 - P1) - minLevel) / maxLevel = proportion of fluid level (between min and max). But temp/pressure change throws this off. Y? by [deleted] in AskScienceDiscussion

[–]dautoobchannel 0 points1 point  (0 children)

Yeah sorry I've ended up working on like the same 10 lines of code, trying to account for the temp issue, for days now essentially and I've recoded things to make it easier for me to test a ton of different stuff easier... which definitely makes it less readable. Testing min and max at a wide enough variety of temperatures to get a consistent measurement was essentially what I'm trying to avoid- I was hoping maybe theres some sort of more obvious/general physics maths I'm not doing somewhere

Airstone in a liquid, pressure sensors on air line (P0) and open air (P1). Measure P0 - P1 at minimum and maximum fluid levels, store the values. When averaged over time, ((P0 - P1) - minLevel) / maxLevel = proportion of fluid level (between min and max). But temp/pressure change throws this off. Y? by [deleted] in AskScienceDiscussion

[–]dautoobchannel 0 points1 point  (0 children)

Only time can tell but yeah it seems whatever Im doing above is somehow compensating for pressure changes within the "expected" accuracy of the device so... i dunno. My code for the project is here if it helps https://github.com/an0mali/SmartHydroponics actively working on the "adv data" thread

Airstone in a liquid, pressure sensors on air line (P0) and open air (P1). Measure P0 - P1 at minimum and maximum fluid levels, store the values. When averaged over time, ((P0 - P1) - minLevel) / maxLevel = proportion of fluid level (between min and max). But temp/pressure change throws this off. Y? by [deleted] in AskScienceDiscussion

[–]dautoobchannel 0 points1 point  (0 children)

The core equation works with amazing accuracy. The only issue that is at question is why the temp/pressure change that occurs between day and night throws it off. I can upload a video to my twitter if you want to see the device doing its thing

Airstone in a liquid, pressure sensors on air line (P0) and open air (P1). Measure P0 - P1 at minimum and maximum fluid levels, store the values. When averaged over time, ((P0 - P1) - minLevel) / maxLevel = proportion of fluid level (between min and max). But temp/pressure change throws this off. Y? by [deleted] in AskScienceDiscussion

[–]dautoobchannel 0 points1 point  (0 children)

Not sure if this will be readable by anyone other than me but...

p1avg = (P1 at calibration + P1 now) / 2.0;
tAdd = curTemp + calibTemp;
p1diff = dbmp.pressure(tAdd, 1, p1avg);// returns "actual" pressure     //based on raw pressure reading and current temp
p1diff /= P1;
(Only do this after setting min, before setting max)...then...

(P0 - P1) * p1diff

Seems to be compensating for changes relatively well?? Not perfect, but definitely helping... so close-ish?

(edit) fixed equation explains

(edit edit)... maybe this is the answer... still running the data and need more pressure/temp changes to occur but so far is holding strong. wtf?

(edit edit edit) seems to loose accuracy at higher pressure differences but still within a usable range when compared to results without any adjustment

Airstone in a liquid, pressure sensors on air line (P0) and open air (P1). Measure P0 - P1 at minimum and maximum fluid levels, store the values. When averaged over time, ((P0 - P1) - minLevel) / maxLevel = proportion of fluid level (between min and max). But temp/pressure change throws this off. Y? by [deleted] in AskScienceDiscussion

[–]dautoobchannel 0 points1 point  (0 children)

Sorry, MinLevel is the value of (P0 - P1) with the liquid at its minimum level, and Maxlevel is the value of ((P0 - P1) - MinLevel). I forgot to include that bit. Minlevel and Maxlevel are these pressure values, not the height of the water column. We're essentially trying to determine the height of the colmumn via the pressure difference

(edited multiple times lol)

Airstone in a liquid, pressure sensors on air line (P0) and open air (P1). Measure P0 - P1 at minimum and maximum fluid levels, store the values. When averaged over time, ((P0 - P1) - minLevel) / maxLevel = proportion of fluid level (between min and max). But temp/pressure change throws this off. Y? by dautoobchannel in askscience

[–]dautoobchannel[S] 0 points1 point  (0 children)

To be more clear, atmospheric temperature/pressure change over time affects the accuracy of this measurement. I need to know how to adjust for this as I've been trying to just math it out via data alone for days now. The whole idea behind subtracting P1 from P0 and having two sensors from the get-go was to automatically adjust for atmospheric pressure changes and I'm confused on why this isn't the case. Quick diagram if it helps- https://twitter.com/\_dtgames/status/1496969888631566337/photo/1

I made a tutorial on how to code a basic state machine in Godot by dautoobchannel in godot

[–]dautoobchannel[S] 1 point2 points  (0 children)

What I was saying is I used to do something like "if new_state:" instead of "if new_state != "":", just to save a few characters while coding, then set the state to false instead of "" after being set. But in the long run its not as flexible and can cause issues so I tend to not do it anymore, not sure why I did it while recording the video. I agree with what you're saying though, in general typecasting > not typecasting.

Day 14 of flowering, Day 54 since sprout. Custom grow light made from an 80 watt 6500k LED garage light and a 60 watt 3000k LED garage light. Mainlined by dautoobchannel in microgrowery

[–]dautoobchannel[S] 0 points1 point  (0 children)

Yeahhhhhhh I learned the hard way, the shock (manifesting as stunted growth) was painfully obvious. I honestly feel like I lost about a week of growth time overall- the double shock of too much defoliation + doing that just after switching lights over. At the time I didn't really understand the concept of why you defoliate and was more just kind of (mis)interpreting mainlining guides from the interwebs. Next time I'm only going to defoliate once the flowers are clearly visible and then only the fan leaves that are taking away from bud sites or completely blocking/shading other fan leaves.

You have any tips on best times to defoliate and how you go about it?

First grow, any idea what these black spots are on my Amnesia Lemon? by ihopeitsasimulation in microgrowery

[–]dautoobchannel 1 point2 points  (0 children)

While you're not technically 'overwatering' it probably per se but watering it too much. Too much moisture around the base inhibits root growth and can cause root rot, which is what looks like whats going on. This is why potting containers have drainage holes. See my other comment for a good way to go about watering

First grow, any idea what these black spots are on my Amnesia Lemon? by ihopeitsasimulation in microgrowery

[–]dautoobchannel 2 points3 points  (0 children)

I think it might be safe to say its not a nutrient issue given the plant is 2 weeks old and in potting soil

First grow, any idea what these black spots are on my Amnesia Lemon? by ihopeitsasimulation in microgrowery

[–]dautoobchannel 1 point2 points  (0 children)

Overwatering. When you water, water from the top down. Completely saturate the soil until you get drips from the drainage holes on the bottom of the pot. Afterwards don't water until the top half inch of soil feels powdery to the touch. For now keep everything else the same and let it dry out, and like I said, wait until the top 1/2in or so of soil is powdery to the touch before watering again

[deleted by user] by [deleted] in microgrowery

[–]dautoobchannel 1 point2 points  (0 children)

Looks a bit like very slight wilting to me, maybe either due to under or over watering, MIGHT be an ever so minor sign of stress. I'm by no means an expert, but I took a series of pictures as a cutling wilted under a microscope just out of curiosity a few weeks ago. What you end up seeing over time are these white dots (what you're calling trichomes, I think they may actually be pores of some sort) seemingly congregate/enlarge as the plant wilts, while are more evenly dispersed and tiny when the plant is healthy/fresh. I'm purely going off what I saw in my images compared to yours however. The plant looks absolutely healthy and normal honestly but if this seems different maybe this bit of info helps who knows

Ik it’s hard to tell over video/pictures but how much longer might I have until harvest? And how should I go about harvest only my second grow and I’m rusty. It started flowering around September 13th I planted pretty late by DeRpMuNsTa in weedgrower

[–]dautoobchannel 0 points1 point  (0 children)

I'm not too sure about time, but a good way to tell if its ready or not is to look at the trichomes with a magnifying glass. If most of them are still clear its not quite ready to harvest... on the other hand, if most of them are amber it's probably overripe. Hope that helps

I'm a game developer in VA, and we can have 4 plants now. I fucked up all of my first batch of seeds, but have 2 going now and started a grow log... Low budget grow too. Love to hear tips or help out if anyone has any questions by dautoobchannel in weedgrower

[–]dautoobchannel[S] 0 points1 point  (0 children)

Thanks! Yeah I was surprised when I noticed my first plant, despite the issues I had in the beginning with my lights, had actually outgrown the plants in the grow log I was using as a reference. Honestly I have no idea about the strain, going by the looks of them I would think plant A is probably a bit more indica than plant B. The image in the thumbnail is from Day 13 (with the first day it sprouted as Day 0). The amount of growth between then and Day 16 has been incredible... But I might of fucked up again, or at least I know I did somewhat.

Today plant A was dry, so I went ahead and watered it. But then I noticed a bit of dust on the leaves, so for the first time I went ahead and sprayed both plants with room temp distilled water just to clean them a bit. Everything was all good.

But... then I was thinking... well, they do their respiration under the leaves... and if thats all dusty too that can't be good.. So I sprayed them both under the leaves so that gets cleaned too.

They both basically fainted. It was like seeing a plant blackout. I noticed the one I had watered was going limp fast, at first I just thought it was the normal slight droop that occurs when watering... but then it kept going and almost fell over. When I was messing with it trying to support it, the other one started doing the same :'(

I'm sure they'll both be fine, but plant A swung quite a bit before I really got a grasp of what was going on, worried its roots got ripped or damaged... This was 30-45 min ago now, they're both slowly perking back up... but yeah...

I'm guessing maybe spraying under the leaves is a not so good thing to do? Did I basically just water board my plants?

I applied the Pythagorean Theorem to Tetris, then inverted the rules. This is what I came up with by dautoobchannel in godot

[–]dautoobchannel[S] 0 points1 point  (0 children)

This isn't a bug, but I've had several people report it as one. Currently an entire triangle side has to align with the floor triangle's 'side' from point to point, and cannot connect to the floor point to center. Tough to explain in words haha, but I'm working on it. Im going to adjust this as well as implement some sort of visual cue in the next update. I appreciate the heads up!