きゃっつてーる

✨はてなブログ市民(銅)✨

💗ジャイロセンサー💗




ジャイロボール投げてみたいっ⚾️









※今回かなり長いので本当に暇な時に見た方がいいです(笑)





こんにちは💗




今日は土曜日!週末ヒロインですね😊




てことで、いつものGRL



送料無料になります!いぇい⭐️





下の記事のリンクから無料会員登録して


800円以内で欲しいものをタダポチしましょう🙂🙃




http://wbar.hatenablog.jp/entry/2018/01/13/104704#body


こちらの記事の🌺で囲まれてるとこに
わかりやすく詳細を書いてます😊💗






↑のリンクから飛べる記事にあるリンクから無料会員登録しないと、800ポイント貰えないので注意⚠











さてさて!









今日は私の特技をお見せします🎶






実は私…








プログラミングがちょっとだけ出来ます💫











しかも!!!




Swiftという言語だけです🙃🙂











「Swiftって何??」





と思いますよね…(笑)(笑)












Swift…
















もちろん、車じゃありませんっ!!!












Swiftとは簡単に言うと…






iPhoneiPad等のアップル社製のデバイス向けの

アプリケーションを開発する際に

使える言語のことです🎶




Swiftのロゴ





今までは、Objective-C

と言う言語でアップル社製のデバイス向けの

アプリケーションを使っていたのですが、

それに代わる

簡単な方法で使用出来る新しい言語の事です✨






↑ちょっと頭良さそうじゃないですか?(笑)









つまり…






簡単に出来るので、誰でも

簡単にアプリケーションが開発出来る!!!





という事です😊




アプリケーション開発って凄いですよね💡






※ただし、Swiftを使う場合は、MacXcodeというツールを入れておく必要があります。
※開発には、実機用の端末とAppleIDが必要です。
※よくバージョンアップしたりするのでちょっとずつ記述が変わったりします。(記事を書いてる時もいくつか訂正しました。)











記念すべきプログラミング第一回目は…




















ジャイロセンサーを利用して角速度を測定するアプリケーションの開発!!!」
















……………………………………………。


















そんな、意味わからん!って顔しないでください(笑)











皆さんも使っているスマートフォンタブレット等の

携帯端末には、いろんな種類のセンサーが

搭載されています⭐️









その中で、今回テーマとするのが…










ジャイロセンサーです💫






これは角速度を測定する事が出来ます✋







まあ、これでもわかんないよって人は
ジャイロセンサーとは」
でググってください…(笑)











早速、本題に入ります🍓




まず、storyboardにこのような感じで

ラベルを設置してください🌺




↑可愛らしく背景はピンク💗



私は信号機を意識した配色にしました🚦


まあ、色とかは何でもいいです✨







そして、コードです🎶








今回は、モーションイベントを扱うので…



「CoreMotion」


というフレームワークを使用します😊




その中でも…


「CMMotionManager」


というクラスを利用します💐




↑難しいですけど、覚える必要は全くないので、頑張ってついてきてください💦











ViewController.swift

コードを記述していきます⭐️






まず最初に、

「CoreMotion」をインポートします🍎



冒頭はこうなります!




import UIKit
は最初から記述してあると思います✨






次に先程用意したラベルと接続します!


Xcodeの右上の丸が2つ重なってるボタンで

storyboardとViewController.swiftの

2画面にしてから、

ラベルを左クリックして、右クリックで伸ばしながら

ViewController.swiftのコードの所に持ってくれば

名前を付けて、接続が完了します😊


↑言葉は難しいですがやってる事は単純です💦








次に、センサー関連の記述です🤔🤔🤔

センサーの更新間隔も一緒に設定します✋





今回は0.1秒とします!

今回はdataをmyDataと名付けました😊








最後に、
各ラベルに表示させる計算式を記述します😊





x,y,zのそれぞれ3軸です!







これで、Xcode左上のRunを押せば

起動します!アプリケーション完成です🍓






※ただし、これはセンサーを利用するので
Mac上のsimulatorでは数値は動きません!
iPhoneiPadを繋いでお試しください✨






端末を動かすとその動きによって、

値が著しく動きます💫





※角度ではなく、角速度です!!!










実行画面です✨





一応、全体のコードです✨










簡単でしたね!出来ましたよね!😊😊😊











……………………。












えっ、説明下手くそだったから、


アプリケーション作れなかったし、


これ見てもコピペ出来ない??






だから、もうこのブログ読まない??💦











……………。











わかりました😢😢😢





ブログ読まれないは困るので…





仕方ないですねー、今回だけですよ⭐️









普段、画像や文章等の無断使用は禁じてますが、
許可したもののみ、コピペして構いません💫

※ただし、転載は禁止です。






以下、コピペ用です。
import UIKit
import CoreMotion

class ViewController: UIViewController {

// UILabelとの接続するわよ.
@IBOutlet weak var xLabel: UILabel!
@IBOutlet weak var yLabel: UILabel!
@IBOutlet weak var zLabel: UILabel!

//インスタンスの生成ね.
var motionManager = CMMotionManager()

override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}

override func viewDidAppear(_ animated: Bool)
{
//ジャイロデータの更新間隔を設定ですっっっ.
motionManager.gyroUpdateInterval = 0.1

//センサーの利用開始だぁぁぁ.
motionManager.startGyroUpdates (to: OperationQueue.current!){ (data, error) in
if let myData = data
{
//x軸について.
self.xLabel.text = "x=\(myData.rotationRate.x * 180 / Double.pi)"
//y軸について.
self.yLabel.text = "y=\(myData.rotationRate.y * 180 / Double.pi)"
//z軸について.
self.zLabel.text = "z=\(myData.rotationRate.z * 180 / Double.pi)"
}
}
}

override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}

↑コピペ許可ここまで!






ちなみに、
override func 〜
みたいな所は触らなくていいです!!!

書く順番とスペルを間違えないようにしてください💡










長くなりましたが…

今回は、
ジャイロセンサーを使って角速度を測定するアプリケーション
を開発しました💗






てことで、今後もちょくちょく

プログラミングについても触れたいと思います🍎





それでは、また✋