Arduino - कीबोर्ड लॉगआउट

जब ARDUINO UNO को ज़मीन पर खींचा जाता है, तो पिन 2 पर आपके उपयोगकर्ता सत्र से आपके कंप्यूटर पर आपको लॉग आउट करने के लिए यह उदाहरण कीबोर्ड लाइब्रेरी का उपयोग करता है। स्केच एक ही समय में दो या तीन चाबियों के क्रम में कुंजीपट का अनुकरण करता है और थोड़े विलंब के बाद उन्हें छोड़ देता है।

Warning - जब आप का उपयोग करें Keyboard.print()कमांड, Arduino आपके कंप्यूटर के कीबोर्ड को संभालता है। यह सुनिश्चित करने के लिए कि आप इस फ़ंक्शन के साथ एक स्केच चलाते समय अपने कंप्यूटर का नियंत्रण नहीं खोते हैं, आप Keyboard.print () को कॉल करने से पहले एक विश्वसनीय नियंत्रण प्रणाली सेट करें। यह स्केच केवल एक कीबोर्ड कमांड भेजने के लिए डिज़ाइन किया गया है, क्योंकि पिन को जमीन पर खींचा गया है।

अवयव आवश्यक

आपको निम्नलिखित घटकों की आवश्यकता होगी -

  • 1 × ब्रेडबोर्ड
  • 1 × अरुडिनो लियोनार्डो, माइक्रो या ड्यू बोर्ड
  • 1 × पुशबटन
  • 1 × जम्पर

प्रक्रिया

सर्किट आरेख का पालन करें और ब्रेडबोर्ड पर घटकों को हुक करें जैसा कि नीचे की छवि में दिखाया गया है।

स्केच

अपने कंप्यूटर पर Arduino IDE सॉफ्टवेयर खोलें। Arduino भाषा में कोडिंग आपके सर्किट को नियंत्रित करेगा। New पर क्लिक करके एक नया स्केच फाइल खोलें।

इस उदाहरण के लिए, आपको Arduino IDE 1.6.7 का उपयोग करने की आवश्यकता है

Note- आपको अपनी Arduino लाइब्रेरी फ़ाइल में कीबोर्ड लाइब्रेरी को शामिल करना होगा। निम्न स्क्रीनशॉट में दिखाए गए अनुसार पुस्तकालयों (हाइलाइट) के साथ फाइल के अंदर कीपैड लाइब्रेरी फ़ाइल को कॉपी और पेस्ट करें।

Arduino कोड

/*
   Keyboard logout
   This sketch demonstrates the Keyboard library.
   When you connect pin 2 to ground, it performs a logout.
   It uses keyboard combinations to do this, as follows:
   On Windows, CTRL-ALT-DEL followed by ALT-l
   On Ubuntu, CTRL-ALT-DEL, and ENTER
   On OSX, CMD-SHIFT-q
   To wake: Spacebar.
   Circuit:
   * Arduino Leonardo or Micro
   * wire to connect D2 to ground.
*/

#define OSX 0
#define WINDOWS 1
#define UBUNTU 2

#include "Keyboard.h"

// change this to match your platform:
int platform = WINDOWS;

void setup() {
   // make pin 2 an input and turn on the
   // pullup resistor so it goes high unless
   // connected to ground:
   
   pinMode(2, INPUT_PULLUP);
   Keyboard.begin();
}

void loop() {
   while (digitalRead(2) == HIGH) {
      // do nothing until pin 2 goes low
      delay(500);
   }
   
   delay(1000);
   
   switch (platform) {
      case OSX:
      Keyboard.press(KEY_LEFT_GUI);
	  
      // Shift-Q logs out:
      Keyboard.press(KEY_LEFT_SHIFT);
      Keyboard.press('Q');
      delay(100);
	  
      // enter:
      Keyboard.write(KEY_RETURN);
      break;
	  
      case WINDOWS:
      // CTRL-ALT-DEL:
      Keyboard.press(KEY_LEFT_CTRL);
      Keyboard.press(KEY_LEFT_ALT);
      Keyboard.press(KEY_DELETE);
      delay(100);
      Keyboard.releaseAll();
	  
      //ALT-l:
      delay(2000);
      Keyboard.press(KEY_LEFT_ALT);
      Keyboard.press('l');
      Keyboard.releaseAll();
      break;
	  
      case UBUNTU:
      // CTRL-ALT-DEL:
      Keyboard.press(KEY_LEFT_CTRL);
      Keyboard.press(KEY_LEFT_ALT);
      Keyboard.press(KEY_DELETE);
	  
      delay(1000);
      Keyboard.releaseAll();
	  
      // Enter to confirm logout:
      Keyboard.write(KEY_RETURN);
      break;
   }
   
   // do nothing:
   while (true);
}

Keyboard.releaseAll();

   // enter:
      Keyboard.write(KEY_RETURN);
      break;
      case WINDOWS:
	  
   // CTRL-ALT-DEL:
      Keyboard.press(KEY_LEFT_CTRL);
      Keyboard.press(KEY_LEFT_ALT);
      Keyboard.press(KEY_DELETE);
      delay(100);
      Keyboard.releaseAll();
	  
   //ALT-l:
      delay(2000);
      Keyboard.press(KEY_LEFT_ALT);
      Keyboard.press('l');
      Keyboard.releaseAll();
      break;
	  
   case UBUNTU:
      // CTRL-ALT-DEL:
      Keyboard.press(KEY_LEFT_CTRL);
      Keyboard.press(KEY_LEFT_ALT);
      Keyboard.press(KEY_DELETE);
      delay(1000);
      Keyboard.releaseAll();
	  
      // Enter to confirm logout:
      Keyboard.write(KEY_RETURN);
      break;
   }
   
// do nothing:
   while (true);
}

नोट करने के लिए कोड

इससे पहले कि आप अपने बोर्ड पर कार्यक्रम अपलोड करें, सुनिश्चित करें कि आप सही ओएस को असाइन कर रहे हैं जो आप वर्तमान में प्लेटफॉर्म चर के लिए उपयोग कर रहे हैं।

जबकि स्केच चल रहा है, बटन दबाने से पिन 2 जमीन से जुड़ जाएगी और बोर्ड यूएसबी कनेक्टेड पीसी को लॉगआउट अनुक्रम भेजेगा।

परिणाम

जब आप पिन 2 को जमीन से जोड़ते हैं, तो यह लॉगआउट ऑपरेशन करता है।

यह लॉगआउट करने के लिए निम्नलिखित कीबोर्ड संयोजनों का उपयोग करता है -

  • पर Windows, CTRL-ALT-DEL के बाद ALT-l

  • पर Ubuntu, CTRL-ALT-DEL, और ENTER

  • पर OSX, CMD-SHIFT-q