Forum Smart'ny Dom

rules w easyesp
 

rules w easyesp  

  RSS
bartezzz
(@bartezzz)
Młodzik

Witam serdecznie.

szybkie pytanie, troche utknąłem z komendami w rules.

chcialbym uzyskać efekt przemieszczania sie swiatła (tasma rgb adresowalna) wzgledem odczytow z czujnika hc-sr04. co prawda nie mam jeszcze czujnika , czekam az majfriendy dosla, napisalem narazie komende uruchamiajaca nie wiem nawet czy to w ten sposob zadziala i czy w komende neopixel mozna wpisac takie dzialanie matematyczne ponizej jak to wyglada:

on HCSR04#distance do
if [HCSR04#distance]<300 and [HCSR04#distance]>1

neopixelline,[HCSR04#distance]/1,67-5,[HCSR04#distance]/1,67+5,70,70,70
neopixel,[HCSR04#distance]/1.67,255,255,255

 

w ramach wyjasnienia sonar mierzy odleglosc ktora maksymalnie wynosi 300 cm (dlugosc schodow) minimalnie bedzie to 2 cm. w momencie wejscia na pierszy stopien  poiwnny zapalic sie jedna dioda na 100% jasnosci oraz 5 diod w przod i 5 diod w tyl z jasnoscia okolo 30%. odleglosc miedzy diodami na tasmie wynosi okolo 1,67 cm ( przy takiej wartosci wylicza to najblizej preferowanej diody)

pytanie nr1 czy komenda neopixel pozwoli na takie okreslenie numeru diody ? 

jesli tak nie mozna tego wpisac to jaka propozycja jak to zrobic inaczej ? nie chce pisac tego dla kazdego stopnia osobno przypisujac okreslone diody do odleglosci sensora, w tym przypadku nie starczy mi te 2048 znakow w rules. 

pytanie nr 2, jesli ma to szanse zadzialac z takimi komendami , jak teraz te diody ktore sie wlacza wylaczyc po np 15 sekundach, jesli wciaz bede sie przemieszczac bo schodach i nie moge wylacz diod podobna komenda ustawioną na 0,0,0 ? 

 

pozdrwiam! 

 

 

Zdążyłem przeprowadzić parę prób zmienić  co nieco zatem co następuje:

Komenda 

neopixelline,[HCSR04#distance]/1,67-5,[HCSR04#distance]/1,67+5,70,70,70
neopixel,[HCSR04#distance]/1.67,255,255,255

Żadna z nich nie bardzo chce działać z takimi wpisami 

Zatem dodałem kolejny czujnik hc-sr04 nazwany numerled który w polu value wykonuje obliczenie distance/1.67

Komenda wygląda tak:

Neopixel[numerled#distance],255,255,255 

Dziala ok , po obliczeni włącza odpowiednią diodę.

Ale w przypadku komendy z zakresem neopixelLine , mam teraz dodać dwa kolejne sensory które policzą mi zakres pięć diod w przód i w tył ? CHcialem użyć dummy device do tego ale tam odrzuca mi wszelkie działania typu +-/*

 

Cytuj
Dodane : 06/11/2019 11:41 am
bartezzz
(@bartezzz)
Młodzik

widze że cięzko o jakąkolwiek pomoc, nawet typu stary ale to zje@#$%ś!

no dobrze to moze inaczej zapytam , 

Aktualnie z braku porad udało mi sie samemu wykorzystac dummy device do przechowania trzech wartosci , ktore są mi potrzebne, plik rules wyglada nastepująco:

On HCSR04#distance do

if [hcsr04#distance]>0

TaskValueSet 1,1,[hcsr04#Distance]/1.67   //wartosc dummy device 1 i obliczanie diody centralnej na stopniu
taskvalueset 1,2,[numerled#1]-5      //obliczanie pieciu diod w dół od centralnej
taskvalueset 1,3,[numerled#1]+5     // obliczanie pieciu diod w gore od centralnej
neopixelline,[numerled#2],[numerled#3],120,120,120     //zapalanie linii diod od do na 50 procent jasnosci
neopixel,[numerled#1],250,250,250      //zapalanie centralenj diody stopnia na 100 procent
timerset 1,5
delay 300
endif
endon

 

teraz może ktoś doraddzić , jak wykonać, co trzeba by wpisać  , w momencie jak odczyt wartosci hcsr04 sie zmieni, ale po tej zmianie nadal chcialbym sie odniesc do poprzednich wartosci w celu wylaczenia diod?

pomoże, ktoś, coś, jakaś podpowiedź była by mile widziania , 

 

pozdrawiam

OdpowiedzCytuj
Dodane : 07/11/2019 9:50 pm
Udostępnij:



Udostępnij
  • 1
    Share

Proszę Zaloguj Się lub Zarejestruj