Proste sterowanie pilotem

Proste sterowanie pilotem
Razem głosów: 16 co stanowi: 78.75% całości.

viewlogou

Wiele dzisiejszych aplikacji chcemy stworzy? zdalnie sterowanych czy to przez radio, BT czy najpro?ciej pilotem IR.  Najprostsze s? i najbardziej rozpowszechnione piloty pracuj?ce w systemie RC5 ponadto s? TANIE  i ?atwo dost?pne.

W naszym przyk?adzie (bo takie by?y pytania)  postawimy  proste sterowanie RC5 przy pomocy standardowego pilota TV dost?pnego w handlu za ok. 10 Pln. o wszystko mówi?cej nazwie  RC 5 – Bp X

big_1299941750PILO-2127

Pomocny dla nas te? b?dzie odbiornik IR np. u?yty przeze mnie TSOP31236 pracuj?cy w cz?stotliwo?ci 36Khz czyli RC5 :

tsop31236

firmy Vishay.  Nota uk?adu: http://www.kamami.pl/dl/tsop31236_ds.pdf

Oraz oczywi?cie p?ytka  xxxDuino. np. SunDuino. Ja sobie u?yj? mojego 1.7 :) ale mo?e by? to cokolwiek zgodne z Arduino.

W tym przyk?adzie b?dziemy sobie sterowa? 3 diodami LED które pod??czamy do pinów D2, D3 i D4  oraz do +5V przez rezystory 220om. Ja si? pos?u?? diod? RGB. Schemat wygl?da nast?puj?co:

arduino_led2-300

Jest prosty i nie wymaga t?umaczenia, teraz pod??czymy naszego TSOPA do SunDuino:

tsop schematic

Gdzie nasz Arduino Pin to  D12, i oczywi?cie ten schemat te? nie wymaga omówienia, a kolejno?? pinów TSOP odczytujemy z noty uk?adu.

Gdy ju? wszystko pod??czyli?my pora napisa? program odczytuj?cy kody pilota by ustali? jakie s? kody interesuj?cych nas klawiszy:

Jak widzicie program jest prosty i u?ywa popularnej biblioteki IRremote któr? mo?na pobra? z tego linku:

https://codeload.github.com/shirriff/Arduino-IRremote/zip/master

Dzi?ki temu programowi ustalimy kody klawiszy pilota które nas interesuj? a s? nimi klawisze 1,2,3 i OFF. Po wgraniu do Duino naszego programiku w terminalu Arduino odczytujemy kody które dla naszych klawiszy to odpowiednio:

1 = 0x801, 2 = 0x802, 3 = 0x803 oraz OFF = 0x80C

s? one te? przedstawiane jako kody 0x1, 0x2, 0x3, 0xC co wida? w terminalu, jest to drugie naci?niecie klawisza my u?yjemy kodów 1,2,3,C w tej chwili:

Przechwytywanie

 

Teraz kiedy znamy ju? kody naszych klawiszy mo?emy napisa? prosty program steruj?cy naszymi diodami LED, w tym celu oczywi?cie u?yjemy biblioteki IRremote oraz instrukcji Switch .. CASE które s? stworzone do takich prostych zada? .

 

Kod programu jest prosty i nie wymaga omówienia, a dzia?anie programu jak wida?  te? mianowicie klawiszami pilota 1,2,3 w??czamy poszczególne diody LED, a klawiszem OFF gasimy wszystkie :) Oczywi?cie zgodnie z naszym oczekiwaniem program reaguje na drugie naci?niecie przycisku na pilocie.

Program mo?na bardzo prosto przystosowa? do innych zada?, ja niejako z lenistwa pos?u?y?em si? TSOP-em zamontowanym na ATB :) , a tak wygl?da efekt dzia?ania :

Natomiast je?li do kodu wprowadzimy instrukcje CASE dla 1 kodu klawisza czyli  801, 802,803 to  1 naci?ni?cie klawisza za?wieci diod? , a drugie j? zgasi … nasz kod po przeróbce wygl?da nast?puj?co:

jak widzicie wiele si? nie zmieni?o , ale zmieni?o si? diametralnie dzia?anie naszego programu  co wida? poni?ej:

 Tym samym prostym sposobem mo?emy zrobi? sterowan? pilotem lampk? RGB  gdzie b?dziemy sobie regulowa? nasycenie (jasno??) ka?dej z diodek R/G/B  poprzez pilota co w kodzie wygl?da nast?puj?co:

A tak sie prezentuje  efekt dzia?ania programu:

 

Oczywi?cie jest to najprostsze mo?liwe sterowanie RC5 w przypadku Arduino i nie jest ono doskona?e , a te? mo?na zrealizowa? je na kilkaset sposobów niemniej  mam nadziej? ?e zainspiruje was do dzia?ania.

efekt ko?cowy ?:

Ze zmian to rezygnacja z diody RGB , a zainstalowanie 4rech LED  UltraBright w kolorach  – Bia?ym, czerwonym, zielonym i niebieskim

Mi?ego sterowania czym popadnie, pilotami :)

Podziel się na:
  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • Blogplay