Podstawowym celem poniższego projektu, jest umożliwienie połączenia cyfrowej suwmiarki do komputera, w celu sprzęgnięcia jej np. z SketchUpem czy innym oprogramowaniem CAD. Przedstawione urządzenie wyposażone jest w trzy przyciski, pozwalające na wysyłanie informacji z wymiarami do komputera, co pozwala na wprowadzanie w ten sposób wartości do oprogramowania do projektowania.
Potrzeba stworzenia tego rodzaju układu, pojawiła się podczas używania SketchUpa. Gdy autor wykorzystywał go do projektowania elementów, konieczne było częste przepisywanie wartości zmierzonej z pomocą suwmiarki do programu. Wykorzystanie tego urządzenia pozwala ominąć konieczność przepisania wartości - wystarczy jedno naciśnięcie przycisku, aby przesłać wartość do komputera.
Projekt ten oparty jest o moduł Trinket Pro - niewielką, kompatybilną z Arduino płytkę rozwojową, która wyposażona jest w interfejs USB HID. Wykorzystano interfejs klawiaturowy - tak właśnie widzi to urządzenie komputer. Kontrola nad urządzeniem po stronie PC oparta jest o standardowe sterowniki klawiatury, więc nie jest konieczne instalowanie żadnych programów na PC.
Układ posiada też możliwość podstawowego przetwarzania wartości odczytanej z suwmiarki. Zamiast podawać bezpośrednio wartość do PC, może on dodać na końcu jedną z zdefiniowanych wartości:
[Enter] - pozwala od razu zatwierdzić podaną wartość w programie, zdecydowanie najczęściej używany klawisz.
[ , ] - przydatne przy wprowadzaniu kolejnych wartości w wyrażeniu, np. podczas rysowania prostokąta.
[/] [2] [Enter] - zestaw znaków wykorzystywany do rysowania okręgów. Suwmiarka mierzy średnice, a SketchUp wymaga podawania promienia, dlatego też przed znakiem Enter znajduje się dzielenie wartości na pół.
Elementy
1× Trinket Pro
2× Tranzystor FETs, np. ROHM RUE002N02
3× Przełącznik typu microswitch np. Panasonic EVQ-PAG07K
1× Złącze 2x3 pin, np.TE 193277-1 - zależne od kształtu złącza interfejsu w suwmiarce
1× Obudowa dla modułu
1× Taśma kablowa
1× PCB Interfejsu, Adafruit 1230
1× Dioda 1N4148
Interfejs cyfrowy do suwmiarki
Suwmiarka, jaką wybrano do projektu, to typowa tania suwmiarka, jaką można kupić w każdym markecie. Są to produkty OEM produkowane dla wielu firm, więc większość dostępnych suwmiarek powinna być kompatybilna. Mogą się one różnić detalami wyglądu, ale kształt obudowy modułu elektroniki i rozkład przycisków powinny być takie same.
W sieci autorowi udało znaleźć się pewne informacje na temat interfejsu, jednakże przeprowadził testy. Informacje nadawane są w postaci 4 bitowych serii danych (być może układ ma 4 bitowy procesor?).
Instrukcje budowy
Krok 1: Translator poziomów do komunikacji z suwmiarką
Wyjście suwmiarki pracuje z napięciem od 0 V do 1,5 V, zatem konieczny jest translator poziomów napięć do wartości kompatybilnej z 3 V lub 5 V, zależnie od wersji modułu Trinket, jaki się wykorzystuje. Poniżej zaprezentowano schemat translatora na dwóch tranzystorach FET.
Jako PCB wykorzystano płytkę Adafruit, zmodyfikowaną kilkoma drucikami. Złącze sprężynowe pozwala na podłączenie tego modułu, bez konieczności wprowadzania modyfikacji w suwmiarkę.
Krok 2: Montaż całego urządzenia
Wszystkie elementy dobrze pasują do obudowy, więc nie trzeba używać nawet kleju czy innej metody montażu modułu czy przycisków w obudowie. Do modułu dodano diodę łączącą punkt D5 i rezystor podciągający USB. Obudowa wykonana została z opakowania po gumie do żucia, a otwory wycięto zwykłym nożem tapicerskim.
Krok 3: Biblioteki V-USB i drobne zmiany w usbconfig.h
Pobierz bibliotekę z https://code.google.com/p/vusb-for-arduino/...
... i zaimportuj ją do Arduino IDE. Następnie konieczne jest wprowadzenie kilku drobnych zmian w pliku usbconfig.h Poniżej pokazano zmodyfikowaną bibliotekę:
Krok 4: Program
Program pozwala na odczyt wartości wysyłanej z suwmiarki i przesłanie jej do komputera poprzez USB, wraz z opisywanym powyżej dodawaniem znaków. Potrzebne jest jeszcze trochę pracy nad poniższym programem - brakuje obsługi przycisków, pozwalającej na uniknięcie podwójnego wysłania wartości, konwersji jednostek i ogólnego debuggowania kodu. Ale działa!
Źródło: https://hackaday.io/project/3745-usb-caliper-hid
Potrzeba stworzenia tego rodzaju układu, pojawiła się podczas używania SketchUpa. Gdy autor wykorzystywał go do projektowania elementów, konieczne było częste przepisywanie wartości zmierzonej z pomocą suwmiarki do programu. Wykorzystanie tego urządzenia pozwala ominąć konieczność przepisania wartości - wystarczy jedno naciśnięcie przycisku, aby przesłać wartość do komputera.
Projekt ten oparty jest o moduł Trinket Pro - niewielką, kompatybilną z Arduino płytkę rozwojową, która wyposażona jest w interfejs USB HID. Wykorzystano interfejs klawiaturowy - tak właśnie widzi to urządzenie komputer. Kontrola nad urządzeniem po stronie PC oparta jest o standardowe sterowniki klawiatury, więc nie jest konieczne instalowanie żadnych programów na PC.
Układ posiada też możliwość podstawowego przetwarzania wartości odczytanej z suwmiarki. Zamiast podawać bezpośrednio wartość do PC, może on dodać na końcu jedną z zdefiniowanych wartości:
[Enter] - pozwala od razu zatwierdzić podaną wartość w programie, zdecydowanie najczęściej używany klawisz.
[ , ] - przydatne przy wprowadzaniu kolejnych wartości w wyrażeniu, np. podczas rysowania prostokąta.
[/] [2] [Enter] - zestaw znaków wykorzystywany do rysowania okręgów. Suwmiarka mierzy średnice, a SketchUp wymaga podawania promienia, dlatego też przed znakiem Enter znajduje się dzielenie wartości na pół.
Elementy
1× Trinket Pro
2× Tranzystor FETs, np. ROHM RUE002N02
3× Przełącznik typu microswitch np. Panasonic EVQ-PAG07K
1× Złącze 2x3 pin, np.TE 193277-1 - zależne od kształtu złącza interfejsu w suwmiarce
1× Obudowa dla modułu
1× Taśma kablowa
1× PCB Interfejsu, Adafruit 1230
1× Dioda 1N4148
Interfejs cyfrowy do suwmiarki
Suwmiarka, jaką wybrano do projektu, to typowa tania suwmiarka, jaką można kupić w każdym markecie. Są to produkty OEM produkowane dla wielu firm, więc większość dostępnych suwmiarek powinna być kompatybilna. Mogą się one różnić detalami wyglądu, ale kształt obudowy modułu elektroniki i rozkład przycisków powinny być takie same.
W sieci autorowi udało znaleźć się pewne informacje na temat interfejsu, jednakże przeprowadził testy. Informacje nadawane są w postaci 4 bitowych serii danych (być może układ ma 4 bitowy procesor?).
Instrukcje budowy
Krok 1: Translator poziomów do komunikacji z suwmiarką
Wyjście suwmiarki pracuje z napięciem od 0 V do 1,5 V, zatem konieczny jest translator poziomów napięć do wartości kompatybilnej z 3 V lub 5 V, zależnie od wersji modułu Trinket, jaki się wykorzystuje. Poniżej zaprezentowano schemat translatora na dwóch tranzystorach FET.
Jako PCB wykorzystano płytkę Adafruit, zmodyfikowaną kilkoma drucikami. Złącze sprężynowe pozwala na podłączenie tego modułu, bez konieczności wprowadzania modyfikacji w suwmiarkę.
Krok 2: Montaż całego urządzenia
Wszystkie elementy dobrze pasują do obudowy, więc nie trzeba używać nawet kleju czy innej metody montażu modułu czy przycisków w obudowie. Do modułu dodano diodę łączącą punkt D5 i rezystor podciągający USB. Obudowa wykonana została z opakowania po gumie do żucia, a otwory wycięto zwykłym nożem tapicerskim.
Krok 3: Biblioteki V-USB i drobne zmiany w usbconfig.h
Pobierz bibliotekę z https://code.google.com/p/vusb-for-arduino/...
... i zaimportuj ją do Arduino IDE. Następnie konieczne jest wprowadzenie kilku drobnych zmian w pliku usbconfig.h Poniżej pokazano zmodyfikowaną bibliotekę:
Kod: C / C++
Krok 4: Program
Program pozwala na odczyt wartości wysyłanej z suwmiarki i przesłanie jej do komputera poprzez USB, wraz z opisywanym powyżej dodawaniem znaków. Potrzebne jest jeszcze trochę pracy nad poniższym programem - brakuje obsługi przycisków, pozwalającej na uniknięcie podwójnego wysłania wartości, konwersji jednostek i ogólnego debuggowania kodu. Ale działa!
Kod: C / C++
Źródło: https://hackaday.io/project/3745-usb-caliper-hid
Fajne? Ranking DIY
