Miniaturowa klawiatura USB do Raspberry Pi

Miniaturowa klawiatura USB do Raspberry Pi
Pobierz PDF Download icon

Klawiatura powstała z myślą o zastosowaniu w stacjonarnym odtwarzaczu multimediów opartym na Raspberry Pi i dystrybucję Openelec, co oczywiście nie wyczerpuje jej zastosowań. Po modyfikacji oprogramowania może służyć jako interfejs do obsługi kiosku informacyjnego i w wielu innych zastosowaniach, gdzie nie są potrzebne wszystkie 102 klawisze typowej klawiatury. Dodatkową cechą jest wbudowany odbiornik podczerwieni (RC5) umożliwiający sterowanie z większej odległości za pomocą standardowego pilota TV.

Schemat ideowy klawiatury pokazano na rysunku 1. Jest sercem jest mikrokontroler ATmega32U4 (U1) z wgranym bootloaderem Arduino Leonardo, co znacząco ułatwia dostosowanie aplikacji do własnych potrzeb przy wykorzystaniu wbudowanej biblioteki USB HID Keyboard oraz biblioteki IRremote.

Rysunek 1. Schemat ideowy miniaturowej klawiatury

Układ obsługuje 11 przycisków, odpowiedzialnych za kursor (LEFT, RIGHT, UP, DN, OK, ESC) oraz funkcje związanie z obsługa odtwarzacza (INFO, REV, FF, STOP, PLAY). Płytka zawiera odbiornik podczerwieni IR. Przyciski są dołączone bezpośrednio do wyprowadzeń U1. Interfejs USB jest doprowadzony do złącza USB SIP5, a stąd za pomocą typowego przewodu do portu USB urządzenia. Mikrokontroler U1 jest taktowany z użyciem rezonatora XT (16 MHz). Na płytce pozostawiono także dostęp do interfejsu szeregowego wyprowadzonego na złącze UART oraz zamontowano złącze programatora ISP i pomocniczą diodę świecącą LD. Złącze ISP może być wykorzystane po zaprogramowaniu układu jako dodatkowe GPIO do sterowania lub monitorowania układów współpracujących. Obwód R7/C9 umożliwia dołączenie masy układu do metalowej obudowy dla wyrównania potencjałów.

Klawiaturę zmontowano na niewielkiej, dwustronnej płytce drukowanej. Sposób montażu jest typowy i nie wymaga opisywania. Schemat montażowy płytki pokazano na rysunku 2.

Rysunek 2. Schemat montażowy miniaturowej klawiatury

Po poprawnym zmontowaniu konieczne jest zaprogramowanie ATmega32U4 bootloaderem. W tym celu za pomocą programatora np. STK500 wgrywamy plik z katalogu //hardware/arduino/avr/bootloaders/caterina/Leonardo-prod-firmware-2012-12-10.hex lub nowszy, jeżeli jest dostępny oraz ustawiamy fusebity: L=0xFF, H=0xD8, E=0xCB. Jeżeli wszystko przebiegło pomyślnie, w systemie pojawi się urządzenie Arduino Leonardo, do którego można wgrać załączony w materiałach szkic Media_PI_KBD.ino. Szkic realizuje funkcje sterujące Openeleca wymienione w tabeli 1.

Ze względu na ograniczoną liczbę przycisków, niektóre funkcje realizowane są „podwójnie”. Na przykład, kolejne naciśnięcia PLAY cyklicznie zmieniają funkcję Play/Pause, funkcja Page Up/Down jest realizowana po dłuższym przytrzymaniu klawiszy UP/DN. Przy współpracy z pilotem (w modelu pilot uniwersalny Marcus), do którego obsługi wykorzystana jest biblioteka IRremote autorstwa Kena Shirriffa (github.com) i po zdefiniowaniu dekodowanych kodów RC5, dostępnych jest więcej funkcji wywoływanych bezpośrednio, między innymi: płynne przewijanie, regulacja głośności. Szkic jest udostępniony w materiałach na ftp w wersji źródłowej i skompilowanej, i może być dostosowany do własnych potrzeb poprzez zmianę przyporządkowania przycisków i kodów RC5.

Adam Tatuś, EP

Wykaz elementów:
Rezystory:
  • R1, R7: 100 Ω (SMD 0805)
  • R2: 1 kΩ (SMD 0805)
  • R3, R4: 22 Ω (SMD 0805)
  • R5: 10 kΩ (SMD 0805)
  • R6: 2,2 kΩ (SMD 0805)
Kondensatory:
  • C1, C2: 10 µF (SMD 0805)
  • C3, C9: 0,1 µF (SMD 0805)
  • C4…C6: 1 µF (SMD 0805)
  • C7, C8: 22 pF (SMD 0805)
Półprzewodniki:
  • IR: TSOP4836 (odbiornik podczerwieni, Vcc=3 V)
  • LD: dioda LED SMD 0805
  • U1: ATmega32U4MU (QFN44)
Pozostałe:
  • ISP: złącze IDC6
  • UART: złącze SIP3
  • USB: złącze SIP5
  • XT: 16 MHz (rezonator kwarcowy SMD)
  • INFO, ESC, LEFT, RIGHT, UP, DN, FF, REV, PLAY, STOP, OK: przycisk PB6149 bez podświetlania
Artykuł ukazał się w
Elektronika Praktyczna
listopad 2016
DO POBRANIA
Pobierz PDF Download icon
Materiały dodatkowe
Elektronika Praktyczna Plus lipiec - grudzień 2012

Elektronika Praktyczna Plus

Monograficzne wydania specjalne

Elektronik listopad 2024

Elektronik

Magazyn elektroniki profesjonalnej

Raspberry Pi 2015

Raspberry Pi

Wykorzystaj wszystkie możliwości wyjątkowego minikomputera

Świat Radio listopad - grudzień 2024

Świat Radio

Magazyn krótkofalowców i amatorów CB

Automatyka, Podzespoły, Aplikacje październik 2024

Automatyka, Podzespoły, Aplikacje

Technika i rynek systemów automatyki

Elektronika Praktyczna listopad 2024

Elektronika Praktyczna

Międzynarodowy magazyn elektroników konstruktorów

Elektronika dla Wszystkich listopad 2024

Elektronika dla Wszystkich

Interesująca elektronika dla pasjonatów