Если ваш ребенок уже дорос до Scratch и вы хотите показать ему, что программирование — это не просто анимация котика на экране, а реальная сила, которая может заставить железо думать и помогать по хозяйству — этот проект для вас.
Проект для школьного портфолио моего сына
Для научной школьной конференции первоклашек нужна была идея.
Наверное, у каждого бывало, что домашние растения вдруг начинали грустить, а потом и вовсе засыхали. Причина проста — забыли полить. Мы решили, что пора с этим что-то делать.
Задача была ясна: создать систему, которая будет напоминать о поливе. Идея пришла быстро: сделать датчик влажности почвы на базе micro:bit.
Почему micro:bit, а не Arduino
Micro:bit — это хороший и простой старт, он проще Arduino и Raspberry Pi, но в нем есть все необходимое, и он хорошо интегрирован в MakeCode, который легко понять, если ребенок уже знаком со Scratch.
Переход со Scratch на MakeCode занимает ровно пять минут. Те же блоки, тот же принцип построения алгоритма. micro:bit может работать и в среде Scratch, но мы там ловили много глюков, поэтому MakeCode — эта среда для контроллера роднее и стабильнее.

Как работает электричество
Но сначала нужно разобраться с теорией. Конструктор «Знаток» в этом очень помогает (серия этих STEM-игрушек может быть полезна для наглядности того, как работает электричество, как устроены цепи и зачем нужно сопротивление).
Для начала мы взяли конструктор и собрали простую электрическую цепь: батарейка, лампочка и мосты/провода. Когда проводки были разомкнуты, лампочка не горела.
Но стоило нам опустить их в стакан с водой, как лампочка загоралась! Это наглядно показало, как вода проводит электричество. Мы даже нарисовали от руки схему этой цепи.

Сборка устройства
Дальше в дело пошел micro:bit. Это маленькая плата с множеством возможностей.
Мы подключили батарейный отсек, чтобы micro:bit работал автономно. К контакту 3V (там всегда есть напряжение) и контакту P0 подключили два провода с зажимами («крокодилы»). Свободные концы проводов воткнули в землю в горшке.
Фактически создали две цепи — по одной всегда бегает электричество от батареек, вторая разорвана. А теперь переходим к самому интересному — программированию.

Программируем в MakeCode
Логика программы:
- micro:bit измеряет напряжение на контакте P0
- Если значение больше 100 — земля мокрая, показываем веселый смайлик
- Если меньше — земля сухая, показываем грустный смайлик
Код на JavaScript выглядит так:
let электричество = 0;
pins.setPull(DigitalPin.P0, PinPullMode.PullDown);
basic.forever(function () {
электричество = pins.analogReadPin(AnalogPin.P0);
if (электричество > 100) {
basic.showIcon(IconNames.Happy);
} else {
basic.showIcon(IconNames.Sad);
}
basic.pause(200);
});
Тестирование и отладка
К этому алгоритму мы пришли не сразу. В MakeCode есть блоки, которые просто проверяют напряжение — есть или нет, но какое-никакое напряжение в земле все равно будет.
Мы решили смотреть именно числовое значение, переводя в него аналоговый сигнал с нужного нам пина. Число 100 подобрали опытным путем. Сухая земля дает значения до 50 +/- стабильно, мокрая — от 100.
После того как код был готов, мы его загрузили на micro:bit и, конечно, пришлось немного отлаживать, чтобы показания были точными и смайлики менялись правильно.
Добавили принудительную установку пина вниз, потому что при старте там постоянно гуляло какое-то значение, а также добавили небольшую паузу для плавности картинки.
В итоге мы аккуратно воткнули провода в горшок с фиалкой. Когда земля была сухой, micro:bit показывал грустный смайлик. Стоило полить цветок, как он тут же "веселел"!
Проект удался, и фиалка теперь всегда вовремя получает свою порцию воды.

Еще один финальный тест. Высокий кактус хорошо сохраняет влагу, а вот тот что поменьше нужно уже полить:
Результат
Казалось бы, никакой магии, простенькая лабораторная по физике и программированию, но впечатление она произвела на аудиторию сильное.
Проект занял первое место на школьной научной конференции. Матвей получил диплом.

Но главное — ребенок на практике увидел, как программирование взаимодействует с железом и решает реальную бытовую задачу. Точно так же работают датчики света, движения, дыма — везде одни и те же принципы: измерить, сравнить, выдать результат.