Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [skrypt]Sterowanie diodą LED w PHP
xxdrago
post
Post #1





Grupa: Zarejestrowani
Postów: 654
Pomógł: 42
Dołączył: 27.07.2010
Skąd: Jaworzno

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


Witam, dzisiaj chciałem pokazać , że php nie służy tylko do tworzenia stron.
Lubie się bawić więc z małą pomocą znajomego stworzyłem sobie skrypt w php którym steruję diodą LED.
Całość jest oparta o CDC-IO (LINK).

Funkcje:
  • Zapal/Zgaś
  • Miganie diody LED (Wolne)
  • Miganie diody LED (Szybkie)
  • Miganie diody LED (Bardzo Szybkie)


Chciałem też dodać , że ta jedna dioda to jest przykład można podpiąć pod to 10 diod i nimi sterować, można też np. gasić światło w pokoju będąc 500km od domu.
Czego tylko człowiek zapragnie (IMG:style_emoticons/default/smile.gif)

Udostępniam skrypt nie jest on napisany jakoś optymalnie, jest tylko przykładem jak to wygląda.
(Mogłem w sumie napisać ładnie funkcje (IMG:style_emoticons/default/biggrin.gif) )

KOD:
  1. <?php
  2. ?>
  3. <form name="post" action="index.php" method="POST">
  4. <?php
  5. include("php_serial.class.php");
  6. $serial = new phpSerial();
  7. $serial->deviceSet("COM8:");
  8. $serial->confBaudRate(115200);
  9. $serial->confParity("none");
  10. $serial->confCharacterLength(8);
  11. $serial->confStopBits(1);
  12. $serial->confFlowControl("none");
  13.  
  14. if ($_SESSION['dane'] == 'zapalona') {
  15. echo '
  16. <input type="submit" name="opcja_1" value="Zgas"><br>';
  17. }
  18. if ($_SESSION['dane'] == '') {
  19. echo '
  20. <input type="submit" name="opcja_2" value="Zapal"><br>
  21. <form name="post" action="index.php" method="POST">';
  22. }
  23.  
  24. if ($_POST['opcja_1']) {
  25. $serial->deviceOpen();
  26. $serial->sendMessage("ff ddrb =\r");
  27. usleep(2000);
  28. $serial->sendMessage("00 portb =\r");
  29. $_SESSION['dane'] = '';
  30. header('Location: index.php');
  31. }
  32. if ($_POST['opcja_2']) {
  33. $serial->deviceOpen();
  34. $serial->sendMessage("ff ddrb =\r");
  35. usleep(2000);
  36. $serial->sendMessage("01 portb =\r");
  37. $_SESSION['dane'] = 'zapalona';
  38. header('Location: index.php');
  39. }
  40. if ($_POST['opcja_3']) {
  41. $serial->deviceOpen();
  42. $serial->sendMessage("ff ddrb =\r");
  43. usleep(2000);
  44. for ($i = 1; $i <= 5; $i++) {
  45. $serial->sendMessage("01 portb =\r");
  46. usleep(1000000);
  47. $serial->sendMessage("00 portb =\r");
  48. usleep(1000000);
  49. }
  50. header('Location: index.php');
  51. $serial->deviceClose();
  52. }
  53. if ($_POST['opcja_4']) {
  54. for ($i = 1; $i <= 5; $i++) {
  55. $serial->deviceOpen();
  56. $serial->sendMessage("ff ddrb =\r");
  57. usleep(2000);
  58. $serial->sendMessage("01 portb =\r");
  59. usleep(500000);
  60. $serial->sendMessage("00 portb =\r");
  61. usleep(500000);
  62. }
  63. header('Location: index.php');
  64. $serial->deviceClose();
  65. }
  66. if ($_POST['opcja_5']) {
  67. $serial->deviceOpen();
  68. $serial->sendMessage("ff ddrb =\r");
  69. usleep(2000);
  70. for ($i = 1; $i <= 30; $i++) {
  71. $serial->sendMessage("01 portb =\r");
  72. usleep(100000);
  73. $serial->sendMessage("00 portb =\r");
  74. usleep(100000);
  75. }
  76. header('Location: index.php');
  77. $serial->deviceClose();
  78. }
  79.  
  80. ?>
  81. <input type="submit" name="opcja_3" value="Miganie diody LED (Wolne)"><br>
  82. <input type="submit" name="opcja_4" value="Miganie diody LED (Szybkie)"><br>
  83. <input type="submit" name="opcja_5" value="Miganie diody LED (Bardzo Szybkie)"><br>
  84. </form>


żeby całość chodziło wymagana jest klasa: PHP SERIAL

A tutaj przykładowy filmik jak to wygląda:
http://youtu.be/X8CEi_AFMlo

Wiem, że jakość filmu jest do "dupy" w najbliższym czasie pojawi się ładny filmik w HD (IMG:style_emoticons/default/smile.gif)

Ten post edytował xxdrago 9.02.2012, 19:00:35
Go to the top of the page
+Quote Post

