2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-13 06:58
Вы когда-нибудь спрашивали себя, как сотни и тысячи светлячков могут синхронизироваться? Как это работает, что они могут моргать все вместе, не имея своего рода босса-светлячка? Это руководство дает решение и показывает, как можно достичь этой синхронизации. Меня всегда очаровывала самоорганизация насекомых. Пару лет назад я написал Java-апплет, имитирующий квадрат из тысяч светлячков. Это сработало, и было интересно смотреть. На этот раз я сделал это аппаратно. Авторы вдохновения принадлежат Кесо и его банке светлячков https://www.instructables.com/id/E7U5HYMSVIEWP86SAL/. Любые комментарии или исправления приветствуются. Обновление 2008-09-12: Там это новая версия светлячков онлайн на сайте Synchronizing Firefly Howto. У него есть специальная печатная плата для каждого светлячка. А еще вы можете купить комплект в магазине Tinker Store, вот видео:
Шаг 1. Как это работает
Алгоритм: что можно наблюдать, так это то, что светлячки начинают беспорядочно мигать. Но со временем они могут постепенно синхронизироваться со своими ближайшими соседями. И эти соседи синхронизируются со своими соседями и так далее, и так далее. Пока все дерево или вся долина не мигают в одном и том же цикле. И для чего это нужно? Он используется для привлечения других особей. Когда все мигают синхронно, гораздо проще найти партнера. Один из самых простых алгоритмов, объясняющих это поведение, звучит так: у вас есть значение, которое удерживает силу мигания. Со временем эта мощность немного повысится. Если мощность достигает определенного уровня, светлячок мигает, и мощность расходуется. Скорость увеличения мощности почти одинакова для всех светлячков. Таким образом, они имеют одинаковую частоту, но не один и тот же момент времени, чтобы мигать. Медленно заряжаясь энергией, светлячок может обнаружить вспышку другого светлячка поблизости. Затем он добавляет более высокое значение к своему значению мощности. Если хотите, какой-то прирост мощности. Это означает, что следующая вспышка произойдет раньше, чем предыдущая. А следующий еще раньше, пока эти два сигнала не начнут мигать точно в один и тот же момент времени и с одинаковой скоростью. Вы можете найти больше об этом алгоритме, например, здесь: Firefly Synchronization Ad Hoc Networks Аппаратное обеспечение Я решил использовать мои предыдущие инструкции (программируемый светодиод) в качестве отправной точки. Он состоит из микроконтроллера, светодиода и светозависимого резистора (LDR). Этого должно быть достаточно, чтобы смоделировать простого светлячка. Он может мигать, видеть и считать. Мне просто нужно было изменить программу и ориентацию светодиода и LDR. Светодиоды и LDR должны быть размещены таким образом, чтобы одна цепь светлячка могла мешать другой. Таким образом, один LDR должен «видеть» светодиод другого светлячка. И он должен видеть не только одного соседа, но и больше. Это можно сделать, направив светодиод и LDR вверх от земли, а также использовать белую бумагу для отражения вспышек.
Шаг 2: материалы и инструменты
Для сетки 5 на 5 светлячков вам понадобится:
- Резистор 25 x 1 кОм
- Резистор 25 x 100 Ом
- 25 x LDR (светозависимый резистор), например M9960
- 25 светодиодов, 1,7 В, 20 мА (рег., Зеленый, синий, что угодно)
- 25 x ATtiny13, флэш-память 1 КБ, оперативная память 64 байта, EEPROM 64 байта
- 25 розеток
- макетная плата
- провод
Стоимость одного светлячка должна составлять около 1,50 евро, если вы получаете рабат при заказе большего количества. Розетки необходимы только в том случае, если ваши программы содержат ошибки. Если вы уверены в своих навыках развития, вы можете их сэкономить.;-) Вы, несомненно, можете заменить чип ATtiny любым другим микроконтроллером, например PIC, PICAXE или BasicStamp. Просто возьмите самое маленькое и дешевое, что вы можете получить. Я использую Atmel, так как у меня уже был программист, и мой первый проект с ATtiny13 работал отлично.
- Паяльник
- Припой провод
- Макетная плата
- Программист AVR
- Источник питания 5 В или
- 4 аккумулятора AA
Программное обеспечение