В 2018 году я уволился из российского подразделения Atmel (компании, которая разработала микроконтроллеры ATmega, применяемые в Arduino) и был приглашён в южноамериканское подразделение NXP. На собеседовании в числе прочих был один весьма забавный вопрос: «Как вы запустите демоплату с микроконтроллером MCXA143VLH, если окажетесь в античной Греции?» Мой ответ про батарейку из лимона приятно удивил собеседника.
Такую батарейку каждый читатель легко может сделать у себя дома. И сегодня я расскажу как. А чтобы убедиться в том, что батарейка функциональна, мы подключим к ней Arduino, который выполнит написанный нами код.
Два металла
Для батарейки нам потребуется пара пластин из двух различных металлов. Например, из меди и цинка.
Медную пластину можно вырезать из токопроводящей силовой шины:
Цинковую пластину можно купить в магазине химических реактивов.
Обе пластины необходимо протереть содой и обрезать так, чтобы они по размерам могли поместиться в стакан.
После этого каждую пластину необходимо разметить и просверлить в двух точках.
Затем пластины нужно соединить при помощи изолирующего крепежа. Для этого подойдут белые нейлоновые гайки и винты М4×40.
Для подключения Arduino к батарейке нам потребуется сделать кабельную сборку из разъёма питания, кабеля, термоусадки и двух «крокодилов».
Разбираем разъём, надеваем его кожух на кабель, зачищаем кабель, накидываем на него термоусадку, припаиваем кабель к «крокодилам» и разъёму. Затем усаживаем термоусадку на «крокодилы» при помощи паяльного фена и надеваем кожух разъёма питания обратно.
Важно, чтобы красный провод был припаян к центральному контакту разъёма питания и «крокодилу» красного цвета.
Наш код
Отвлечёмся ненадолго от электрической части и займёмся программной.
Подключим Arduino к компьютеру, откроем Arduino IDE и создадим новый скетч.
Проинициализируем вывод микроконтроллера, подключенный к светодиоду. Для этого пишем в функцию setup следующую строчку:
pinMode(LED_BUILTIN, OUTPUT);
Затем в функцию loop добавим включение и выключение светодиода:
digitalWrite(LED_BUILTIN, HIGH);
digitalWrite(LED_BUILTIN, LOW);
Далее добавим после каждой функции digitalWrite задержку — функцию delay(500).
Итог должен выглядеть так:
void setup() {
pinMode(LED_BUILTIN, OUTPUT);
}
void loop() {
digitalWrite(LED_BUILTIN, HIGH);
delay(500);
digitalWrite(LED_BUILTIN, LOW);
delay(500);
}
Теперь нажимаем «Проверить», а затем — «Загрузка».
Если жёлтый светодиод на Arduino начал мигать, значит всё сделано правильно.
Мохито
Вернёмся к батарейке. Чтобы она заработала, потребуется электролит. Для его приготовления можно взять обычный жёлтый лимон, но я взял лайм. И добавил немного мяты. Рекомендую то же сделать и вам :)
Важное замечание: после опускания в получившийся мохито пластин батареи пить его больше нельзя!
Теперь берём стакан с нашим безалкогольным мохито, опускаем туда скреплённые пластины, выставляем на мультиметре режим измерения напряжения, подключаем «крокодилы» мультиметра к пластинам и смотрим, какое напряжение даёт наша батарейка.
Напряжение появляется от того, что у цинка и меди различные электродные потенциалы. У меди он равен +0,25 вольт, а у цинка −0,68 вольт. Вместе получается +0,93 вольт.
Регулятор напряжения
В Arduino сразу после разъёма питания установлен регулятор напряжения. Его входное напряжение может находиться в интервале от 6,5 до 12 вольт. Сам регулятор постоянно отслеживает напряжение на выходе и приоткрывается так, чтобы выходное напряжение всегда составляло ровно 5 вольт.
Для того чтобы эта схема заработала, нам потребуется последовательно соединить несколько отдельных лимонных батарей.
Теперь нам следует присоединить «крокодилы» кабельной сборки к пластинам так же, как «крокодилы» мультиметра, когда он показывал положительное напряжение. Важно не перепутать полярность: плюс — к меди, минус — к цинку. Затем воткнуть штекер кабельной сборки в разъём питания Arduino, предварительно отключив Arduino от USB.
Заключение
Как видите, запустить Arduino можно без подключения к USB или адаптеру питания. И это достаточно просто, если быть аккуратным.
Большое спасибо, что прочитали эту статью. Если вам понравилась эта статья, ставьте лайки, оставляйте комментарии, делитесь статьёй со своими друзьями. А также подписывайтесь — здесь на Хабре, либо на мой Телеграм. Также буду признателен, если поучаствуете в опросе в конце статьи.
Если же у вас всю статью зрел вопрос вроде «что это, чёрт побери, такое??», то у меня есть что вам ответить.
Ответ
Данная статья — своего рода эксперимент. Это попытка написать максимально пустую, вторичную, бесполезную, но в тоже время конъюнктурную статью.
Во‑первых, код мигалки светодиодом в Arduino IDE делается в два клика. Он есть в готовых примерах. Его не надо писать.
Во‑вторых, статей, описывающих мигание светодиодом на Arduino, только на Хабре три штуки:
А в целом, несмотря на то что Arduino появилась в 2005 году, подобные статьи выходят до сих пор. Например LED Blinking Using Arduino, опубликованная 3 июля 2024 года.
Сама лимонная батарейка является настолько типовым демонстратором гальванического элемента, что ей посвящена статья в Википедии, а также, например, эпизод в 22‑й серии 6‑го сезона Теории большого взрыва (там, правда, вместо лимона была картофелина).
Кроме этого, для гальванического элемента вовсе не нужны именно цельномедный и цельноцинковый электроды. Прекрасно подойдёт оцинкованная сталь и FR4 — меднёный стеклотекстолит.
Если есть желание использовать именно чистые металлы, то на AliExpress продаются готовые наборы из парных пластин.
Протирание содой, сверление и пластиковый крепёж для работы гальванического элемента абсолютно бесполезны. Чтобы пластины не замкнулись в стакане, достаточно просто положить между ними большой кусок лимона.
Однако все эти манипуляции очень нужны для другого.
Дело в том, что лента Хабра в куда большей степени является развлекательным аттракционом, чем научно‑технической библиотекой.
Я предположу, что наиболее частая схема при чтении статей такова:
-
Фиксация внимания на КДПВ, заголовке и аннотации
-
Вход в статью, чтение первых 3‑5 абзацев
-
Оценка статьи ±1
-
Чтение примерно до середины
-
Выход из статьи
-
Повторение действий со следующей статьёй
Подобный алгоритм в лучшие времена Хабра служил для удовлетворения поискового инстинкта и ощущения единения с научно‑техническим сообществом. В таком случае маловероятны попытки буквально повторить опыт. Здесь скорее идёт речь о погружении в «ритуализованное» действо.
Вместо «забросить две готовые пластины в стакан с лимоном» здесь многоступенчатый набор операций, назначение которых не вполне прозрачно.
Зачем протирать содой? Почему не наждачной бумагой? Почему вообще надо протирать пластины? Появившись, эти вопросы сами собой находят ответы.
Протирать — чтобы очистить поверхность. И безразлично, что агрессивная среда гальванического элемента сама очистит практически что угодно.
Может быть сода потому, что она всегда под рукой, не нужно искать наждачную бумагу? А может, она аккуратнее счищает окисел, а наждачная бумага — грубее? А может она работает как какой‑нибудь активатор?
Какая разница? Главное, теперь известно сакральное знание — протирать надо содой.
Такая тональность статей и заметок меня всегда вводила в недоумение, когда я читал разделе «маленькие хитрости» в журналах «Наука и жизнь», «Техника — молодёжи» и подобных изданиях. Но теперь я, кажется, понимаю как это работает :)
Точные значения электродных потенциалов в лимонном соке я взял с первого попавшегося сайта, чтобы их сумма примерно соответствовала напряжению одного лимонного гальванического элемента. В конце концов, в развлекательной статье не нужны точные числа. Важно лишь их принципиальное наличие — оно создаёт научность :)
Также выдумкой была и история про Atmel с NXP.
Многие слышали легенду про собеседования в Google, в которых были в том числе вопросы на общую сообразительность. Почему бы не следовать этой легенде? Почему бы не предложить подумать: «о, а я знал про лимонную батарейку! Может, меня бы тоже взяли в NXP?»
Надеюсь, кто‑нибудь оценит пару «пасхальных яиц» относительно 2018 года:
-
Atmel был куплен компанией Microchip и прекратил своё существование ещё в 2016 году
-
Микроконтроллер MCXA143VLH, один из новейший у NXP, был выпущен в 2024 году
А ещё я выставил уровень статьи как «Сложный». Это для Технотекста 2024.
Дело в том, что сравнительно недавно появилась механика, предлагающая авторам самостоятельно определить такой субъективный параметр статьи, как сложность. А затем, в конкурсе Технотекст 2023, участникам было предложено промаркировать свои статьи как Junior, Middle и Senior.
Что это значит? Что статья написана для миддлов, или что статья написана миддлом? Что вообще такое — быть миддлом, например в DIY? Кто его знает...
При этом в каждой номинации разыгрывалось три награды, по одной для каждого уровня.
Большинство авторов оценили уровень своих статей как Junior или Middle. Это большинство было настолько подавляющим, что в некоторых номинациях в Senior попало две, одна или даже ноль статей. Эксперимент был признан не на сто процентов удачным, тем не менее награды нашли своих героев. В том числе тех, кто буквально вырвал победу в потной схватке с... самим собой.
Наконец, я добавил эту статью в хаб FPGA.
Мешает ли непрофильное содержимое статьи иным известным и популярным хабровским авторам приписывать её к наиболее «вкусным» хабам?
Нисколько.
Есть ли в данной статье что‑нибудь про FPGA?
Конечно! FPGA ведь питаются электрическим током, а лимонная батарейка его как раз вырабатывает. Так почему бы и нет? :)
Проблема в том, что (я уверен на 90%) — данная пустая, бестолковая статья превзойдёт по рейтингу, скажем, статью Согласование импедансов: симуляторы и симуляция. Часть 2. Хотя в той статье и уникальный материал (в рунете нет подобных инструкций по работе с Keysight ADS), и экспериментальные данные, полученные как в симуляторах, так и на реальных дорожках.
На этом месте можно было бы выкрикнуть что‑нибудь эмоционально‑истеричное вроде «Доколе?! Хабр — не тот!!!». Но как представляется, подобные восклицания никогда не рассматривают структуру системы. Не пытаются ответить на вопросы: как мы пришли к подобному; могло ли получиться иначе; может ли то, что кажется лишним и вредным, выполнять какие‑либо важные функции; и тому подобное.
Поэтому я завершаю данную статью опросом (шуточным, как и вся статья в целом). А ряд мыслей по поводу некоторых аспектов функционирования нашего инженерного сообщества я выделяю в отдельную статью (ссылка станет активна ровно через час после публикации настоящей статьи).
Автор: Flammmable