Re: Бортовой компьютер мотоцикла
Код позже посмотрю, сейчас времени маловато, если есть один свободный аналоговый вход, а он должен быть, можно сделать одну сенсорную кнопку. Кусочек тексталита 2х2см и реагировать будет примерно на расстоянии 3,5 мм след. Можно посадить под обшивку на такую глубину
Re: Бортовой компьютер мотоцикла
В кожанной мотоциклетной перчатке сенсорную кнопку нажать не реально ... нажать то получится, только она не сработает.
Re: Бортовой компьютер мотоцикла
Цитата:
Сообщение от
Oleg_33
В кожанной мотоциклетной перчатке сенсорную кнопку нажать не реально ... нажать то получится, только она не сработает.
это смотря как настроить чувствительность, если сделать срабатывание на расстоянии 5мм то этого хвати что бы ее спрятать и компенсировать толщену перчатки
Вложений: 1
Re: Бортовой компьютер мотоцикла
Делал как то на attiny13 - http://www.youtube.com/watch?v=JjADVYuXjTY (в описании ссылки на код и схему на два порта правда).
Сделать, чтобы реагировала на быстрое касание и игнорировала помехи у меня не получилось. Испытывал при толщине покрытия в пару миллиметров (и достаточно большой площади площади порядка 3-4см), потом совсем плохо.
Пришел к выводу, что если требования делать скрытую кнопку нет, то лучше поставить обычную кнопку с аппаратной стабилизацией. И код проще, и тактильный отклик есть.
Схему включения вот такую планирую использовать (из The Unofficial Arduino Basic Connection)
Вложение 18392
Для конвертации питания 12В в 5В хочу закупить вот step-down преобразователь.
Цитата:
На солнце (прямое попадание) нечитаемо. Проверено.
Я бы смотрел на ЖК с трансфлективной матрицей. Не слепнет, на солнце отлично читается.
Фигово, но попробую поверх что-нибудь налепить. В случае чего вот OLED 0.96' дисплей есть, но рамка у него огромная :(
Re: Бортовой компьютер мотоцикла
Re: Бортовой компьютер мотоцикла
тут намедни экспериментировал с записью в EEPROM небольших чисел 4 - 5 знаков, больше 5 чисел мне не понадобится.
точность получилось +-1, тк float f возвращает всего два знака после точки, как сделать больше ?
Получилось вот так:
PHP код:
#include <EEPROM.h>
int SERVIS = 1254;
void setup() {
Serial.begin(9600);
float f = SERVIS_OIL / 255.0; // 1030 / 255 = 4.039... - 4 * 255
int i = f ;// 4 = округлённое значение от деления
int g = (f - i) * 255;
// i - количество целых ячеек по 255, g - не целая ячейка.
for (int i = 0; g < i ; i++); {EEPROM.write(i, 255)};
EEPROM.write(i+1, g);
}
void loop() {
}
Re: Бортовой компьютер мотоцикла
На AVR не рекомендуют пользоваться нецелочисленной математикой. Если либу открыть, то там видно, что только int можно писать по сути. Надо float - храни как два int, до и после запятой.
В данной задаче этой надобности нет - какая разница заменишь масло через 3789Км или 4000Км?
Если тахометр подключать, то можно мото-часы еще считать (формулу расчета с потолка придется брать) или можно статистику собирать "сколько по времени, по оборотам и на какой передаче ехал".
Chip, реклама двигатель торговли! :D
Re: Бортовой компьютер мотоцикла
Везде в память пишется INT, Вы простите о чем ?
EEPROM.write(i+1, g) - переменная g объявлена INT!
Re: Бортовой компьютер мотоцикла
Aikon,+1
От float лучше уйти. Если необходимо, умножь на тысячу и храни в нескольких int.
В еепром пишется байт. Независимо от того, что объявлено, в библиотеке аргумент uint8_t, то есть 8-битное число. Больше 255 не запишешь.
Re: Бортовой компьютер мотоцикла
Если все int делать-то так вроде получается, не проверял ещё пока.
Код:
( (1040 / 255) * 1000000 ) = 4078431
( 4078431 / 1000000 ) = 4 (количество целых ячеек по 255, ячейки от 0 до 3)
4078431 - (4 * 1000000) = 78431
78431 * 255 / 1000000 = 19+1 (ячейка 4 в ней значение 20)