В 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), и экспериментальные данные, полученные как в симуляторах, так и на реальных дорожках.
На этом месте можно было бы выкрикнуть что‑нибудь эмоционально‑истеричное вроде «Доколе?! Хабр — не тот!!!». Но как представляется, подобные восклицания никогда не рассматривают структуру системы. Не пытаются ответить на вопросы: как мы пришли к подобному; могло ли получиться иначе; может ли то, что кажется лишним и вредным, выполнять какие‑либо важные функции; и тому подобное.
Поэтому я завершаю данную статью опросом (шуточным, как и вся статья в целом). А ряд мыслей по поводу некоторых аспектов функционирования нашего инженерного сообщества я выделяю в отдельную статью.
Комментарии (51)
akhkmed
14.10.2024 14:45Спасибо за статью.
В предисловии к статье прочитал отслыку к другой.
Проголосовал за ВВГнг, там может быть четырёхпроводное измерение сопротивления для оценки качества.Flammmable Автор
14.10.2024 14:45Проголосовал за ВВГнг, там может быть четырёхпроводное измерение сопротивления для оценки качества.
Видимо придётся писать про ВВГнг ))))
vesowoma
14.10.2024 14:45Аналогично, но у кабелей ***нг интересно насколько они как раз нг фактически, ибо видел прямо противоположное, скорее всего контрафактный замаркировали с обычной изоляцией
Mike-M
14.10.2024 14:45В предисловии к статье прочитал отслыку к другой.
Что-то не вижу я эту "отсылку к другой", ни в предисловии ни в самой статье.
Радует, что (пока?) в опросе побеждает "Анбоксинг бухты кабеля ВВГнг". Значит, с чувством юмора у большинства хабровчан всё в порядке ))
akhkmed
14.10.2024 14:45Ты прав, всё, что написано в комментарии, притянуто за уши.
Mike-M
14.10.2024 14:45Только не "ты", а "вы" ;-)
akhkmed
14.10.2024 14:45Тоже верно, правила и этикет явно это не подчеркивают, но написаны полностью в тоне "Вы".
kuzzdra
14.10.2024 14:45Подключим Arduino к компьютеру, откроем Arduino IDE и создадим новый скетч.
Зачем переписывать blink из встроенных в IDE примеров?
Flammmable Автор
14.10.2024 14:45Скрытый текст
Зачем переписывать blink из встроенных в IDE примеров?
Без обид, но вашему комментарию видно, что спойлеры в статьях вы не открываете ))
Mike-M
14.10.2024 14:45Спасибо за вопрос. Отличный пример того, как читатели начинают комментировать, не прочитав всю статью до конца. Добавил ссылку в свои закладки )
randomsimplenumber
14.10.2024 14:45не прочитав всю статью до конца
Вижу статью про Ардуино - перехожу к комментариям, конечно.
EvilTeacher
14.10.2024 14:45Готовый рецепт для выживальщика в каменных джунглях: "Как применить дендрофекальные технологии, чтобы помигать светодиодом"... Осталось на 6-й день после Апокалипсиса добраться до развалин магазина химреактивов, опустошенного трамвайного депо (а где еще можно найти медную шинку?) и совершить набег на лаймовые плантации в 350 км от родного города...
Пойду продам сюжет авторам "Фолаута"... Сюжетец уж больно забористый :)randomsimplenumber
14.10.2024 14:45Как применить дендрофекальные технологии, чтобы помигать светодиодом
Было бы интересно, правда.
mclander
14.10.2024 14:45Медь в Древней Греции известна. Олово, свинец или железо (с последним проблемы, ибо потребует отдельную технологию) составят в разы более слабую гальваническую пару. Но можно использовать вполне известные на тот момент серебро и золото вместо меди, что несколько исправит ситуацию.
В общем, при наличии там ардуино и программатора для неё, решить вопрос с источником постоянного тока не так и сложно....
Yuri0128
14.10.2024 14:45Эх, а чего не написано про батарйку на картошке? Хотя, с другой стороны, - ее, как и цинка, в древней Греции не было.... Яблоки были!!! Ну, возможно, и огурцы.. Соленые.
smart_alex
14.10.2024 14:45Сама статья понравилась, а от бреда под спойлером я просто выпал в осадок (не надо так брольше делать).
И вопрос по существу: вы не написали самое интересное - какой ток короткого замыкания обеспечивает такой элемент?
Yuri0128
14.10.2024 14:45А какой смысл в токе КЗ для питания Ардуины? пару миллиампер такая батарейка точно обеспечит, а в реальности и много более. Но 10 ампер с нее вы не получите.
smart_alex
14.10.2024 14:45Так вопрос простой: какой конкретно ток даёт такой элемент? (Ардуина тут ни при чём)
Flammmable Автор
14.10.2024 14:45я просто выпал в осадок
Правда бывает горькой. Она может фрустрировать - как например вас. Но без правды никуда.
fio
Это вы уже уехали из античной Греции?
Микроконтроллер можно запустить и от 1.8в - понадобится меньше мохито.
Flammmable Автор
Я скажу вам больше. Несмотря на то, что латунь - сплав меди и цинка - была известна в античные времена, чистый цинк был получен лишь в XVIII веке )))
ATmega328P не запустится от 1.8 В. Ей нужно минимум 2,7В. А у Arduino ещё и вход питания пропущен через LDO.
Ufo28
там есть контакт RAW, в обход стабилизатора
mclander
Можно найти болото и выплавить железо. Пойдёт вместо цинка. На ютубе есть пруфы, как сделать печь для выплавки железа из отходов бактерий с помощью дерна и палок. Правда тогда, чтобы убить кого-то напряжением 220в понадобится в два раза больще кусков лимонов (при наличии меди). Не ~300, а ~600, но это неточно, поскольку, ток автор не замерял.