САМОВАР 
×
Меню

Примеры скриптов


Пример скрипта, который можно написать прямо в редакторе в веб-интерфейсе, он будет выполняться раз в секунду и при достижении температуры в кубе 70 градусов начнет включать/выключать устройство, подключенное к первому порту расширителя, а так же писать об этом в UART и в консоль браузера
 
if TankTemp > 70 then
  if exp_digitalRead(1) == 0 then
    exp_digitalWrite(1,1)
    print("Включено")
  else
    exp_digitalWrite(1,0)
    print("Выключено")
  end
end
 

Пример скрипта который читает аналоговый сигнал с 34 пина Самовара, и если он находится в диапазоне от 1000 до 2000, включает водяную помпу. Иначе - отключает ее. Скрипт пишется прямо в браузере, при сохранении сразу доступен для выполнения.
 
start_pump = getObject("start_pump", "NUMERIC") + 0 --получаем из ранее сохраненного объекта числовое значение и преобразуем в число
 
sensor = analogRead() --читаем аналоговое значение пина 34 (зарезервирован для lua)
--sensor = 1500
 
if sensor >= 1000 and sensor <= 2000 and start_pump == 0 then
   setObject("start_pump", 1) --сохраняем значение в объекте в памяти Самовара, чтобы его можно было использовать в следующем цикле запуска скрипта
   digitalWrite(4,1) --устанавливаем на 4 ноге высокий уровень
   print("Start pump") --[=[пишем в com-port. Так-же можно использовать команду sendMsg("Msg", Level). Если Level = -1, сообщение будет выведено в com-port и в консоль браузера, удобно для отладки.
                          Если Level 0,1,2 - сообщение отправляется в консоль]=]
   --sendMsg("Start pump",-1)                    
elseif sensor == 0 then
   setObject("start_pump", 0) --сохраняем значение в объекте в памяти Самовара, чтобы его можно было использовать в следующем цикле запуска скрипта
   if (start_pump == 1) then
     digitalWrite(4,0) --устанавливаем на 4 ноге низкий уровень
     print("Finish pump")
   end
end
 

Пример скрипта, который получает значение от аналогового датчика уровня и управляем насосом воды (например, для перекачки браги в куб):
 
start_pump = getObject("start_pump", "NUMERIC") + 0 --получаем из ранее сохраненного объекта числовое значение и преобразуем в число
 
sensor = analogRead() --читаем аналоговое значение пина 34 (зарезервирован для lua)
--sensor = 1500
 
if sensor >= 1000 and sensor <= 2000 and start_pump == 0 then
   setObject("start_pump", 1) --сохраняем значение в объекте в памяти Самовара, чтобы его можно было использовать в следующем цикле запуска скрипта
   digitalWrite(4,1) --устанавливаем на 4 ноге высокий уровень
   print("Start pump") --[=[пишем в com-port. Так-же можно использовать команду sendMsg("Msg", Level). Если Level = -1, сообщение будет выведено в com-port и в консоль браузера, удобно для отладки.
                          Если Level 0,1,2 - сообщение отрпавляется в консоль]=]
   --sendMsg("Start pump",-1)                    
elseif sensor == 0 then
   setObject("start_pump", 0) --сохраняем значение в объекте в памяти Самовара, чтобы его можно было использовать в следующем цикле запуска скрипта
   if (start_pump == 1) then
     digitalWrite(4,0) --устанавливаем на 4 ноге низкий уровень
     print("Finish pump")
   end
end