Ардуино и белки

Ардуино и белки

Начну я этот рассказ с давних времен. Нет, не с сотворения мира, но все же.

В один благословенный январский день, почти десять лет назад, погода была премерзкая. Шел плотный мокрый снег, дорогу можно было только угадать — все завалено. Дворники плохо справлялись с налипавшей массой, ехать приходилось практически наугад, машин не попутных, ни встречных не было. Дорога была второстепенная, абсолютно незнакомая, в нескольких десятков километров от города.

И днем это время суток можно было назвать лишь относительно — полярный круг в паре сотен километров, световой день был меньше двух часов и уже давно закончился.

Не ехать было нельзя — несколько дней назад мы договорились приехать в этот день забрать давно обещанного котенка.

В конце концов мы свернули не там и заблудились. Супруга позвонила кошковладельцам.

— Что вы видите вокруг?

— Коровы ходят…

— Ну, вы почти приехали, возвращайтесь на главную дорогу, еще метров двести проезжайте и потом поворот налево и до упора.

Еще через несколько минут мы уже были в тепле и уюте в фермерском домике.

Выдали кошке-маме привезенные кошачьи вкусняшки, фермерским детишкам — полагающийся в таких случаях калым за котенка — 20 евро. Мы были первыми котенкосоискателями и можно было выбрать котенка по своему вкусу. Но что-то пошло не так — котята, которых только что было полно, почувствовали неладное и в момент разбежались. Остался один котенок. Она, видимо, поняла неизбежность расставания с мамой-кошкой и решила — ну, ладно, так и быть, я выбираю вас, и согласна вить из вас веревки.

Часа через два с половиной — три котейка была доставлена в свой новый дом. Поездка прошла на редкость гладко — все время она сидела на руках у супруги и никаких попыток похулиганить не предпринимала.

Новый дом ее устроил — чего-то бояться или прятаться она даже не подумала. Все обследовала — туалет на месте, тарелочки в кухне — все вроде, как должно быть. Ну ладно, устала я сегодня, вздремну здесь. А вы пока поумиляться можете.

Ардуино и белки

Через какое-то время Даша обнаружила, что в доме есть еще один жилец. И живет он на крыше, но зовут его не Карлсон. Временами она приходила на кухню и подолгу смотрела в потолок. Какое-то время спустя я нашел на снегу следы этого жильца. Потом увидел и его самого — это оказалась ласка.

Ардуино и белки

Ласка — неплохой сосед, живет себе на чердаке, не хулиганит, и никто, кроме нее, там жить уже не станет. А если и станет — то недолго, ласка все-таки хищник. Но я не оценил своего счастья, дождался когда она уйдет по своим делам и заделал ее лаз. Раз туда пролезла ласка — если она уйдет, то туда и мыши с крысами пролезут.

Через какое-то время срок службы мягкой кровли вышел, местные мастера-крышеватели установили кровлю из металлочерепицы. Я в крышах не большой специалист, поэтому все проследить не мог. А эти горе-мастера, оказывается, местами оставили не закрытыми отверстия под волнами черепицы. Сразу это не вылезло, но через несколько лет белки их обнаружили.

Ардуино и белки

При всей своей мимимишечности, белка — это самое последнее, что нужно на крыше. Первый раз я решил, что у меня на чердаке табун лошадей завелся — такой шум ночью способна устроить единственная белочка. Ну и хулиганит изо всех сил — выбрасывает с крыши утеплитель, грызет все подряд. А в доме все коммуникации идут на крыше — и электропроводка, и принудительная вентиляция, и трубы центрального пылесоса. Пожары от того, что белки перегрызают электропроводку — не редкость. Ну и свинарник они могут устроить приличный, если решат на чердаке гнездо устроить — любят они птичкой закусить, а остатки своей трапезы не убирают.

Слабонервным не нажимать!!!
Ардуино и белки

Для начала прошел вокруг дома и срезал все ветки деревьев, с которых эти хулиганки могли на крышу попасть. На какое-то время помогло, потом табун вернулся. Как-то увидел, что белка забирается на крышу по лестнице. Пришлось устроить на этой лестнице полосу препятствий.

