У попередньому розділі ми пояснили, як Arduino може спілкуватися з нами інтерактивно. Одночасно ми ознайомилися зі змінними типу string, int та float, показали їх використання та пояснили цикли в програмі.

arduino

Хоча попередня програма в основному «папугувала», тобто повторювала лише дані, які ми їй передавали, тепер ми покажемо, як запрограмувати Arduino, щоб він міг обчислювати нові дані з певних введених значень і приймати на їх основі певні логічні рішення.

Придатним прикладом, який, по суті, є прикладом з попереднього розділу, є обчислення ІМТ. ІМТ (індекс маси тіла) - один із найбільш широко застосовуваних методів виявлення ожиріння. Ожиріння визначається як накопичення жиру. Індекс ІМТ не є повністю точним, він не стосується підлітків, вагітних жінок і спортсменів, але можна сказати, що він, як правило, стосується решти людства. Розрахунок ІМТ базується на співвідношенні ваги людини та його квадратного зросту за формулою:

ІМТ = вага/зріст 2

де вага вказана в кілограмах, а зріст - у метрах. Результатом є безрозмірне число, яке в спрощеній формі означає наступне:

Таблиця спрощена. Насправді він розділений на декілька можливостей (ожиріння I, II або III ступеня, і він також вирішує, чи це жінка, чи чоловік. Однак для наших потреб програмування розподілу, наведеного в таблиці, цілком достатньо.

Тому ми будемо використовувати вихідний код програми з попереднього розділу та доповнити його визначенням ваги, розрахунком ІМТ та подальшим прийняттям рішень відповідно до таблиці.

У цьому викладі показано вихідний код (ескіз) модифікованої програми. Це, в основному, попередній приклад, частково змінений, і лише обчислення ІМТ та прийняття рішень у значенні згаданої таблиці (додані частини виділено червоним кольором):

Далі наведено перелік знайдених значень, як ми показували минулого разу. Додано перелік змінної bmi у рядках

Хоча обчислення ІМТ є "малиною", вирішити, людина бідна, точна чи товста, вже не так просто. У програмуванні використовується так звана двійкова гілка. І це в основному звичне умовне твердження. Повторюємося, синтаксис умовного висловлення -