Rehber Arduino ile babanızın Linux kullanmasını kolaylaştırın!

Silicone Android Uygulaması

2147483647

Gold Sample
Katılım
16 May 2021
Mesajlar
560
Çözümler
4
İfade skoru
2.953
Konum
Model'in boynu
Yazdığım kod ile babanız/anneniz daha kolay Linux kullanabilir. Program 1. butona basıldığında bilgisayara otomatik giriş yapıyor, 2. butona basıldığında da bir terminal açıp bilgisayarı kapatıyor. Programı kendime göre yazdığım için bekleme süreleri ve kısayollar değişiklik gösterebilir.

Ayrıca, giriş kısmı TTY'de çalışmaktadır. Program tarayıcı olarak Chromium açıyor ancak değiştirebilirsiniz.


C++:
#include <Keyboard.h>

const int buttonPin = 2;
const int button2Pin = 3;
const int buzzerPin = 4;
bool pressed = false;
bool pressed2 = false;

void setup() {
  pinMode(LED_BUILTIN, OUTPUT);
  pinMode(buttonPin, INPUT);
  pinMode(button2Pin, INPUT);
  pinMode(buzzerPin, OUTPUT);
  digitalWrite(buzzerPin, HIGH);
 
  Keyboard.begin();
}

void loop() {
  if(digitalRead(buttonPin) == HIGH && pressed == false) {
    pressed = true;
    Keyboard.print("< KULLANICI ADINIZI BURAYA GIRIN >");
    // Kullanıcı adı girildi
 
    delay(50);
    Keyboard.press(KEY_RETURN);
    Keyboard.release(KEY_RETURN);
    delay(200);
    // Enter basıldı!
 
    Keyboard.print("< SIFRENIZI BURAYA GIRIN >");
    delay(5);
    // Şifre girildi!

    Keyboard.press(KEY_RETURN);
    Keyboard.release(KEY_RETURN);
    delay(6000);
    // Enter basıldı!

    Keyboard.press(KEY_LEFT_GUI);
    Keyboard.press('d');
    Keyboard.release(KEY_LEFT_GUI);
    Keyboard.release('d');
    delay(100);
    // Rofi açıldı!

    Keyboard.print("chrom");
    Keyboard.press(KEY_RETURN);
    Keyboard.release(KEY_RETURN);
    delay(5);
    // Firefox açıldı!
    digitalWrite(buzzerPin, LOW);
    delay(150);
    digitalWrite(buzzerPin, HIGH);
    delay(500);
  }
 
  else if(digitalRead(button2Pin) == HIGH && pressed2 == false) {
    Keyboard.press(KEY_LEFT_GUI);
    Keyboard.press(KEY_RETURN);
    Keyboard.releaseAll();
    delay(500);
    // Terminal açıldı!

    Keyboard.print("sudo poweroff");
    Keyboard.press(KEY_RETURN);
    Keyboard.release(KEY_RETURN);
    // Kapatma komutu girildi!

    pressed2=true;
  }
}

ÖNEMLİ NOT:
Bu kod sadece Arduino Leonardo ve Pro Micro ile çalışmaktadır. Bunun nedeni, bu iki kartta arada iletişim için CH340/ATMEGA16u2 vb. bir kartın bulunmadan direkt mikroişlemci ile temasa geçilebilmesidir. Bu yüzden kod UNO'da çalışmaz.

Nedeni hakkında daha fazla bilgi.
 
Son düzenleme:

Goodbye Blue Sky

Platinum Sample
Katılım
20 Nis 2021
Mesajlar
2.417
Çözümler
9
İfade skoru
7.328
Konum
Bristol
C++:
Keyboard.print("chrom");
    Keyboard.press(KEY_RETURN);
    Keyboard.release(KEY_RETURN);
    delay(5);
    // Firefox açıldı!
    digitalWrite(buzzerPin, LOW);
    delay(150);
    digitalWrite(buzzerPin, HIGH);
    delay(500);
Bir sıkıntı var sanki :kekw:
 
KS
2147483647

2147483647

