Велосипедный спидометр для n900

GPS - хорошая технология, но она плохо подходит для измерения скорости велосипеда. В этом посте я расскажу, как собрать велосипедный спидометр. Для этого не нужны какие-то особенные навыки или оборудование, только паяльник и в меру прямые руки. Пост посвящен только аппаратной части, софт еще не написан, хотя как его писать вполне ясно. Начнем с теории. Нам нужно измерить частоту вращения колесаж чтобы вычислить скорость велосипеда. Все вы ыидели велокомпьютеры с сенсором на вилке и магнитом на колесе. Нодля многих сенсор был просто черной коробочкой, выполняющей свою работу. На самом деле это просто геркон, который можно купить в магазине за 50 рублей. Когда магнит проходит рядом, цепь замыкается. Велокомпьютер просто измеряет интервалы между импульсами и вычисляет скорость.
Также понадобится пара сопротивлений (по 14 рублей за штуку) (чтобы объяснить телефону, что к нему что-то подключено), проводочки,термоусадочные трубки, изолента, магнит (40 рублей), ненужная вязальная спица и 4х контактный джек. Последний найти в магазине проблематично, поэтому придется раздраконить гарнитуру, все равно ее качество оставляет желать лучшего.
Схема очень простая, но сперва надо понять, как n900 определяет, что наушники подключены. Уконнектора четыре контакта: земля, микрофон, правый канал и левый канал - если перечислять от основания коннектора. Нас интересуют первые два. Если они замкнуты, то телефон считает, что подключены наушники, так как у них 3х контактный разъем. Если сопротивление больше 1.5 кОм, то считается, что ничего не подключено. А вот при наличии сопротивления около 1 кОм n900 думает, что подключена гарнитура, а это то, что нужно.
Следующий момент заключается в кнопке на наушниках. Она просто замыкает цепь через резистор. Мультиметр намерил shows 50 Ом, но я предпочел использовать куда большее сопротивление, чтобы не перегружать звуковой тракт (поначалу я не думал о кнопке, а потом все и так работало и я решил ничего не менять). Я использую 2 кОм сопротивление, подключенное через геркон параллельно первому сопротивлению, Когда цепь замыкается суммарное сопротивление падает до 1/3 кОм.
Ну и последний момент заключается в чтении данных с сенсора. Тут есть два пути. Звуковая карта записывает не столько звук, сколько напряжение на ее входе, а так как сопротивление сенсора меняется, меняется и напряжение на нем (телефон подпитывает микрофонный вход). Так как звуковая карта содержит конденсатор, вместо плато мы увидим два импульса: один положительный, когда геркон замыкается и противоположный по знаку, когда он размыкается (посмотрите прикрепленный bike.wav я сначала дважды раскрутил колесо, а затем оно постепенно остановилось. Проверить, что в текущий момент времени напряжение больше порогового, а до этого было меньше труда не составляет. Этот способ точен, но и расход батарейки у него высок (хотя он должен потреблять меньше энергии, чем медиаплеер при проигрывании музыки).
Другой подход был предложен Flandry и заключается в опросе /sys/devices/platform/nokia-av/detect который меняется с 4 на 0, когда геркон замыкается. Метод не так точен, но экономичнее. Теперь несколько советов по сборке. КОнтакты геркона должны располагаться перпендикулярно направлению на магнит. Т.е. этонапрвлени должно лежать в плоскости, в которой контакты двигаются. Если расположить геркон как изображено на фото, магнит должен быть сверху. В противном случае он не будет четко срабатывать. Для того, чтобы прикрепить его к вилке я использовал кусочки вязальной иглы. Сначала поместил их в термоусадочную трубку, чтобы не царапать краску, расположил геркон между ними и заизолировал все крупной термоусадочной трубкой и изолентой. Так как сопротивления небольшие, их можно также просто замотать изолентой. Если сделать это аккуратно, место соединения будет не сильно толще провода и не будет бросаться в глаза. Также можете подсоединить гнездо для наушников на оставшиеся контакты.
Дополнительные фотографии выложены в галерее a gallery.
AttachmentSize
bike.wav12.65 MB