Как заставить ваше растение работать на вас: аналоговый биосопроцессор своими руками

Привет Хабр! Кремний и видеокарты дорожают, а квантовые компьютеры не поместятся в квартире. Поэтому я решил собрать биопроцессор своими руками из денежного дерева на подоконнике...
Предупреждение: данная статья создавалась ради веселья и получения новых инженерных навыков.
Как это сделано
Свой биосопроцессор я решил создать на основе всем доступной платы 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 или вообще заставить майнить Биткоин, но это уже совсем другая история...
Спасибо что дочитали статью до конца! Надеюсь вам понравился мой инженерно-ботанический проект и вы не будете сильно сторго судить мой биопроцессор, ведь он только учится и очень требователен к поливу)
KioskNews shows a cleaned-up reading view extracted from the publisher’s page — the original always lives on their site, not ours.