2015年11月25日水曜日

ArduinoとC#でシリアル通信してみるぜ

・はじめに

「Arduino送られてくるデータを取得したり、逆にArduinoへデータを送信したりできたらめっちゃ面白そう」と思ったので、Arduinoでシリアル通信をしてみました。
ArduinoIDEに付属してあるシリアルモニターを使えば一発なんですが、
それじゃなんか面白くないなぁと思ったので
Windowsフォームアプリでシリアル通信をできるやつをつくりました。

・目的

C#を使ってArduinoでシリアル通信をする。
Arduinoから送られてくるデータを取得し、Windowsフォームで表示する。

・方法

1.ブレットボードにLEDと抵抗をぶっさす。
2.トングルスイッチを取り付ける。
3.Arduinoのスケッチを書く。
4.C#でWindowsフォームアプリを作る。 (シリアル通信のクラスを実装)
5.マイコンに書き込み、実行

・必要なもの

Arduino×1、LED×1、抵抗(510Ω)×1、トングルスイッチ×1、USBケーブル、Visual Studio等

・回路図



・コード

Arduino側

Windowsフォーム側


・結果

トングルスイッチを入れるとLEDが光だし、ArduinoからPCへLEDが光った(アナログ入力に3V入力があった)という信号が送られます。

・感想 

今回はArduinoとC#でシリアル通信をやってみました。
思ったよりも簡単にやることができるので驚きました。
やっぱC#は便利です。
このシリアル通信を使っていろいろ動かしたり、
Arduinoから取得したデータを使ってなんかやれたらいいなぁと思いました。
(なんか感想が小学生みたいだ)

2015年11月18日水曜日

電子サイコロを作るぜ!


・はじめに

なんか電子工作ぽいことをしたい!と思ったので電子サイコロを作ってみました。
なぜ電子サイコロかって?
それは、私にLEDを光らせて遊ぶぐらいの技術力しかないからです。OTL
でも、単にLEDをチカチカさせてても面白くないんで、
ちょっと工夫を凝らしたものはないものかと考え、電子サイコロを作ろうと思いました。


・目的

電子サイコロを作って遊ぶ

・必要なもの

Aduino本体、LED×7個、510Ωの抵抗×7個、タクトスイッチ×1

・方法

  1.  LEDと抵抗をブレッドボードにぶっさす。
  2. プログラムを書く。
  3. arduinoに書き込む。
  4. 実行する。

・回路図

とりあえず組んでみたけど、なんだかごちゃごちゃな 回路になってしまった



・コード

ヘッダファイルに分ければよかったけどめんどくさいのでそのまま

・結果

1から6の目を順に光らせて最後ランダムに出目を決めています。


・感想 

今回は電子サイコロを作ってみました。電子サイコロなんて簡単だろ!と高を括っていましたが、
これつくるのに3時間ぐらい苦戦してしまいました。
たかだか6個のLEDをマイコンで制御するだけですが、割と奥が深くて楽しかったです。
特にLEDの点滅速度をを徐々に遅くするやり方は「こんなやり方があるのか」とちょっと目から鱗でした。