Мои проекты - Катер для рыбалки
Попробовал этих два кода еще.. лампа тупо мигает.. как в фильме ужасов...
В даташите указано 2 мкс. поэтому с запасом, а вдруг попадет в нулевое место синусоиды. Думаю потом можно уменьшить. И еше, давайте перейдем на PORTB |=B10000000 и PORTB &= B01111111 , но это для меги и 13 пин.
Для проверки датчика ноля, давайте в ком-порт пошлем данные, без управления тиристором
Последний раз редактировалось Mastar; 22.11.2011 в 00:56.
Мои проекты - Катер для рыбалки
Пост на удаление
Последний раз редактировалось Mastar; 22.11.2011 в 00:58.
Мои проекты - Катер для рыбалки
можно таймером посчитать время между срабатыванием прерываний и в терминальный монитор отправить
PHP код:
#include <TimerOne.h>
volatile uint16_t startImpuls;
volatile uint16_t lengthImpuls;
volatile uint16_t timerCount=0;
void setup()
{ /*
LOW — вызов прерывания всякий раз, когда на порту низкий уровень напряжения;
CHANGE – прерывание вызывается при изменении значения на входе;
RISING – вызов прерывания при изменении уровня напряжения с низкого (LOW) на высокое(HIGH)
FALLING – вызов прерывания при изменении уровня напряжения с высокого (HIGH) на низкое (LOW)
*/
startImpuls=0;
lengthImpuls=0;
Serial.begin(115200);
Timer1.initialize(1);
Timer1.attachInterrupt(callback); // attaches callback() as a timer overflow interrupt
attachInterrupt(0, fireUp, RISING);
}
void callback() { timerCount++; }
void loop()
{
//delay(1000);
Serial.println(lengthImpuls, DEC);
}
// Функция обработки прерывания на подъем
void fireUp()
{
detachInterrupt(0);
startImpuls = timerCount;
attachInterrupt(0, fireDown, FALLING);
}
// Функция обработки прерывания на подъем
void fireDown()
{
detachInterrupt(0);
lengthImpuls = timerCount - startImpuls;
startImpuls=0;
timerCount=0;
attachInterrupt(0, fireUp, RISING);
}
Последний раз редактировалось Chip; 21.11.2011 в 22:45.
Упс... он чего не то выдает вместо 1500 мкс = 220
Последний раз редактировалось Mastar; 21.11.2011 в 22:46.
Мои проекты - Катер для рыбалки
если честно пока в программировании ардуины не спец.. так что если можно, то с примерами скетчей.. как это можно проверить, а я результат буду отписывать.
Пробуй , код выше выложил
попробовал, не очень пойму что в терминальном мониторе можно увидить... только такое есть:
ûüùûúúøú&# 248;ûøúøøúø 8;úøüùùúýø üúøøúøøú&# 251;
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)