Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Generowanie przycisków w pętli wraz z funkcją dla każdego przycisku z osobna, Raspberry pi automatyka LED, oświetlenie LED PWM
sierpa
post
Post #1





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 17.11.2017

Ostrzeżenie: (0%)
-----


Witam serdecznie (to mój pierwszy post) (IMG:style_emoticons/default/smile.gif) )

Postanowiłem popełnić mały sterownik do terrarium oparty o raspberry PI . W pierwszej kolejności wziąłem się za oświetlenie LED.

Pierwsza część panelu działa (włączenie, wyłączenie dla koloru z osobna);
Raspberry posiada bibliotekę umożliwiającą sterowanie PWM z dowolnego pinu malinki.
Można uruchomić polecenie z terminala np. pigs p 16 100. Chciałem sterować zdalnie w/w funkcjonalnością.
Problem mam z dalszą częścią kodu.

Numery pinów oraz wartości wstawiłem do tablic:

$pin=ARRAY(16, 20, 21);
$jasnosc=ARRAY(0, 25, 50, 75, 100, 125, 150, 175, 200, 225, 250);

I mam dwie koncepcje:
Pierwsza:
1. (IMG:http://image.ibb.co/ivkiXm/LED1.jpg)
przy każdorazowym kliknięciu na dany button +/- 10 % wartość świecenia diody zmienia się z osobna dla każdego koloru. - Czy to jest w ogóle wykonalne? jak zrobić pętlę dla 3 buttonów? każdy kolor z osobna?(IMG:style_emoticons/default/questionmark.gif)

wersja nr 2 w tym momencie poglądowo:
(IMG:http://image.ibb.co/eU7DXm/LED2.jpg)

Czyli dla każdej wartości osobny button - łącznie 3x 10 buttonów.

Chciałem buttony wygenerować w pętli ze zmiennymi odnośnie pinów i jasności ale nie działa mi to.

for( $i = 0; $i <= 2; $i++ )
{
for( $j = 0; $j <= 10; $j++ )
{
echo " pigs p $pin[$i] $jasnosc[$j] <br>"; // echo podane testowo do sprawdzenia czy generuje mi poprawnie wartości , wszystkie wartości z tablicy jasność dla każdego elementu z tablicy pin

W jaki sposób mam teraz zrobić by do wygenerowanych w pętli wartości z tablic mogły być przyporządkowane buttony (IMG:style_emoticons/default/questionmark.gif) ?


echo '<form action="index2.php" method=post class="centruj">

<fieldset style="width:100px">
<legend>Zmiana tonu +10%</legend>
<button class="sciemniacz2"> + </button>
<input name="stan" value="'.$stan.'" type="hidden">
</fieldset>
</form>';



Widzę też jakąś nadzieję w metodzie submit:

<input type="submit" name="test1" value="akcja1">

gdzie potem wskazuję skrypt do wykonania dla pojedynczego submita - tylko że tu nie ma żadnej pętli i trzeba klepać z palca 30X to samo

if( isset($_POST['test1']) ){

shell_exec ('pigs p 20 100'); <- zależy mi na tym by dla każdego buttona były inne wartości polecenia shell_exec

}

Proszę o pomoc, mam nadzieję, iż naświetliłem problem.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
luniak
post
Post #2





Grupa: Zarejestrowani
Postów: 171
Pomógł: 36
Dołączył: 12.01.2008
Skąd: Puszcza Mariańska

Ostrzeżenie: (0%)
-----


JA tu widzę inny problem narazie (pętle i skrypt to pikuś)
Ale nie podałeś czy skrypt "wie" jaka jest aktualna jasność (IMG:style_emoticons/default/smile.gif) Więc nei da się zrobić + / - x
Przy takiej ilosci danych dało by się co najwyżej zrobić 3 kolumy po 11 przycisków.

  1. $colors = array(16=>"Red",20=>"Green",21=>"Blue");
  2. $pin=ARRAY(16, 20, 21);
  3. $jasnosc=ARRAY(0, 25, 50, 75, 100, 125, 150, 175, 200, 225, 250);
  4.  
  5. if(isset($_GET["setLight"])){
  6. $p = explode(";",$_GET["setLight"]);
  7. if(isset($colors[$p[0]]) && in_array($p[1],$jasnosc)){
  8. echo 'Executing: "shell_exec (\'pigs p '.$p[0].' '.$p[1].'\');"';
  9. //shell_exec ('pigs p '.$p[0].' '.$p[1].'');
  10. }
  11. }
  12.  
  13. echo '<form><table><tr>';
  14. foreach($colors as $p=> $c){
  15. echo '<td style="border: 1px solid black; margin: 10px; padding: 10px;">Color: '.$c.'<br />';
  16. foreach($jasnosc as $b => $v){
  17. echo '<button type="submit" value="'.$p.';'.$v.'" name="setLight">'.($b*10).'%</button><br />';
  18. }
  19. echo '</td>';
  20. }
  21. echo '</tr></table></form>';
  22.  

Działająca wersja: http://gameshub.eu/forumphp.php [oczywiście exec się nei wykonuje (IMG:style_emoticons/default/wink.gif) ]


A jak to sobie ostylujesz to już Twoja sprawa (IMG:style_emoticons/default/smile.gif)

Jeżeli byś miał metodę pobieranai aktualnej janość można by pokombinować i dodać te +/- 10% (IMG:style_emoticons/default/smile.gif)

Ten post edytował luniak 19.12.2017, 23:58:03
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 15.10.2025 - 20:53