電子工作

Krile廃人リモコン

  • 閲覧数: 3125
  • 10

作品画像

  • C.120x80.5cb396a99ac438b15047b71ea46e52a3
  • C.120x80.0e5cbabe6ac79cf4df1604681b116bbd

作品説明

Tumblr廃人リモコンやTwitter廃人リモコンにインスパイアッ!!されて
Windowsの代表的廃人TwitterクライアントKrileで使える廃人リモコン
作りました。

【機能】
タクトスイッチが一つしかなかったので
機能はファボるだけ

【使い方】
真ん中のタクトスイッチ:Favorite

【将来性】
Win32APIでFキーを入力するコードを付けてるだけなので
べつにKrileに限ったことではありません。

FキーがFavoriteにアサインされているクライアントならなんでもござれ

レシピ

ArduinoとC#でシリアル通信をしています。
1時間弱で作ったのでコードはひどいです

【Arduino】
int favPin=13;
boolean isFav;

void setup(){
  pinMode(favPin,INPUT);
  isFav=false;
  Serial.begin(9600);
}

void loop(){
  if(digitalRead(favPin)==HIGH&&isFav==false){
    Serial.write("f");
    isFav=true;
  }else if(digitalRead(favPin)==LOW){
    isFav=false;
  }
}

【C#】
    public class win32api
    {
        [DllImport("user32.dll")]
        public static extern uint keybd_event(byte bVk, byte bScan, uint dwFlags, UIntPtr dwExtraInfo);
    }
    /// <summary>
    /// MainWindow.xaml の相互作用ロジック
    /// </summary>
    public partial class MainWindow : Window
    {
        SerialPort serial;
        const char key = 'F';
        int counter = 0;
        public MainWindow()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, RoutedEventArgs e)
        {
            serial = new SerialPort(comboBox1.SelectedItem.ToString(), 9600, Parity.None, 8, StopBits.One);
            serial.Open();
            serial.DataReceived += (s, eve) =>
            {
                if ((char)serial.ReadChar() == 'f')
                {
                    win32api.keybd_event((byte)key, 0, 0, (UIntPtr)0);
                    // キーの解放をシミュレートする。
                    win32api.keybd_event((byte)key, 0, 2/*KEYEVENTF_KEYUP*/, (UIntPtr)0);
                }  
            };
            
            
            textBox1.Text = "接続完了";
        }

        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            string[] PortList = SerialPort.GetPortNames();
            comboBox1.Items.Clear();
            foreach (var i in PortList)
            {
                comboBox1.Items.Add(i);
            }
            comboBox1.SelectedIndex = 0;
            
        }
    }

コメント (1件)

ふぁぼるだけ! ってところにツイ廃の狂気を感じる!☆

2012/11/28 10:21