約 5,004,374 件
https://w.atwiki.jp/nicoratch/pages/1141.html
概要 iPad用に設計されたDJコントローラー。 DJ Control WAVE DJ Control WAVEは、bluetooth®対応の、本体バッテリーを内蔵した新感覚のDJコントローラーです。 これにより、いままで限られた場所でしかできなかったDJプレイを、手軽に場所を選ばず、楽しめる、新しい音楽の楽しみ方を提供できるようになりました。 製造元のHerculesは、30年以上に渡るデジタルオーディオ及びDJコントローラーの開発を続けてきた実績があります。それに裏付けされた高い技術とノウハウを駆使して開発されたDJ Control WAVEはその優れた品質と独自性により、栄誉ある 2014 CES Innovations Design and Engineering Awards を受賞しました。 +スペック表・DJ Control WAVE 主な仕様 2デッキDJコントローラー •タッチセンサー式ジョグホイール(直径10cm) •充電式バッテリー内蔵 •バックライトLED搭載 Bluetooth® 3.0 無償ダウンロード提供DJソフトウェア DJUCED DJW for iPad DJUCED 40° for Mac®/PC 外形寸法 40 (W) x 29.11 (D) x 4.5 (H) cm 本体重量 1.5 kg 付属品 本体、取扱説明書、USBケーブル、USB充電器、スプリットケーブル 最低動作環境 iPad® 2 model or higher iOS 6.1 or higher PC •Windows XP/Vista/7/8 (32/64-bit) •1.6 GHz CPU or faster / 2 GB RAM Mac® •Core Duo CPU •OS X 10.6/10.7/10.8 (32/64-bit) 価格 ¥39,800 DJControl Wave https //www.hercules.com/uk/leisure-controllers/bdd/p/236/djcontrolwave/ DJControlWaveM3 マルチスクリーンモードが追加されMac/PCと接続可能になった。 +スペック表・DJControlWaveM3 TECHNICAL SPECIFICATIONS 2-deck DJ controller featuring Bluetooth® wireless technology and USB •Jog wheels with capacitive touch detection •Built-in rechargeable battery •Elegant backlighting Bluetooth® 3.0 wireless technology Complete mixing software pack available for download free of charge DJUCEDTM 40° for Mac®/PC DJUCEDTM Master for iOS/AndroidTM DJUCEDTM App for AndroidTM(1) DJUCEDTM DJW for iPad® BOX CONTENTS Hercules DJControlWaveM3 Printed Quick Start Guide + poster USB cable USB charger (5 V/1 A) Splitter cable MINIMUM CONFIGURATION DJUCEDTM DJW iPad® 2 or later DJUCEDTM Master iPad® 3 or later iOS 7 or later PC •Windows 7/8 (32/64-bit) •Processor 1.6 GHz or faster •RAM 2 GB Mac® •Core Duo processor •OS X® 10.7/10.8/10.9/10.10 (32/64-bit) 価格 £199.99 DJControlWaveM3 http //www.hercules.com/uk/leisure-controllers/bdd/p/247/djcontrolwavem3/
https://w.atwiki.jp/tettatech/pages/13.html
移動するタイプのメカ(tec)に最低1つ搭載される必要がある部品です。 破壊されると全ての接続とコントロールが失われ、初期機体の状態で近くにリスポーンします。 移動しないタイプには必ずしも必要ではありませんが、迎撃砲台などを作成する時に使用できます。 ブロック 詳細 企業 カテゴリ GSO CosmonautSAP Cab Galactic Survey Organisation、通称GSO製標準型コックピットブロックです。小型ながら最低限のレーダーと火器、車輪を内蔵しています。心許ない見た目とは相反して6面全てに接続部位を持ちつつも被弾を受けにくいサイズに収まっている高性能なモデルです。 #ref error :ご指定のファイルが見つかりません。ファイル名を確認して、再度指定してください。 (75px-GSO_Logo_Pixel.PNG)GSO Control Blocks GeoCorpForeman GPR Cab GeoCoap製採掘仕様コックピットブロックです。単独運用時に変形し、内蔵された小型のドリルと車輪を展開します。 GeoCorp Control Blocks GeoCorpBoss Cab GeoCoap製中型コックピットブロックです。内蔵された機能は何もなく現在入手ルートは未実装です。(過去の機体から入手することは可能です) GeoCorp Control Blocks GeoCorpOverlord Cab GeoCoap製超大型型コックピットブロックです。内蔵された機能は何もなく現在入手ルートは未実装です。(過去の機体から入手することは可能です) GeoCorp Control Blocks Venture POD Cab 橙色の風防が目立つ、Venture製の標準型コックピットブロックです。火器と燃料タンクを内蔵しており、単独運用時は変形し車輪を展開します。 Venture Control Blocks
https://w.atwiki.jp/draemonash/pages/93.html
ここを編集 ライブラリ https //github.com/draemonash2/codes/blob/master/vbs/lib/iTunes.vbs API Reference iTunes COM Interface Documentation v8.1.0.52 Tips トラック名はユニークではないため、同トラック名のファイルが複数あるトラックに対して以下のような指定をした場合、先にヒットしたトラックを再生する。そのため、この方法では前者以外のトラックは再生できない。 objTracks.ItemByName( "Best Friend" ).Play Persistent ID はユニークな ID。「iTunes Music Library.xml」から抜き出してきてもよいかも。 objTracks.ItemByPersistentID( "618E2B28", "23B253BC" ).Play 構文 「~」は改行を示す。 【iTunesObject 取得】Set objItunes = WScript.CreateObject("iTunes.Application") 【ライブラリ XML パス取得】objItunes.LibraryXMLPath 【プレイリストオブジェクト取得】Set objPlayList = objItunes.Sources.Item(1).Playlists.ItemByName("ミュージック") 音楽(ローカルに保存したファイル+購入したファイル)の一覧を取得 【ファイル登録】objPlayList.LibraryPlaylist.AddFile( "c \music" ) 【ファイルパスからトラックを特定】 sTrgtTrackName = "Best Friend" sTrgtTrackPath = "Z \300_Musics\100_J-Pop\Artist\$ Other\Best Friend.mp3" Set objItunes = WScript.CreateObject("iTunes.Application") Set objPlayList = objItunes.Sources.Item(1).Playlists.ItemByName("ミュージック") Set objSearchResult = objPlayList.Search( sTrgtTrackName, 5 ) For lHitIdx = 1 to objSearchResult.Count With objSearchResult.Item(lHitIdx) If .Location = sTrgtTrackPath Then .Genre = "J-Pop" Exit For Else Do Nothing End If End With Next 【トラック属性メンバ】 MsgBox .Kind MsgBox .Playlist MsgBox .Album MsgBox .Album MsgBox .Artist MsgBox .BitRate MsgBox .BPM MsgBox .Comment MsgBox .Compilation MsgBox .Composer MsgBox .DateAdded MsgBox .DiscCount MsgBox .DiscNumber MsgBox .Duration MsgBox .Enabled MsgBox .EQ MsgBox .Finish MsgBox .Genre MsgBox .Grouping MsgBox .KindAsString MsgBox .ModificationDate MsgBox .PlayedCount MsgBox .PlayedDate MsgBox .PlayOrderIndex MsgBox .Rating MsgBox .SampleRate MsgBox .Size MsgBox .Start MsgBox .Time MsgBox .TrackCount MsgBox .TrackNumber MsgBox .VolumeAdjustment MsgBox .Year MsgBox .Artwork ここを編集
https://w.atwiki.jp/bzspirit/pages/1192.html
再発盤 再発盤 [429] Client error `POST https //webservices.amazon.co.jp/paapi5/getitems` resulted in a `429 Too Many Requests` response { __type com.amazon.paapi5#TooManyRequestsException , Errors [{ Code TooManyRequests , Message The request was de (truncated...) [429] Client error `POST https //webservices.amazon.co.jp/paapi5/getitems` resulted in a `429 Too Many Requests` response { __type com.amazon.paapi5#TooManyRequestsException , Errors [{ Code TooManyRequests , Message The request was de (truncated...) 発売 1999年5月12日 2005年8月3日 2012年3月21日 品番 TOCT-24132 TOCT-25733 TOCT-11551 レーベル 東芝EMI EMIミュージック・ジャパン 『No Control』(ノー・コントロール)は、1999年5月12日に発売されたTHE BOOMの8枚目のアルバム。 2005年及び2012年に、デジタルリマスターが施された再発盤がリリースされている。 「大阪でもまれた男」の歌詞中にB zの名前が登場する。 収録曲 墓標作詞・作曲:宮沢和史 月に降る雨作詞・作曲:宮沢和史 SHOOT ME DOWN作詞:Brian Foreman、作曲:宮沢和史、訳詞:吉田新 大阪でもまれた男作詞・作曲:宮沢和史 敬称略作詞:宮沢和史、作曲:鶴来正基 THE BOOM 不自由な運命の中で作詞・作曲:宮沢和史 ねんねこよ作詞・作曲:宮沢和史 Electronic Parade作詞・作曲:宮沢和史 オキナワ作詞・作曲:宮沢和史 ありがとう作詞・作曲:宮沢和史 ごはんがたけた作詞・作曲:宮沢和史 故郷になってください作詞・作曲:宮沢和史 月に降る雨(acoustic live version)作詞・作曲:宮沢和史 名前 コメント
https://w.atwiki.jp/jeskolabuzz/pages/19.html
Controller コントローラー、machineのパラメーターを操作するためのmachine。 基本的に、入力接続も出力接続もできず、パラメーターをアサインして使う。 BTDSys PeerCtrl? 入手 可 ヘルプ 有 ソースコード ? 情報求む。 BTDSys PeerCtrl Basic ? 入手 可 動作 ノート ヘルプ 有 ソースコード ? 情報求む。 BTDSys Peer LFO? 入手 可 ヘルプ 有 ソースコード ? アサインしたパラメーターに対し、LFOで変調を掛ける。 BTDSys PeerADSR? 入手 可 動作 ノート ヘルプ 有 ソースコード ? アサインしたパラメーターに対し、ADSRタイプのエンベロープを掛ける。 GUIつきで、マウスでエンベロープを書くことも可能。 BTDSys PeerState? 入手 可 http //www.buzzmachines.com/machineinfo.php?id=851]] ヘルプ 有 ソースコード ? アサインされたmachineの状態を記録、記録された状態を復元できる。 BTDSys PeerChord? 入手 可 動作 ノート ヘルプ 有 ソースコード ? アルペジエイター。カスタムコードを指定できる。 ノートのみを分離し、編曲をやりやすくするという用途もある。 BTDSys PeerChord Lite? 入手 可 動作 ノート ヘルプ 有 ソースコード ? アルペジエイター。PeerChordの軽量、低機能版。 カスタムコード指定機能が省かれている。 BTDSys PeerScale? 入手 可 ヘルプ 有 ソースコード ? 情報求む。 kibibu PeerTune? 入手 可 ヘルプ 有 ソースコード ? 特定のGeneratorのスケールを操作することができる。 BTDSys PeerEnv? 入手 可 ヘルプ 有 ソースコード ? 情報求む。 HD_LFO, HD LFO? 入手 可 ヘルプ 有 ソースコード ? 情報求む。 intoxicat 8n? 入手 可 ヘルプ 有 ソースコード ? 情報求む。 jmmcd Peer Meta-I? 入手 可 ヘルプ 有 ソースコード ? 情報求む。 jmmcd Peer Note-Pool? 入手 可 ヘルプ 有 ソースコード ? 情報求む。 kazuya Graph-64? 入手 可 ヘルプ 有 ソースコード ? 情報求む。 LnB PeerTrigger? 入手 可 ヘルプ 有 ソースコード ? 入手先 ドラムマシンのトリガ情報を分離し、他のGeneratorで使いまわすことができる。 また、入力された音源からトリガを生成することもできる。 7900s XY Controller? 入手 可 ヘルプ 有 ソースコード ? 情報求む。 kazuya JC-4? 入手 可 ヘルプ 有 ソースコード ? 情報求む。 kazuya Midi 2 Peer C2? 入手 可 ヘルプ 有 ソースコード ? MiDiファイルを読み込み、アサインされたGeneratorを鳴らす。 KoDreamImprov? 入手 可 ヘルプ 有 ソースコード ? 情報求む。 Quence PyBuzz? 入手 可 ヘルプ 有 ソースコード ? 情報求む。 usr n+1 peer? 入手 可 ヘルプ 有 ソースコード ? 情報求む。
https://w.atwiki.jp/touhoukashi/pages/521.html
【登録タグ E Jealousy Unlucky Morpheus ほおずきみたいに紅い魂 天外冬黄 曲】 【注意】 現在、このページはJavaScriptの利用が一時制限されています。この表示状態ではトラック情報が正しく表示されません。 この問題は、以下のいずれかが原因となっています。 ページがAMP表示となっている ウィキ内検索からページを表示している これを解決するには、こちらをクリックし、ページを通常表示にしてください。 /** General styling **/ @font-face { font-family Noto Sans JP ; font-display swap; font-style normal; font-weight 350; src url(https //img.atwikiimg.com/www31.atwiki.jp/touhoukashi/attach/2972/10/NotoSansCJKjp-DemiLight.woff2) format( woff2 ), url(https //img.atwikiimg.com/www31.atwiki.jp/touhoukashi/attach/2972/9/NotoSansCJKjp-DemiLight.woff) format( woff ), url(https //img.atwikiimg.com/www31.atwiki.jp/touhoukashi/attach/2972/8/NotoSansCJKjp-DemiLight.ttf) format( truetype ); } @font-face { font-family Noto Sans JP ; font-display swap; font-style normal; font-weight bold; src url(https //img.atwikiimg.com/www31.atwiki.jp/touhoukashi/attach/2972/13/NotoSansCJKjp-Medium.woff2) format( woff2 ), url(https //img.atwikiimg.com/www31.atwiki.jp/touhoukashi/attach/2972/12/NotoSansCJKjp-Medium.woff) format( woff ), url(https //img.atwikiimg.com/www31.atwiki.jp/touhoukashi/attach/2972/11/NotoSansCJKjp-Medium.ttf) format( truetype ); } rt { font-family Arial, Verdana, Helvetica, sans-serif; } /** Main table styling **/ #trackinfo, #lyrics { font-family Noto Sans JP , sans-serif; font-weight 350; } .track_number { font-family Rockwell; font-weight bold; } .track_number after { content . ; } #track_args, .amp_text { display none; } #trackinfo { position relative; float right; margin 0 0 1em 1em; padding 0.3em; width 320px; border-collapse separate; border-radius 5px; border-spacing 0; background-color #F9F9F9; font-size 90%; line-height 1.4em; } #trackinfo th { white-space nowrap; } #trackinfo th, #trackinfo td { border none !important; } #trackinfo thead th { background-color #D8D8D8; box-shadow 0 -3px #F9F9F9 inset; padding 4px 2.5em 7px; white-space normal; font-size 120%; text-align center; } .trackrow { background-color #F0F0F0; box-shadow 0 2px #F9F9F9 inset, 0 -2px #F9F9F9 inset; } #trackinfo td ul { margin 0; padding 0; list-style none; } #trackinfo li { line-height 16px; } #trackinfo li nth-of-type(n+2) { margin-top 6px; } #trackinfo dl { margin 0; } #trackinfo dt { font-size small; font-weight bold; } #trackinfo dd { margin-left 1.2em; } #trackinfo dd + dt { margin-top .5em; } #trackinfo_help { position absolute; top 3px; right 8px; font-size 80%; } /** Media styling **/ #trackinfo .media th { background-color #D8D8D8; padding 4px 0; font-size 95%; text-align center; } .media td { padding 0 2px; } .media iframe nth-of-type(n+2) { margin-top 0.3em; } .youtube + .nicovideo, .youtube + .soundcloud, .nicovideo + .soundcloud { margin-top 0.75em; } .media_section { display flex; align-items center; text-align center; } .media_section before, .media_section after { display block; flex-grow 1; content ; height 1px; } .media_section before { margin-right 0.5em; background linear-gradient(-90deg, #888, transparent); } .media_section after { margin-left 0.5em; background linear-gradient(90deg, #888, transparent); } .media_notice { color firebrick; font-size 77.5%; } /** Around track styling **/ .next-track { float right; } /** Infomation styling **/ #trackinfo .info_header th { padding .3em .5em; background-color #D8D8D8; font-size 95%; } #trackinfo .infomation_show_btn_wrapper { float right; font-size 12px; user-select none; } #trackinfo .infomation_show_btn { cursor pointer; } #trackinfo .info_content td { padding 0 0 0 5px; height 0; transition .3s; } #trackinfo .info_content ul { padding 0; margin 0; max-height 0; list-style initial; transition .3s; } #trackinfo .info_content li { opacity 0; visibility hidden; margin 0 0 0 1.5em; transition .3s, opacity .2s; } #trackinfo .info_content.infomation_show td { padding 5px; height 100%; } #trackinfo .info_content.infomation_show ul { padding 5px 0; max-height 50em; } #trackinfo .info_content.infomation_show li { opacity 1; visibility visible; } #trackinfo .info_content.infomation_show li nth-of-type(n+2) { margin-top 10px; } /** Lyrics styling **/ #lyrics { font-size 1.06em; line-height 1.6em; } .not_in_card, .inaudible { display inline; position relative; } .not_in_card { border-bottom dashed 1px #D0D0D0; } .tooltip { display flex; visibility hidden; position absolute; top -42.5px; left 0; width 275px; min-height 20px; max-height 100px; padding 10px; border-radius 5px; background-color #555; align-items center; color #FFF; font-size 85%; line-height 20px; text-align center; white-space nowrap; opacity 0; transition 0.7s; -webkit-user-select none; -moz-user-select none; -ms-user-select none; user-select none; } .inaudible .tooltip { top -68.5px; } span hover + .tooltip { visibility visible; top -47.5px; opacity 0.8; transition 0.3s; } .inaudible span hover + .tooltip { top -73.5px; } .not_in_card span.hide { top -42.5px; opacity 0; transition 0.7s; } .inaudible .img { display inline-block; width 3.45em; height 1.25em; margin-right 4px; margin-bottom -3.5px; margin-left 4px; background-image url(https //img.atwikiimg.com/www31.atwiki.jp/touhoukashi/attach/2971/7/Inaudible.png); background-size contain; background-repeat no-repeat; } .not_in_card after, .inaudible .img after { content ; visibility hidden; position absolute; top -8.5px; left 42.5%; border-width 5px; border-style solid; border-color #555 transparent transparent transparent; opacity 0; transition 0.7s; } .not_in_card hover after, .inaudible .img hover after { content ; visibility visible; top -13.5px; left 42.5%; opacity 0.8; transition 0.3s; } .not_in_card after { top -2.5px; left 50%; } .not_in_card hover after { top -7.5px; left 50%; } .not_in_card.hide after { visibility hidden; top -2.5px; opacity 0; transition 0.7s; } /** For mobile device styling **/ .uk-overflow-container { display inline; } #trackinfo.mobile { display table; float none; width 100%; margin auto; margin-bottom 1em; } #trackinfo.mobile th { text-transform none; } #trackinfo.mobile tbody tr not(.media) th { text-align left; background-color unset; } #trackinfo.mobile td { white-space normal; } document.addEventListener( DOMContentLoaded , function() { use strict ; const headers = { title アルバム別曲名 , album アルバム , circle サークル , vocal Vocal , lyric Lyric , chorus Chorus , narrator Narration , rap Rap , voice Voice , whistle Whistle (口笛) , translate Translation (翻訳) , arrange Arrange , artist Artist , bass Bass , cajon Cajon (カホン) , drum Drum , guitar Guitar , keyboard Keyboard , mc MC , mix Mix , piano Piano , sax Sax , strings Strings , synthesizer Synthesizer , trumpet Trumpet , violin Violin , original 原曲 , image_song イメージ曲 }; const rPagename = /(?=^|.*
https://w.atwiki.jp/shimizunochikara/pages/12.html
StickController ver0.1の実装 int main(void){printf("Hello world");}
https://w.atwiki.jp/nicoratch/pages/1379.html
概要 16のコントロールと8つのパッドを装備したコンパクトサイズのコントローラーです。Launchpadとの接続やiPadにも対応。DAWソフトのミキシングやエフェクト操作に最適です。 スペック表 Launch Control 16のコントロールと8つのパッドを装備したコンパクトサイズのコントローラです。音楽ソフトウェアのミキシング、音源またはエフェクトを操作するのに最適です。加えて、人気のパフォーマンスコントローラの Novation Launchpad と組合わせて使用するようにも設計され、パッドとノブの両方での操作を実現します。 Launch Control はすべてのメジャー音楽ソフトウェアのみならず、iPadにも対応します。Launch Control のパッドでサンプル再生を操作し、ノブでフィルタやエフェクトコントロールを巧みに操ることができます。 Launchpad のパーフェクトパートナー Novation Launchpad は、64の鮮やかに光るパッドで音楽制作とパフォーマンスを手法を大きく変えた新世代の音楽ツールです。Launch Control は、その Launchpad に16のノブと8つのラウンチパッドを追加し、そのパフォーマンスやスタジオ作業をよりダイナミックかつスムーズなものにします。Ableton Live または他のソフトウェアを操作、微調整、ダイナミックコントロールなど、さらなる表現をリアルタイムにおこなえます。 Launch ControlとiPad Launch Control には iPad アプリの Launchpad が用意されています。iPad に接続して、Launchpad アプリを起動するだけで、即座にプロクォリティのサウンドを操り、ダイナミックにエフェクト操作ができます。 ※iPadに接続するには別途 USBカメラアダプタが必要です。 メジャー音楽ソフトウェア対応 Launch Control は Mac および Windows 環境で動作するすべてのメジャーソフトウェアに対応します。USB クラスコンプライアントデバイスですので、特別なドライバソフトウェアなしに、Ableton Live をはじめ、Cubase Logic、FL Studio や Reason などで利用できます。さらに Ableton Live Lite とLoopsmaster のサンプル素材も付属しますので、最先端の音楽制作 / パフォーマンスソフトウェアと上質な音素材をすぐにご利用できます。 最大 448 コントロール! Launch Control の 16のノブと 8つのラウンチパッドは、コントロールテンプレートの切換えによって、1つのコントロールに最大16の異なる機能を設定できます。主要ソフトウェアに対応した8つのファクトリーテンプレートに加えて、カスタマイズ可能なユーザーテンプレートが8つ用意されています。24コントロール x 16テンプレートで合計 448 の音源やソフトウェア、プラグインパラメータを操作できます。 サイズ/重量:W x D x H = 240mm x 118mm x 23mm、470g 接続:USB クラスコンプライアント(ドライバ不要) ※iPadとの接続には別売のUSBカメラアダプタやカメラコネクションキットが必要です。 電源:USBバス電源対応(iPad 含む) パッケージ同梱物: Launch Control本体 USB ケーブル ゲッティング スタートガイド(英文、日本語版はこちらからダウンロード) ソフトウェア、アプリダウンロードのご案内 Ableton Live のご案内 ■動作環境 Mac - OS X 10.8 Mountain Lion および 10.7 Lion Windows - Windows 8 および Windows 7(64 32 bit) iPad - iOS5以降、iPad2 以降推奨、iPad mini対応 Launch Control は USB クラスコンプライアント機器ですので、USB MIDI デバイス クラス 1.0 の機器として Windows、Mac または iPadに接続してご利用いただけます。 ※付属ソフトウェアと日本語マニュアルはダウンロードとなります。 価格 ¥8,650(税抜) Launch Control https //global.novationmusic.com/launch/launch-control#
https://w.atwiki.jp/shimizunochikara/pages/14.html
スティックコントローラーの機能 スティックを倒した方向に応じて、2つのキャタピラー出力に変換し無線送信する スティックを押す事で超信地旋回するモードとしないモードに切り替わる(超信地旋回するモードの場合には緑LEDが点灯) 車体から送られたデータを読み込み、値によって赤LEDを点灯する 一定時間データが送られてこない場合通信エラーなので赤LEDが点滅する 使用した部品 Arduino Fio XBee LiPoバッテリー アナログジョイスティック LED × 2(赤, 緑) ブレッドボード ハードウェアの説明 Arduinoのアナログ入力0, 1にジョイスティックのX軸とY軸を接続し、AD変換を行っている。また、D2ピンにボタンを接続し、スイッチが押された場合はGNDレベルに落ち、割り込みが発生するようになっている。D2ピンとスイッチに関しては 10KΩのプルアップ抵抗が取り付けられている。またD3とD5ピンにLEDが取り付けられており、PWMにより明るさの調整が可能になっている。 ソフトウェアの説明 XY座標により入力されるデータを2つのモーター出力に変換している。変換のために極座標に飛ばし、角度θにより左右のモーター出力の係数を出力する関数を記述し、それをベクトルの大きさRと掛け合わせる事でモーター出力を得ている。またスイッチによりモードの切り替えを行い、モード0(超信地旋回あり)とモード1(超信地旋回しない)で別の関数を呼び出している。データは現在100ms毎に送信を行っている。チャタリング対策に関してもソフトウェア的に行っている。一旦ボタンが押された場合は500ms割り込みを無視するように設定されている。データの送信を行うと、車体側から6系統のAD変換の結果が返ってくるので、そのデータの読み込みを行いA0の結果に応じて赤LEDを点灯する。また3秒以上データがかえってこない場合は通信エラーが発生しているため、赤LEDが点滅する。 実験 Arduino Tank Ver0.1と合わせて動作実験を行い、意図した通りに動作している事を確認した。ただし、通信エラーが発生する事がある。通信エラーはPCの近く等電磁波が発生していると考えられる場所、および走っている途中で発生している。 考察 現在通信エラーが発生してしまっているので、原因を確かめる必要がある。加えて、通信エラーが発生した際に復帰する機構を車体側も合わせ作成する必要がある。通信エラーの原因の特定するために通信モジュール、および車体側のモーターノイズや電圧降下の程度を単体でテストを行う必要がある。 今後の課題 通信モジュールのテスト(どういった場合にエラーが発生するか) //ソースコード polar_stick_ver4#include MsTimer2.h #include math.h #define MAX_X 1012#define MAX_Y 998#define MIN_X 0#define MIN_Y 0#define NEUTRAL_X 414#define NEUTRAL_Y 422#define asobi 20#define STICK_LED 3#define DATA0_PIN 5 unsigned long MainTimerCount;/*TimerCount1 データの送信周期用TimerCount2 スティックボタンのチャタリング対策用TimerCount3 errorLed用TimerCount4 受信データが途切れていないかの確認用error_flag flagが1の場合はエラーなので, error_led関数がenableになる*/unsigned long TimerCount1, TimerCount2, TimerCount3, TimerCount4;int stick_mode, error_flag, error_led_mode; /*通信が不安定になった場合に実行する*/void XBee_abort(int second){ int i; make_command(0, 0); for(i = 0; i second; i++){ make_command(0, 0); delay(1000); Serial.flush(); }} void timer_interrupt(){ int i; double r, s; int left_power, right_power;//-255 ~ 255でモーター出力を表現 if(MainTimerCount - TimerCount1 = 10){//データの送信 stick_read( r, s);//極座標で値を返す関数 if(stick_mode == 0) convert_pwm2(r,s, left_power, right_power); else if(stick_mode == 1) convert_pwm(r,s, left_power, right_power); make_command(left_power, right_power); TimerCount1 = MainTimerCount; } error_led(); //タイマーの加算 MainTimerCount++;} //errorLedを点灯させる関数void error_led(){ if(error_flag == 1){ if(MainTimerCount - TimerCount3 = 50){ if(error_led_mode == 0){ analogWrite(DATA0_PIN,50); error_led_mode = 1; } else{ analogWrite(DATA0_PIN, 0); error_led_mode = 0; } TimerCount3 = MainTimerCount; } }} void button_interrupt(){ if(MainTimerCount - TimerCount2 = 50){ if(stick_mode == 0){ stick_mode = 1; analogWrite(STICK_LED, 255); } else{ stick_mode = 0; analogWrite(STICK_LED, 0); } TimerCount2 = MainTimerCount; }} void setup(){ Serial.begin(9600); pinMode(STICK_LED, OUTPUT); pinMode(DATA0_PIN, OUTPUT); MainTimerCount = 0; TimerCount1 = 0; TimerCount2 = 0; TimerCount3 = 0; TimerCount4 = 0; error_flag = 0; attachInterrupt(0, button_interrupt, FALLING); MsTimer2 set(10, timer_interrupt); MsTimer2 start(); attachInterrupt(0, button_interrupt, FALLING); stick_mode = 0; digitalWrite(STICK_LED, LOW); analogWrite(DATA0_PIN, 0);} /*rは中央からの距離, sは角度を表す. rの最大は1である.sはスティックを前に倒すと0, 左に倒すと-90, 右に倒すと90, 後ろに倒すと180 or -180を返す*/void stick_read(double *r, double *s){ double stick_x, stick_y; //スティック位置の補正 stick_x = (double)analogRead(0); stick_y = (double)analogRead(1); if(stick_x NEUTRAL_X){ stick_x = (stick_x - NEUTRAL_X) / (NEUTRAL_X - MIN_X); } else{ stick_x = (stick_x - NEUTRAL_X) / (MAX_X - NEUTRAL_X); } if(stick_y NEUTRAL_Y){ stick_y = (stick_y -NEUTRAL_Y) / (NEUTRAL_Y - MIN_Y); } else{ stick_y = (stick_y - NEUTRAL_Y)/ (MAX_Y - NEUTRAL_Y); } /* デバッグ用 Serial.print(stick_x); Serial.print(","); Serial.println(stick_y); */ *r = sqrt(pow(stick_x,2) + pow(stick_y, 2)); if(*r 1)*r = 1; else if(*r -1)*r = -1; *s = atan2(stick_x, stick_y) /3.14 * 180;}/*極座標による入力を二つのモーターの出力に変換する関数. 超信地展開するバージョン. moterの出力は-255 ~ 255である. -は逆回転を表す*/void convert_pwm(double r, double s, int *lp, int *rp){ double _lp, _rp; if(-180 = s s -90){ _lp = -1; _rp = (s + 180) / 45 - 1; } else if(-90 = s s 0){ _lp = (s + 90) / 45 - 1; _rp = 1; } else if(0 = s s 90){ _lp = 1; _rp = 1 - s / 45; } else{//90 = r = 180の時 _lp = 1 - (s - 90) / 45; _rp = -1; } *lp = _lp * r * 255; *rp = _rp * r * 255; if(abs(*lp) 20)*lp = 0;if(abs(*rp) 20)*rp = 0; /*デバグ用 Serial.print(_lp); Serial.print(","); Serial.println(_rp); */}/*極座標による入力を二つのモーターの出力に変換する関数. 超信地展開しないバージョン. moterの出力は-255 ~ 255である. -は逆回転を表す*/void convert_pwm2(double r, double s, int *lp, int *rp){ double _lp, _rp; if(-180 = s s -90){ _lp = (s + 180) / 90 - 1; _rp = (s + 180) / 45 - 1; } else if(-90 = s s 0){ _lp = (s + 90) / 90; _rp = 1; } else if(0 = s s 90){ _lp = 1; _rp = 1 - s / 90; } else{//90 = r = 180の時 _lp = 1 - (s - 90) / 45; _rp = -1 * (s - 90) / 90; } *lp = _lp * r * 255; *rp = _rp * r * 255; if(abs(*lp) 20)*lp = 0;if(abs(*rp) 20)*rp = 0; /*デバグ用 Serial.print(_lp); Serial.print(","); Serial.println(_rp); */} void make_command(int left_power, int right_power){ char c0, c1, c2, c3; left_power += 255; right_power += 255; c0 = (left_power 0b111111100) 2; c1 = (left_power 0b000000011) 5; c1 = c1 | ((right_power 0b111110000) 4); c2 = (right_power 0b000001111) 3; c3 = 0; c0 = c0 | 0b10000000;//先頭バイトの先頭ビットを1とする c0 = c0 0b111111111; Serial.print(c0); Serial.print(c1); Serial.print(c2); Serial.print(c3);} void loop(){ int i, b; char c[12]; int data[6]; if(MainTimerCount - TimerCount4 = 100){ error_flag = 1; XBee_abort(3); error_flag = 0; make_command(0, 0); delay(50); TimerCount4 = MainTimerCount; } //データの読み込み if(Serial.available()){ c[0] = Serial.read(); if((c[0] 0b10000000) != 0){ delay(30); for(i = 1 ; i 12; i++) c[i] =Serial.read(); for(i = 0; i 6; i++){ data[i] = c[i * 2] 0b01111111; data[i] = data[i] 3; data[i] = data[i] | c[i * 2 + 1] 0b00000111; } b = data[0] / 4 - 100; if(b 0)b = 0; analogWrite(DATA0_PIN, b); TimerCount4 = MainTimerCount;//データが受信できているかを監視 } }}
https://w.atwiki.jp/carnelian2048/pages/16.html
全体説明 Search the Project View for "Control", then drag drop the prefab you want directly into the Scene View. ↓[翻訳] 「Control」でProjectViewを検索し、ScenViewに直接あなたが欲しいプレハブをドラッグ&ドロップします。 実際に「Control」で検索すると、「NGUI\Examples\Atlases\Wooden」の中に、 「Control」で始まるプレハブが沢山ある。 オブジェクト解説 UI Root 初期設定だと Scaling Style PixelPerfect Minimum Height 320 Maximum Height 1532 に、なっているが、このままだと画面が見づらいので、 Scaling Style FixedSize Manual Height 480 くらいにしてしまったほうが良い。 BG 2つのSpriteが配置されているが、どちらも半透明で、後ろの色が透けて見える用になっている。 Camera NGUI用のカメラとは別に「Main Camera」があり、 NGUI用のカメラの「Clear Flags」は、Depth onlyになっている。 Control - Simple Button 【子要素】 ┗▼Label:UILabel Gradientが有効になっているが、それよりもColorが黒に設定されているので、黒単色で表示されている。 UISprite UIButton BoxCollider の基本セット。 Play状態になってから、TweenColorが作成される。 Control - Simple Checkbox 【子要素】 ┣▼Background:UISprite ┃┗▼Checkmark:UISprite、Animation ┗▼Label:UILabel UIWidget UIToggle BoxCollider UIButton のセット。 UIToggleにセットされた、UIWidgetとAnimationのターゲット先により、 Checkmarkに、起動時にTweenAlphaとActiveAnimationが追加される。 また、UIButtonのターゲット先により、Backgroundに、TweenColorが追加される。 Control - Simple Horizontal Scroll Bar 【子要素】 ┗▼Foreground:UISprite、BoxCollider、UIButton UISprite UIScrollBar BoxCollider UIButton のセット。 UIButtonがTweenColorを追加する他、両オブジェクトにUIEventListenerが追加される。 背景側のListenerを削除すると、背景をクリック際に、バーが適切な位置に移動する機能が動かなくなる。 バー側のListenerを削除すると、バーを移動させる事ができなくなる。 バーの移動可能範囲は、バーのUiSprite.Dimensionsで決まる。 本来ならバーのUISpriteの表示はDimensionsの広さいっぱいまで表示されるはずだが、 UIScrollBar.Sizeが、大きさを制御している。 また、バーに追加されているBoxColliderの大きさも、バーの表示サイズと全く同じサイズにリサイズされる。 上記の通り、バーの表示サイズはUIScrollBar.Sizeで決まり、 この値を「0」にすると、バーの表示は消えてしまうが、 バーのUISprite.SpriteTypeが「Sliced」なら、SpriteのBorderの値が示す最小の大きさ以下にはならない。 UIButton+TweenColorの動きが微妙で、 バーがない箇所の、背景にマウスを載せた時点では、背景がHoverの色に変わるが、 クリックするとマウスの地点にバーが移動し、バーの当たり判定で背景の当たり判定が隠れるため、 背景はNormalの色に戻ってしまう。 など。