Я учусь писать скрипт lua и пытаюсь написать простой скрипт.
По сути, мне нужно посчитать, сколько раз светодиодная вспышка.Если интервал между вспышками больше, чем, скажем, одна секунда, мы складываем счетчик и показываем сообщение, соответствующее тому, сколько раз светодиодная вспышка.
Проще говоря, светодиодная вспышка один, два, три раза,затем останавливаемся на 1 секунду, мы печатаем счетчик как 3, и показываем сообщение «мигать 3 раза».Если он останавливается дольше 1 секунды, мы сбрасываем счетчик.
Это то, что я имею до сих пор
-------------------------------------------------------
-- Function ReadADC1
-- read raw value and transform to value of power of 10.
-- This is not nessasrily if we know the raw value of threshhold
-------------------------------------------------------
function ReadADC1()
local adc_voltage_value = 0
adc_voltage_value = tonumber(adc.readadc()) * 2 -- 0.10 --get dec number out of this -- need to know where package adc come from
--convert to voltage
adc_voltage_value = adc_voltage_value *0.000537109375 --get V
adc_voltage_value = math.floor(adc_voltage_value *1000 +0.5) --since number is base off resolution
--print (adc_voltage_value,"\r\n")
return adc_voltage_value
end
-- end of readADC1() TESTED
------------------------
-- function counter()
-- count how many time led flashing when knowing threshhold of voltage to be on
ledCounter = 0 --initialized
-----------------------
function counter()
local t1 = os.clock()
while (ReadADC1()>48) do
local t2 = os.clock()
local dt = t2 - t1
t1 = t2
local ledValue = ReadADC1()
if ( ((ReadADC1() >= OnThreshHold) and (dt<0.4)) or ((ReadADC1() < OnThreshHold) and (dt<0.1))) then-- if led is off for more than 1 second
ledCounter = ledCounter + 1
vmsleep(10)
else
ledCounter = 0
end
--print (ledValue,"\r\n")
end
--vmsleep(1000)
--print(ledCounter,"\r\n")
return ledCounter
end
Эта работа, но не надежная, так как я моделирую светодиодную вспышку с Arduino.Он работает только для 3 вспышек, но не работает для других номеров.
Любые предложения или исправления приветствуются