
Model: Pro Micro (ATmega32U4) tabanlı • Tuş sayısı: 6 • Sürüm: v1.0 • Tarih: 22.09.2025
Varsayılan Tuş Atamaları (Windows):
2 =Ses +, 3 =Ses −, 4= Oynat/Duraklat, 5= Hesap Makinesi, 6= Ekran Görüntüsü (Win+Shift+S), 7=Tarayıcı Aç (google.com)
1) Güvenlik ve Uyarılar
- Ürünü yalnızca USB üzerinden bilgisayara bağlayın. Aşırı akım veren USB hub’lardan kaçının.
- Sıvı, nem, toz ve statik elektrikten koruyun. ESD (statik) boşalması elektronik bileşenlere zarar verebilir.
- Makro komutları oturum açma ekranı veya yönetici (UAC) pencereleri üzerinde çalışmayabilir. Bu durum işletim sistemi güvenlik kısıtları ile ilgilidir.
- Makrolar otomatik yazı/tuş basışı içerdiği için kritik alanlarda (şifre alanları vb.) dikkatli kullanın.
2) Kutu İçeriği
- 1× Isotronic MacroPad (6 tuş)
3) Sistem Gereksinimleri
- Windows 10/11, macOS 11+ veya modern bir Linux dağıtımı
- Boş USB‑A portu
- Yazılım güncelleme ve programlama için Arduino IDE 2.x
4) Hızlı Başlangıç (Tak‑Çalıştır)
- Cihazı USB’ye takın. İşletim sistemi klavye olarak görür.
- Aşağıdaki varsayılan atamalar aktif gelir:
- D2: Ses Aç
- D3: Ses Kıs
- D4: Oynat/Duraklat
- D5: Hesap Makinesi (Win+R →
calc) - D6: Ekran Görüntüsü aracı (Win+Shift+S)
- D7: Tarayıcı Aç (varsayılan tarayıcıda
https://google.com)
- Tuşa basarak hemen kullanmaya başlayın.
Not: macOS ve Linux’ta ekran görüntüsü/uygulama çağırma kısayolları farklıdır (bkz. Bölüm 8: Platforma Özel Kısayollar).
5) Donanım Özeti
- Mikrodenetleyici: ATmega32U4 (doğal USB HID)
- Tuşlar: 6 adet (pinler: D2, D3, D4, D5, D6, D7)
- Bağlantı: USB HID (Klavye + Consumer Control)
- Kütüphane: HID‑Project (NicoHood)
6) Tek Dosya – Kopyala/Yapıştır
Kullanıcılar için tek dosya hâline getirildi. Aşağıdaki skeci aynen kopyalayıp Arduino IDE’ye yapıştırın ve karta yükleyin.
#include <HID-Project.h>
#include <HID-Settings.h>
// 6 buton pini: 2=Ses+, 3=Ses-, 4=Play/Pause, 5=Hesap Makinesi,
// 6=Ekran Görüntüsü (Win+Shift+S), 7=Tarayıcı Aç (Edge→Google)
const uint8_t BTN_PINS[6] = {2, 3, 4, 5, 6, 7};
uint8_t prevState[6];
const unsigned long debounceMs = 25;
// Tarayıcı seçimi: Edge varsayılan. Chrome için alttaki satırı aç.
#define USE_EDGE 1
// #define USE_CHROME 1
// Tarayıcının açılıp odaklanması için bekleme (ms)
const unsigned long BROWSER_LAUNCH_DELAY_MS = 800; // 400–1200 deneyin
// --- Yardımcılar ---
void pressWinR() {
Keyboard.press(KEY_LEFT_GUI);
Keyboard.press('r');
delay(60);
Keyboard.releaseAll();
}
void typeAndEnter(const char* s) {
Keyboard.print(s);
delay(60);
Keyboard.write(KEY_RETURN);
}
// --- Aksiyonlar ---
void actionVolumeUp() { Consumer.write(MEDIA_VOLUME_UP); }
void actionVolumeDown() { Consumer.write(MEDIA_VOLUME_DOWN); }
void actionPlayPause() { Consumer.write(MEDIA_PLAY_PAUSE); }
void actionCalculator() { // Win+R → calc → Enter
pressWinR();
delay(120);
typeAndEnter("calc");
}
void actionScreenshot() { // Win+Shift+S
Keyboard.press(KEY_LEFT_GUI);
Keyboard.press(KEY_LEFT_SHIFT);
Keyboard.press('s');
delay(60);
Keyboard.releaseAll();
}
void actionOpenBrowser() {
// 1) Win+R ile tarayıcıyı adıyla başlat (noktalama yok)
pressWinR();
delay(140);
#if defined(USE_CHROME)
Keyboard.print("chrome");
#else
Keyboard.print("msedge");
#endif
delay(80);
Keyboard.write(KEY_RETURN);
// 2) Açıldıktan sonra adres çubuğu (Ctrl+L)
delay(BROWSER_LAUNCH_DELAY_MS);
Keyboard.press(KEY_LEFT_CTRL);
Keyboard.press('l');
delay(50);
Keyboard.releaseAll();
delay(80);
// 3) "google" yaz ve Ctrl+Enter → www.google.com
Keyboard.print("google");
delay(60);
Keyboard.press(KEY_LEFT_CTRL);
Keyboard.press(KEY_RETURN);
delay(50);
Keyboard.releaseAll();
}
void setup() {
for (int i = 0; i < 6; i++) {
pinMode(BTN_PINS[i], INPUT_PULLUP); // buton: pin—GND
prevState[i] = HIGH;
}
Consumer.begin();
Keyboard.begin(); // HID‑Project'in Keyboard'ı
}
void loop() {
for (int i = 0; i < 6; i++) {
uint8_t cur = digitalRead(BTN_PINS[i]);
if (prevState[i] == HIGH && cur == LOW) {
delay(debounceMs);
if (digitalRead(BTN_PINS[i]) == LOW) {
switch (i) {
case 0: actionVolumeUp(); break; // pin 2
case 1: actionVolumeDown(); break; // pin 3
case 2: actionPlayPause(); break; // pin 4
case 3: actionCalculator(); break; // pin 5
case 4: actionScreenshot(); break; // pin 6
case 5: actionOpenBrowser(); break; // pin 7
}
while (digitalRead(BTN_PINS[i]) == LOW) { delay(5); } // bırakılana kadar bekle
delay(10);
}
}
prevState[i] = cur;
}
}
Özet: Tek dosya, tek kütüphane (HID‑Project).
Keyboard.heklemeyin. TR klavyede URL bozulmasını önlemek içingoogle + Ctrl+Enteryöntemi kullanılır.
7) Arduino IDE ile Yükleme
- Arduino IDE 2.x kurulu olsun.
- Kart: SparkFun Pro Micro (5V/16MHz) — alternatifi Arduino Leonardo.
- Kütüphane: Library Manager’dan HID‑Project by NicoHood’u kurun.
- Bu sayfadaki tek dosya skeci IDE’ye yapıştırın → Upload.
- Port görünmüyorsa Pro Micro’yu çift tık reset ile bootloader moduna alın, ardından tekrar Upload.
(Windows/macOS/Linux) - Arduino IDE 2.x indirin ve kurun.
- Kart tanımı:
- Tercih edilen:SparkFun AVR Boards paketini ekleyip kartı SparkFun Pro Micro (ATmega32U4) seçin.
- File → Preferences → Additional Boards Manager URLs alanına:
https://raw.githubusercontent.com/sparkfun/Arduino_Boards/master/IDE_Board_Manager/package_sparkfun_index.jsonekleyin. - Tools → Board → Boards Manager… içinde SparkFun AVR Boards’u kurun.
- Tools → Board menüsünden SparkFun Pro Micro’yu seçin (5V/16MHz genelde uygundur).
- File → Preferences → Additional Boards Manager URLs alanına:
- Alternatif: Kartı Arduino Leonardo olarak seçmek çoğu durumda çalışır (aynı MCU).
- Tercih edilen:SparkFun AVR Boards paketini ekleyip kartı SparkFun Pro Micro (ATmega32U4) seçin.
- Kütüphane: Sketch → Include Library → Manage Libraries… açın, HID‑Project by NicoHood kütüphanesini kurun.
- Port: Tools → Port menüsünden cihaza atanan COM/tty portunu seçin.
- Projeyi (
main.ino+config.h) açın. - Verify (✔) ile derleyin, ardından Upload (→) ile karta yükleyin.
Yükleme Sorunlarında (Bootloader/Reset)
- Pro Micro’da çift tık reset: RST pinine hızlıca 2 kez dokundurun (veya dahili butona çift tıklayın); kart bootloader modunda yeni bir COM port olarak görünür. 8–10 sn içinde Upload’a basın.
- Port kaybolursa: Kabloyu değiştirin (data destekli), farklı USB port deneyin.
- Windows’ta sürücü ihtiyacı genellikle yoktur (ATmega32U4 doğal HID). Gerekirse Aygıt Yöneticisi’nden tekrar takıp çıkarın.
8) Platforma Özel Kısayollar (Örnekler)
- Windows:
- Ekran görüntüsü: Win+Shift+S (kesim aracı)
- Hesap makinesi: Win+R →
calc→ Enter - URL açma: Win+R →
https://...→ Enter
- macOS:
- Ekran görüntüsü: Cmd+Shift+4 (seçim), Cmd+Shift+3 (tam ekran)
- Uygulama: Cmd+Space (Spotlight) → uygulama adı → Enter
- Linux (GNOME):
- Ekran görüntüsü: PrintScreen (tam ekran) / Shift+PrintScreen (bölge)
- Uygulama:
gnome-calculator,firefoxgibi komutlar; gerekirse kısayola atayın.
9) Özelleştirme Fikirleri
- Çift/uzun tıklama: Tek tuşa iki farklı eylem.
- Profil sistemi: Farklı kullanım profilleri (oyun, üretkenlik) için tuş eşlemeleri; profil değiştirme tuşu.
- Aydınlatma/LED: Tuşa basıldığında LED yanması (ör. WS2812B/Neopixel).
- Uygulama‑özel makrolar: Photoshop, DaVinci Resolve, VS Code gibi yazılımlara özgü kısayollar.
10) Sık Sorulan Sorular (SSS)
S: Tuşa basıyorum, bazen bir şey olmuyor.
C: Aktif pencere odakta olmayabilir. Ekran görüntüsü/hızlı çalıştır pencereleri kısmi gecikme isteyebilir; delay değerlerini (60–150 ms) artırmayı deneyin.
S: Yükleme başarısız (avrdude timeout).
C: Çift tıklayıp bootloader moduna alın, yeni görünen COM portu seçin ve 8–10 sn içinde yükleyin. Kabloyu değiştirin.
S: macOS’ta medya tuşları çalışmıyor.
C: Consumer Control desteği sınırlı olabilir. Alternatif olarak Keyboard kütüphanesi ile kısayol göndererek aynı işlevi taklit edin.
S: Linux’ta komut çalışmıyor.
C: Dağıtımdaki uygulama adını kontrol edin (gnome-calculator, kcalc vb.). Gerekirse sistem klavye kısayollarına özel atama yapın.
S: Tek tuşa birden fazla komut gönderebilir miyim?
C: Evet. doAction içinde ardışık Keyboard.press/print/write çağrılarıyla bir senaryo oluşturabilirsiniz.
11) Bakım ve Garanti
- Toz ve kirden uzak tutun; tuşlara aşırı kuvvet uygulamayın.
- Yazılım değişiklikleri kullanıcı sorumluluğundadır. Hatalı yazılımdan doğacak veri kaybı veya davranışlardan üretici sorumlu değildir.
- Donanım için standart 6 ay sınırlı garanti (fiziksel hasar, sıvı teması, yanlış lehimleme hariç). Satın alma belgesini saklayın.
12) Hızlı Referans
Pin → Eylem (varsayılan):
- D2: Ses +
- D3: Ses −
- D4: Oynat/Duraklat
- D5: Hesap Makinesi
- D6: Ekran Görüntüsü
- D7: Tarayıcı Aç
Derleme/Yükleme:
- Kart: SparkFun Pro Micro (veya Arduino Leonardo)
- Kütüphane: HID‑Project
- Dosyalar:
main.ino+config.h - Gerekli ise bootloader modunda yükleyin (çift tık reset).
13) Destek
Sorularınız için:
E‑posta: [email protected]
Web: https://isotronic.tr
Whatsapp: +90 542 598 42 54
Bu kılavuz, kullanıcıların cihazı hızlıca özelleştirebilmesi için hazırlanmıştır. Güncellemeler ve yeni örnekler için web sitemizi takip edin.
14) v1.1 Güncellemesi – 22.09.2025
Değişiklik Özeti
- Tarayıcı açma yöntemi TR klavye ile uyumlu hale getirildi:
Win+R → msedge/chrome → Enter → Ctrl+L → "google" → Ctrl+Enter(noktalama yok, URL otomatik tamamlanır). Keyboard.hbağımlılığı kaldırıldı; yalnızca HID‑Project kullanılır (çiftKeyboard_tanımı hatası önlendi).- Varsayılan “Tarayıcı Aç” tuşu Edge ile açıp Google’a gitmek üzere güncellendi. Chrome tercih edenler için derleme zamanı seçeneği eklendi.
Kod (v1.1 – Windows)
Aşağıdaki tek dosyayı yükleyin (örnek kart: Pro Micro 5V/16MHz). Gerekli kütüphane: HID‑Project by NicoHood.
#include <HID-Project.h>
#include <HID-Settings.h>
// 6 buton pini: 2=Ses+, 3=Ses-, 4=Play/Pause, 5=Hesap Makinesi,
// 6=Ekran Görüntüsü (Win+Shift+S), 7=Tarayıcı Aç (Edge→Google)
const uint8_t BTN_PINS[6] = {2, 3, 4, 5, 6, 7};
uint8_t prevState[6];
const unsigned long debounceMs = 25;
// Tarayıcı seçimi: Edge varsayılan. Chrome için alttaki satırı açın.
#define USE_EDGE 1
// #define USE_CHROME 1
// Tarayıcının açılıp odaklanması için bekleme (ms)
const unsigned long BROWSER_LAUNCH_DELAY_MS = 800; // sisteminize göre 400–1200 deneyin
// --- Yardımcılar ---
void pressWinR() {
Keyboard.press(KEY_LEFT_GUI);
Keyboard.press('r');
delay(60);
Keyboard.releaseAll();
}
void typeAndEnter(const char* s) {
Keyboard.print(s);
delay(60);
Keyboard.write(KEY_RETURN);
}
// --- Aksiyonlar ---
void actionVolumeUp() { Consumer.write(MEDIA_VOLUME_UP); }
void actionVolumeDown() { Consumer.write(MEDIA_VOLUME_DOWN); }
void actionPlayPause() { Consumer.write(MEDIA_PLAY_PAUSE); }
void actionCalculator() {
// Win+R → calc → Enter
pressWinR();
delay(120);
typeAndEnter("calc");
}
void actionScreenshot() {
// Windows kesim aracı: Win+Shift+S
Keyboard.press(KEY_LEFT_GUI);
Keyboard.press(KEY_LEFT_SHIFT);
Keyboard.press('s');
delay(60);
Keyboard.releaseAll();
}
void actionOpenBrowser() {
// 1) Win+R ile tarayıcıyı adıyla başlat (noktalama yok)
pressWinR();
delay(140);
#if defined(USE_CHROME)
Keyboard.print("chrome");
#else
Keyboard.print("msedge");
#endif
delay(80);
Keyboard.write(KEY_RETURN);
// 2) Tarayıcı açılınca adres çubuğuna git (Ctrl+L)
delay(BROWSER_LAUNCH_DELAY_MS);
Keyboard.press(KEY_LEFT_CTRL);
Keyboard.press('l');
delay(50);
Keyboard.releaseAll();
delay(80);
// 3) "google" yaz ve Ctrl+Enter → www.google.com
Keyboard.print("google");
delay(60);
Keyboard.press(KEY_LEFT_CTRL);
Keyboard.press(KEY_RETURN); // Ctrl+Enter = www.+.com
delay(50);
Keyboard.releaseAll();
}
void setup() {
for (int i = 0; i < 6; i++) {
pinMode(BTN_PINS[i], INPUT_PULLUP); // buton: pin—GND
prevState[i] = HIGH;
}
Consumer.begin();
Keyboard.begin(); // HID‑Project'in Keyboard'ı
}
void loop() {
for (int i = 0; i < 6; i++) {
uint8_t cur = digitalRead(BTN_PINS[i]);
if (prevState[i] == HIGH && cur == LOW) {
delay(debounceMs);
if (digitalRead(BTN_PINS[i]) == LOW) {
switch (i) {
case 0: actionVolumeUp(); break; // pin 2
case 1: actionVolumeDown(); break; // pin 3
case 2: actionPlayPause(); break; // pin 4
case 3: actionCalculator(); break; // pin 5
case 4: actionScreenshot(); break; // pin 6
case 5: actionOpenBrowser(); break; // pin 7
}
while (digitalRead(BTN_PINS[i]) == LOW) { delay(5); } // bırakılana kadar bekle
delay(10);
}
}
prevState[i] = cur;
}
}
Notlar:
- TR klavye düzeninde noktalama içeren URL yazdırma (örn.
https://…) ASCII düzen farkları nedeniyle bozulabilir. Bu sürüm, yalnızca harflerle çalışır. - Sadece HID‑Project kullanılır;
#include <Keyboard.h>eklemeyin. BROWSER_LAUNCH_DELAY_MSdeğeri sistem hızına göre ayarlanabilir.