Ардуино и белки

-Фу, как грубо и неэкологично — решила белочка и на какое-то времени отстала.

А нынешней зимой вижу — очередная хулиганка залазит на крышу по водосточной трубе. И пофигу ей, что это труба вся, как есть, железная.

Решил я бороться с ними технически. Если она пробежится по чердаку — ничего страшного, а вот желание устроить там гнездо лучше бы пресечь.

Во всяких интернетах пишут, что белки не любят яркого света. Что же им днем-то делать? Ладно, пошел я в магазин за фонарями. Супруга поинтересовалась:

— У тебя что, белки с фонариками будут теперь по чердаку бегать будут?

— Нет, я им свет сделаю, чтобы книжки читали, а не носились попусту.

В самом деле замысел был намного коварнее — сделать случайное включение нескольких направленных в разные стороны фар на короткий промежуток времени. Чтобы книжки читать было неудобно 🙂

Ардуино и белки

Собрал элементарную моргалку, в качестве ардуино послужила STM8S003F3P6TR — я писал, как ее использовать здесь — STM8S003F3P6TR — Arduino для бедных

Схема проста, как мыло — микропроцессор и ключевые транзисторы. Ток у фар больше ампера, без ключей никак. Блок питания от какого-то старого, давно ушедшего в утиль, ноутбука.

Ардуино и белки

Ардуино и белки

Скетч тоже простой до безобразия — в случайный момент времени включается случайная фара и светит случайный промежуток времени.

Нажмите, чтобы увидеть код
#include <Arduino.h>

#include "stm8s_iwdg.h"
uint8_t PortArray[] = {PD2, PC5, PC6, PC7};
void setup()
{
IWDG->KR = 0xcc; // Start the independent watchdog
IWDG->KR = 0x55; // Allow the IWDG registers to be programmed
IWDG->PR = 0x06; // Prescaler is 2 => each count is 4mS
IWDG->RLR = 0xff; // Reload counter - 1.02s
IWDG->KR = 0xaa; // Reset the counter
for(uint8_t i=0; i<4; i++)
{
pinMode(PortArray[i],OUTPUT);
digitalWrite(i, LOW);
}
}

void ldelay(uint16_t del)
{
for(uint16_t i=0; i<del; i++)
{
delay (100);
IWDG->KR = 0xaa; // Reset IWDG
}
}
void loop()
{
uint8_t LED = PortArray[random(4)];
digitalWrite(LED, HIGH);
ldelay((random(8)+2));
digitalWrite(LED, LOW);
ldelay((random(9)+1)*10);
}

Из особенностей программы — только использование сторожевого таймера, все-таки моргалка должна работать постоянно и никакие сбои на ее работу влиять никак не должны.

Чтобы окончательно убедить белку не устраивать гнездо на чердаке, поставил два ультразвуковых излучателя. Площадь крыши большая, и в форме буквы «Г», одним не обойдешься. В описании уверяют, что площадь распугивания грызунов до 150 м2. Надо бы поинтересоваться у белок, считают ли они себя грызунами и слышат ли они вообще этот ультразвук? Говорят, кошки и собаки не слышат, а почему белки должны слышать и тем более, бояться? Может, это все человеческие религиозные предрассудки?

Ардуино и белки

С задней стороны этого ультразвукового устрашителя предусмотрена какая-то крутилка. Для чего предназначена — не понятно. Инструкция молчит. Может, амплитуда регулируется, а может — частота. Надо белку попросить, чтобы помогла выбрать самое страшное положение этой ручки.

Ардуино и белки

Ну да ладно, может потом какая-нибудь белочка и покрутит пальцем у виска, а пока упаковываем всю нашу трехомудь в коробочку и устанавливаем на чердаке. От дополнительной розетки будет питаться антенный усилитель для телевизора.

Ардуино и белки

Ардуино и белки

Все готово, всем стоять, бояцца!

Ардуино и белки

Оцените статью
Добавить комментарий