Привет Хабр! Кремний и видеокарты дорожают, а квантовые компьютеры не поместятся в квартире. Поэтому я решил собрать биопроцессор своими руками из денежного дерева на подоконнике...
Предупреждение: данная статья создавалась ради веселья и получения новых инженерных навыков.
Как это сделано
Свой биосопроцессор я решил создать на основе всем доступной платы Arduino и четырёх проводков воткнутых в мясистый лист Толстянки.
Принцип работы предельно прост: по двум проводам подключённым с одной стороны к цифровым пинам Arduino я подаю напряжение (LOW или HIGH) — это вход, а рядом провод воткнутый в аналоговый пин считывает напряжение — это выход. Также чтобы цепь не работала как антенна, я добавил провод для заземления (GND). Из‑за внутренних процессов растения на выходе получаются уникальные данные.
Почему именно Толстянка
Я выбрал это растение не случайно, у Толстянки очень сочные мясистые листья, что способствует улучшению биоэлектро эффектов, а ещё так проще втыкать провода (электроды).
Сборка

Примечание: в своём проекте я использовал Arduino Pro Micro, но вы можете использовать любую другую плату (например Nano, как на схеме).
Таблица соединений:
Провод | Куда вставлять с первого конца | Куда вставлять со второго конца |
первый | D2 | лист |
второй | D3 | лист |
третий | A3 | лист |
четвёртый | GND | лист |
Код:
// Подключение пинов #define X 2 #define Y 3 #define Z A3 void setup() { // Предварительная настройка (выполняется 1 раз) pinMode(X, OUTPUT); pinMode(Y, OUTPUT); Serial.begin(9600); } void loop() { // Основной цикл bio(LOW, HIGH); bio(HIGH, LOW); bio(HIGH, HIGH); bio(LOW, LOW); } // Функция для общения с биосопроцессором void bio(int x, int y){ // Подача сигнала digitalWrite(X, x); digitalWrite(Y, y); // Задержка для того чтобы ток успел провзаимодействовать с растением delay(10); int result = analogRead(Z); // Вывод результата Serial.println(result); // Отключаем подачу тока до следующего вызова digitalWrite(X, LOW); digitalWrite(Y, LOW); }
Что вышло

После сборки схемы и прошивки платы я запустил логические вычисления, вот что вышло:
Входные данные | Выходное значение (минимум) | Выходное значение (максимум) |
| 15 | 19 |
| 572 | 576 |
| 412 | 417 |
| 385 | 387 |
Полученные данные можно преобразовать в логические операции (например AND, OR) или оставить как есть, ведь это уже уникальная нелинейная функция.
Почему это можно называть аналоговым биосопроцессором
Почему «био‑»
Потому что все вычисления и изменения на выходе получаются из биоэлектрических процессов, таких как ионная проводимость (ток переносится за счёт движения ионов по клеткам, а не за счёт электронов как в кремнии) и динамическое изменение сопротивления за счёт реакции живой ткани.
Почему «аналоговый»
Потому что все изменения проходят на аналоговой логике (плавное преобразование).
Почему «процессор»
Потому что, по определению процессор — устройство которое изменяет входные данные по определённой функции, у меня, растение, как раз выдаёт значение на выходе, изменённое по определённому паттерну, если просто соединить все провода вместе без вытыкания в растение то паттерн ломается и выходное значение становится равно 0 не зависимо от входных данных.\
Почему «со»
Потому что Толстянка работает в паре с Arduino, и теряет функционал без платы.
Вывод

Я смог собрать простейший биосопроцессор на основе дешёвой платы и денежного дерева и доказал что биопроцессор (пусть и самый элементарный) можно собрать на коленке за 15 минут, а не в стерильной лаборатории.
Помимо простых логических операций такой проект можно адаптировать под генерацию случайных чисел, запуск DOOM и Linux или вообще заставить майнить Биткоин, но это уже совсем другая история...
Спасибо что дочитали статью до конца! Надеюсь вам понравился мой инженерно‑ботанический проект и вы не будете сильно сторго судить мой биопроцессор, ведь он только учится и очень требователен к поливу)