Помогите проверить не большой скетч
- Войдите на сайт для отправки комментариев
Ср, 08/07/2015 - 16:43
к какому пину подключить Arduino и как чтобы оно заработало
#include <OLED_I2C.h>
OLED myOLED(SDA, SCL, 8);
//extern uint8_t SmallFont[];
//extern uint8_t TinyFont[];
extern uint8_t BigNumbers[];
//extern uint8_t MegaNumbers[];
extern uint8_t RusFont[];
//********************************************************************
unsigned long micros_sp;
volatile int sz; //счетчик обнуления
volatile int sp; //скорость
//********************************************************************
void setup(){
myOLED.begin();
Serial.begin(115200); //инициализация ком порта
attachInterrupt(1, speedometr, RISING); //прерывание спидометра по фронту импульса
tone (7,100);
}
//********************************************************************
void loop(){
Serial.print (sp);
myOLED.setFont(RusFont);
myOLED.print("CGBLJVTNH",CENTER, 0);//cjb;lvt
//myOLED.setFont(TinyFont);
myOLED.setFont(BigNumbers);
myOLED.printNumI(sp, CENTER, 19);
myOLED.update();
myOLED.clrScr();
sz = sz - 1;
if (sz == 0){
sp = 0;
}
delay(50);
}
//********************************************************************
void speedometr(){ //измеряем частоту на входе спидометра по прерыванию
sp=(600000.0/(micros() - micros_sp));
micros_sp= micros();
sz = 30;
}
а что должно заработать? скорость считаться или дисплей не работает?
читаем, исправляем
Да скорость к какому пину датчик подключать и ставить делитель или ото пару ВАЗ 2109
3 пин
а почему 3 пин где это прописано
а почему 3 пин где это прописано
42
вот здесь
как бы это не звучало глупо цифра 1 это 3 пин)))
http://arduino.ru/Reference/AttachInterrupt
Спасибо огромное
может подскажите как пройденное расстояние считать (с момента старта)
берешь какую то еденицу времени, например 1секунда, и считаешь расстояние на это время зная скорость и приплюсовываешь к предыдущему расстоянию
Пожалуйста помоги я уже 3 день умножаю и делю
а в чем конкретно проблема? принцип я объяснил
да во всем ни когда не сталкивался с millis micros запутался окончательно
да все просто. создаешь еще одну переменную для времени например new_time. приравниваешь ей текущее время millis или micros, например оно сейчас 450 мс. и ставишь условие, если millis()-new_time>1000 то снова запоминаешь время и считаешь по формуле расстояние. и прибавляешь его к текущему. условие сработает если millis будет больше чем 1450. а чтобы белеберды не получилось при срабатывании условия по новой запоминаешь время и так далее по кругу
а потом можно усложнять
вот этот код похож или нетс ним разбирался ни чего не понял
да похож