Its not clear on the values you have in your pictures.

Are you reading 100mv (0.1volts) with the 100g load?

If so, this will give a val of 20 on your analog read. This is because 5 volts will read as 1024, so 100mv will be one fiftieth of that :

5v = 5000mv = 1024

Each unit of val is: 5000 divided by 1024 = 5mv

So 100 mv divided by 5mv = 20, and that is what analogRead should return with an input of 100mv

Therefore val will be less than 100 for all weights up to 500 grams and led 2 will be high.

Try dividing your test values by 5.

p.s. you can simplify your code by removing the check for greater than in all your ‘else if’ statements:

for example:

else if(val < 200) is all you need because it must be greater than 100 or it would have been detected by the previous if statement.

I hope that helps