Az előző részben elmagyaráztuk, hogyan kommunikálhat velünk interaktívan az Arduino. Ugyanakkor megismerkedtünk a string, int és float típusú változókkal, megmutattuk azok használatát és a programban ismertettük a ciklusokat.

nextech

Míg az előző program alapvetően "papagájzott", vagyis csak megismételte az általunk megadott adatokat, most megmutatjuk, hogyan kell programozni az Arduino-t úgy, hogy az bizonyos beírt értékekből új adatokat tudjon kiszámítani, és azok alapján bizonyos logikai döntéseket hozzon.

Megfelelő példa, amely lényegében az előző szakasz példáját követi, a BMI kiszámítása. A BMI (Body Mass Index) az egyik legelterjedtebb módszer az elhízás kimutatására. Az elhízás a zsírraktározás. A BMI index nem teljesen pontos, nem vonatkozik serdülőkre, terhes nőkre és sportolókra, de elmondhatjuk, hogy általában az egész emberiségre vonatkozik. A BMI kiszámítása egy személy súlyának és négyzetmagasságának arányán alapul a képlet szerint:

BMI = súly/magasság 2

ahol a súly kilogrammban, a magasság méterben van megadva. Az eredmény egy dimenzió nélküli szám, amely egyszerűsített formában a következőket jelenti:

A táblázat egyszerűsített. Valójában több lehetőségre van felosztva (I., II. Vagy III. Fokú elhízás, és eldönti, hogy nő vagy férfi-e. Programozási igényeinkhez azonban a táblázatban megadott felosztás elégséges.

Ezért felhasználjuk az előző szakasz programjának forráskódját, és kiegészítjük súlymeghatározással, BMI-számítással és az ezt követő döntéshozatalsal a táblázatnak megfelelően.

Az utasítás a módosított program forráskódját (vázlatát) mutatja. Alapvetően ez az előző, részben módosított példa, és csak a BMI és a döntéshozatal kiszámítása az említett táblázat értelmében (a hozzáadott részeket pirossal emelik ki):

Az alábbiakban felsoroljuk a megtalált értékeket, amint azt legutóbb bemutattuk. Hozzáadva a bmi változó felsorolása a sorokon

Bár a BMI kiszámítása "málna", annak eldöntése, hogy az ember szegény, pontos vagy kövér, már nem olyan egyszerű. A programozás során az úgynevezett bináris ágat használják. És ez alapvetően egy ismerős feltételes állítás. Csak megismételni, hogy a feltételes utasítás szintaxisa az