Posty w temacie
- xxdrago   [skrypt]Sterowanie diodą LED w PHP   9.02.2012, 18:59:11
- - strife   No no gratuluje pomysłu, fajnie to wygląda To te...   9.02.2012, 19:07:57
- - xxdrago   hehe, miało być tak jak ty mówisz ale miałem małe ...   9.02.2012, 19:14:15
- - TheSnake   Przecież to inny program tym steruje, a Ty z PHP t...   9.02.2012, 19:38:19
- - xxdrago   Ja z poziomu php wysyłam komendy do Atmegi , wiem...   9.02.2012, 19:39:57
- - #luq   Fajny pomysł, tylko dużo łatwiej byłoby sterować z...   9.02.2012, 21:05:44
- - Damonsson   Noo muszę przyznać, że świetny pomysł, może jakiś ...   9.02.2012, 22:13:33
- - toaspzoo   Co do nowych postów to można przecież porównywać z...   11.02.2012, 12:19:44
- - mls   Od siebie dodam, że do obsługi komunikacji z porta...   11.02.2012, 14:20:17
|- - !*!   Cytat(mls @ 11.02.2012, 14:20:17 ) na...   11.02.2012, 20:52:04
||- - mls   Cytat(!*! @ 11.02.2012, 20:52...   15.02.2012, 12:35:25
|- - cepa   Cytat(mls @ 11.02.2012, 15:20:17 ) Ni...   14.02.2012, 23:46:02
|- - Spawnm   Cytat(cepa @ 14.02.2012, 23:46:02 ) a...   20.02.2012, 20:46:18
- - xxdrago   Ja dałem, przykład z diodą znajomy zrobił sobie co...   15.02.2012, 20:04:10
|- - Fifi209   Cytat(xxdrago @ 15.02.2012, 20:04:10 ...   20.02.2012, 21:25:19
- - Speedy   Wielkiej filozofii nie ma. Wysyłasz komendę na por...   15.02.2012, 22:28:05
- - pisii35   Na mnie też jakoś to wielkiego wrażenia nie zrobił...   16.02.2012, 20:11:45
- - corran_horn   bardzo ciekawy pomysł   20.02.2012, 20:29:24
- - piotrooo89   u nas w firmie sterujemy wiatrakiem za pomocą php ...   21.02.2012, 15:09:52
|- - xxdrago   Cytat(piotrooo89 @ 21.02.2012, 15:09...   21.02.2012, 15:40:32
|- - Orzeszekk   Cytat(xxdrago @ 21.02.2012, 15:40:32 ...   21.02.2012, 21:26:47
- - gothye   ja dla odmiany 2 lata temu popełniłem stację meteo...   23.02.2012, 17:35:32
- - Fifi209   Sam zrobiłeś obudowę do tego serwera? I z ciekawoś...   23.02.2012, 17:51:26
- - gothye   Obudowa serwera jest fabryczna Fractal Design Arra...   23.02.2012, 18:11:54
- - Fifi209   No jestem pod wrażeniem, a te kontaktrony normalni...   23.02.2012, 19:03:56
- - gothye   Wewnątrz budynku wszytko wykonane jest przewodowo ...   23.02.2012, 19:13:01
- - Fifi209   Powiem Ci imponujesz mi Sam najchętniej bym WSZYS...   23.02.2012, 19:47:01
|- - xxdrago   Cytat(Fifi209 @ 23.02.2012, 19:47:01 ...   27.02.2012, 20:29:26
- - Fifi209   A mógłbyś zarzucić jakimś linkiem? Szczerze nie ma...   27.02.2012, 22:17:49
- - gothye   zakładając że sterujesz z USB np za pomoca FT232 =...   27.02.2012, 23:24:14
- - Fifi209   @up Wcale nie interesuje mnie sterowanie za pomocą...   27.02.2012, 23:27:41
- - gothye   więc powyższy przykład można potraktować dowolnym ...   28.02.2012, 09:37:38
- - xxdrago   Fifi209, ogólnie to w Google jest trochę tego... T...   28.02.2012, 16:19:31
|- - gothye   Cytat(xxdrago @ 28.02.2012, 16:19:31 ...   13.03.2012, 21:00:31
- - mls   Skoro już tak się chwalimy swoim "hardware...   29.02.2012, 01:01:46
- - marcio   CytatJa aktualnie mam zamiar zrobić wyświetlaczu p...   13.03.2012, 23:21:06
- - piterek-23   -> gothye Czy poprzez moduł GSM da się sterow...   19.04.2012, 17:08:11
|- - Fifi209   Cytat(piterek-23 @ 19.04.2012, 18:08...   19.04.2012, 21:31:23
|- - gothye   Cytat(piterek-23 @ 19.04.2012, 18:08...   20.04.2012, 19:31:35
|- - piterek-23   Cytat(gothye @ 20.04.2012, 20:31:35 )...   22.04.2012, 20:49:28
- - gothye   U mnie bramka SMS na SIM300 połączona jest z reszt...   22.04.2012, 21:22:27


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: 23.08.2025 - 13:06