функция pulseln

vitalii13
Offline
Зарегистрирован: 25.11.2019

здравствуйте. или поисковики инета так ищут или нет ничего. я совсем новичок. пытаюсь ардуинкой измерить показания потенциометра - получилось, потому что скетч простой и есть в инете с пояснениями. решил в этот же скетч вставить частотомер не получилось, потому что нет подробной информации и некому научить. может кто подскажет ресурс где на русском расписана каждая закорючка в скетче, для чего она предназначена, как  и где пишется, с чем связана. листая инет у всех "учителей" одно да потому -моргание светодиодом , и куча непонятных символов без пояснений. и пожалуйста вот конкретный скетч может кто подскажет . почему компилятор выдает ошибку что - "Htime=pulseln(8,HIGH);// измерение положительного импульса на  пине" не обьявлена в обьеме. заранее спасибо.

#define POT 0          //Средний контакт потенциометра подключен к 0-му аналоговому входе
int val = 0;            //Переменная для хранения измеренного значения на аналоговом входе
int Htime;          //переменная для хранения времени положительного импульса
void setup() {
  pinMode(8,INPUT);// назначил вход для частотомера
  Serial.begin(9600); //установить связь с компьютером 
}
  void loop() {
Htime=pulseln(8,HIGH);// измерение положительного импульса на  пине
val = analogRead(POT); //Чтение данных с аналогового порта POT(т.е. 0-ой аналоговый вход)
Serial.println(val);   //Вывод измеренного значения через последовательный порт
delay(500);           // ждем пол секунды
Serial.println(Htime);//вывод на компьютер времени положительного полупериода
delay(500);           // ждем пол секунды
}
rkit
Offline
Зарегистрирован: 23.11.2016

pulseIn, а не pulseln

vitalii13
Offline
Зарегистрирован: 25.11.2019

rkit пишет:

pulseIn, а не pulseln

о великолепный абдурахман ибн rkit все скомпилировалось. а ресурс обучающий не подскажите.

Duino A.R.
Offline
Зарегистрирован: 25.05.2015
SLKH
Offline
Зарегистрирован: 17.08.2015

vitalii13 пишет:

rkit пишет:

pulseIn, а не pulseln

о великолепный абдурахман ибн rkit все скомпилировалось. 

не всё, что компилируется, будет работать без глюков.

Что будет в Htime при длительности импульса, например, 0,5 секунды?

vitalii13
Offline
Зарегистрирован: 25.11.2019

всем огромное спасибо. все работает,  но 45 кгц приблизительно 11 микросекунд  точность не устраивает  можно ли еще точнее (в нано секундах) ?. опять перечитал пол инета информации - ноль. немного от темы - беда современного интернета 90 процентов однотипной информации.  где это можно было найти самостоятельно? заранее спасибо. 

agnec2001
Offline
Зарегистрирован: 08.11.2019

micros() поможет. Только учтите, что micros() имеет шаг 4 микросекунды.

vitalii13
Offline
Зарегистрирован: 25.11.2019

спасибо 

vitalii13
Offline
Зарегистрирован: 25.11.2019

 

[/quote] не всё, что компилируется, будет работать без глюков.

Что будет в Htime при длительности импульса, например, 0,5 секунды?

что предлагаете? как улучшить?

SLKH
Offline
Зарегистрирован: 17.08.2015

vitalii13 пишет:

 

не всё, что компилируется, будет работать без глюков.

Что будет в Htime при длительности импульса, например, 0,5 секунды?

что предлагаете? как улучшить?

[/quote] на мой вопрос ответ уже есть? 

прочитать это: http://arduino.ru/Reference/PulseIn.

 

SLKH
Offline
Зарегистрирован: 17.08.2015

vitalii13 пишет:

всем огромное спасибо. все работает,  но 45 кгц приблизительно 11 микросекунд  точность не устраивает  можно ли еще точнее (в нано секундах) ?. 

Можно.

Искать нужно в дебрях этого форума: ЕвгенийП дарил программу. И Dimax вроде бы частотомер делал.

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

vitalii13 пишет:

всем огромное спасибо. все работает,  но 45 кгц приблизительно 11 микросекунд  точность не устраивает  можно ли еще точнее (в нано секундах) ?. опять перечитал пол инета информации - ноль. немного от темы - беда современного интернета 90 процентов однотипной информации.  где это можно было найти самостоятельно? заранее спасибо. 

если точность 0,1 микросекунды устроит, можно на таймере сделать на библиотеке от ЕвгенийП

Kakmyc
Offline
Зарегистрирован: 15.01.2018

Точнее чем через аппаратный таймер не выйдет.
62.5нс+накладные расходы.
Но до работы с таймерами вам с таким подходом ещё лет 5 попрошайничества на форумах, да и то вряд ли дорастете