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.

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. 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 (https://goo.gl/b7qLcY) 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

 

 

Artykuł ukazał się w
Elektronika Praktyczna
listopad 2016
DO POBRANIA
Pobierz PDF Download icon
Materiały dodatkowe
Zobacz też
Elektronika Praktyczna Plus lipiec - grudzień 2012

Elektronika Praktyczna Plus

Monograficzne wydania specjalne

Elektronik styczeń 2020

Elektronik

Magazyn elektroniki profesjonalnej

Raspberry Pi 2015

Raspberry Pi

Wykorzystaj wszystkie możliwości wyjątkowego minikomputera

Świat Radio styczeń 2020

Świat Radio

Magazyn użytkowników eteru

APA - Automatyka Podzespoły Aplikacje styczeń 2020

APA - Automatyka Podzespoły Aplikacje

Technika i rynek systemów automatyki

Elektronika Praktyczna styczeń 2020

Elektronika Praktyczna

Międzynarodowy magazyn elektroników konstruktorów

Praktyczny Kurs Elektroniki 2018

Praktyczny Kurs Elektroniki

24 pasjonujące projekty elektroniczne

Elektronika dla Wszystkich styczeń 2020

Elektronika dla Wszystkich

Interesująca elektronika dla pasjonatów