Gold Sample
Katılım
16 May 2021
Mesajlar
560
Çözümler
4
İfade skoru
2.953
Konum
Model'in boynu
C++:
Keyboard.print("chrom");
    Keyboard.press(KEY_RETURN);
    Keyboard.release(KEY_RETURN);
    delay(5);
    // Firefox açıldı!
    digitalWrite(buzzerPin, LOW);
    delay(150);
    digitalWrite(buzzerPin, HIGH);
    delay(500);
Bir sıkıntı var sanki :kekw:
Niye ki, Chromium kullanıyor babam Firefox sevmiyor.
 

Duke The Java

Gold Sample
Katılım
6 May 2021
Mesajlar
442
Çözümler
4
İfade skoru
1.736
Konum
cicistan üyesi

NotEfi

Rütbesiz
Katılım
11 Eki 2021
Mesajlar
11
Çözümler
1
İfade skoru
49
Yazdığım kod ile babanız/anneniz daha kolay Linux kullanabilir. Program 1. butona basıldığında bilgisayara otomatik giriş yapıyor, 2. butona basıldığında da bir terminal açıp bilgisayarı kapatıyor. Programı kendime göre yazdığım için bekleme süreleri ve kısayollar değişiklik gösterebilir.

Ayrıca, giriş kısmı TTY'de çalışmaktadır. Program tarayıcı olarak Chromium açıyor ancak değiştirebilirsiniz.


C++:
#include <Keyboard.h>

const int buttonPin = 2;
const int button2Pin = 3;
const int buzzerPin = 4;
bool pressed = false;
bool pressed2 = false;

void setup() {
  pinMode(LED_BUILTIN, OUTPUT);
  pinMode(buttonPin, INPUT);
  pinMode(button2Pin, INPUT);
  pinMode(buzzerPin, OUTPUT);
  digitalWrite(buzzerPin, HIGH);
 
  Keyboard.begin();
}

void loop() {
  if(digitalRead(buttonPin) == HIGH && pressed == false) {
    pressed = true;
    Keyboard.print("< KULLANICI ADINIZI BURAYA GIRIN >");
    // Kullanıcı adı girildi
 
    delay(50);
    Keyboard.press(KEY_RETURN);
    Keyboard.release(KEY_RETURN);
    delay(200);
    // Enter basıldı!
 
    Keyboard.print("< SIFRENIZI BURAYA GIRIN >");
    delay(5);
    // Şifre girildi!

    Keyboard.press(KEY_RETURN);
    Keyboard.release(KEY_RETURN);
    delay(6000);
    // Enter basıldı!

    Keyboard.press(KEY_LEFT_GUI);
    Keyboard.press('d');
    Keyboard.release(KEY_LEFT_GUI);
    Keyboard.release('d');
    delay(100);
    // Rofi açıldı!

    Keyboard.print("chrom");
    Keyboard.press(KEY_RETURN);
    Keyboard.release(KEY_RETURN);
    delay(5);
    // Firefox açıldı!
    digitalWrite(buzzerPin, LOW);
    delay(150);
    digitalWrite(buzzerPin, HIGH);
    delay(500);
  }
 
  else if(digitalRead(button2Pin) == HIGH && pressed2 == false) {
    Keyboard.press(KEY_LEFT_GUI);
    Keyboard.press(KEY_RETURN);
    Keyboard.releaseAll();
    delay(500);
    // Terminal açıldı!

    Keyboard.print("sudo poweroff");
    Keyboard.press(KEY_RETURN);
    Keyboard.release(KEY_RETURN);
    // Kapatma komutu girildi!

    pressed2=true;
  }
}

ÖNEMLİ NOT:
Bu kod sadece Arduino Leonardo ve Pro Micro ile çalışmaktadır. Bunun nedeni, bu iki kartta arada iletişim için CH340/ATMEGA16u2 vb. bir kartın bulunmadan direkt mikroişlemci ile temasa geçilebilmesidir. Bu yüzden kod UNO'da çalışmaz.

Nedeni hakkında daha fazla bilgi.
UNO'yu DFU moduna alıp CH340'a yazılım atıp Leonardo gibi kullanabiliyorduk. Bulursam videosunu atarım.
Mesajlar otomatik birleştirildi:

 
Son düzenleme:

Bu içeriği görüntüleyen kullanıcılar

Silicone Makale

Yeni konular

Silicone YouTube

Top