日本LabVIEWユーザー会とNIが協力してユーザーが参加する新しいかたちのイベントを始めました。
第1回目のイベントの様子は次のリンクにまとめられています。各セッションで使用したスライド / 資料のリンクもありますので、当日の様子をさらに詳しく知ることができます。
2024年9月20日 第1回 LabVIEW Knowledge Exchange開催報告
私が話させていただいた内容は、関連プログラムも含めてダウンロードすることができます。
あなたの自動計測をサポートします
日本LabVIEWユーザー会とNIが協力してユーザーが参加する新しいかたちのイベントを始めました。
第1回目のイベントの様子は次のリンクにまとめられています。各セッションで使用したスライド / 資料のリンクもありますので、当日の様子をさらに詳しく知ることができます。
2024年9月20日 第1回 LabVIEW Knowledge Exchange開催報告
私が話させていただいた内容は、関連プログラムも含めてダウンロードすることができます。
今年もいわてメイカー展@11/28に出展します。
https://fabterrace.site/makerfesiwate/
山の地形の3Dプリントを紹介します。岩手山、鳥海山、秋田駒ヶ岳などの3Dプリントを手にとって登山路などを辿ると思い出が蘇ることでしょう。
趣味なら無料で使えるLabVIEW Communityもデモします。
LabVIEW Communityの電子ブック「LabVIEW CommunityEditionでプログラミングを楽しもう」をベースにして講習会を開催することになりました。
日 時:令和3年11月18日(木) 9:00~17:00 (受付8:30~9:00)
会 場:岩手県立大学 地域連携棟2F 組込みシステム実験室 (滝沢市巣子152-89)
アクセス: http://i-mos.iwate-pu.ac.jp/access/
対象者:LabVIEWに興味があり研究や技術開発のためにLabVIEWプログラミングを始めたいと考えている方、「LabVIEW CommunityEditionでプログラミングを楽しもう」をダウンロードして一読していただき、内容に興味を覚えた方
<無料電子ブックのダウンロードURL> http://quatsys.com/labview/1109/lvproraku.jp.html
定 員:8名(先着順)
申込期限:令和3年11月15日(月)17:00
受 講 料:無 料
詳細は下記リンクから
http://i-mos.iwate-pu.ac.jp/docs/2021101400016/
対象となりそうな方がいらっしゃったら紹介をお願いします。
今年は「チームいわて」で参加します。コロナウィルスへの対応で、チームメンバーに展示を託すリモート参加です。出展作品は次の2点です。
(1)「LabVIEW Community Edition用の無料の電子ブック紹介」
(2)「球体をテトラヘクス結合したピースによるピラミッドパズル」
LabVIEWは研究開発や工場の自動化などで使われているプログラミング環境で、計測・制御分野で強みを持っています。今年の5月に非商用であれば無料で使えるCommunity Editionがリリースされましたので、ArduinoやRaspberry Piを使っているメイカーに使い方を紹介したいと考えています。
電子ブックのダウンロードサイト
日本語版
英語版
初めてLabVIEWに触る人でもこの本だけで使いこなせるように、29個のサンプルプログラムを用意しました。きっとプログラムを動かしながら理解を深められると思います。
電子ブックの内容
1章 : LabVIEWで学ぶプログラミング
2章 : LabVIEWコミュニティ版を使ってみよう
3章 : グラフィカルプログラミングにふれる
4章 : 自分のアプリを作ってみる
5章 : LabVIEWとArduino
6章 : LEDの特性を調べてみよう
7章 : 半導体センサを使ってみる
六角形を4個並べた図形をテトラへクスと言い、7種類の図形があります。
六角形の内接円でテトラへクスを作ると下のようになります。
薄い円形の板ではなく球でピースを作ります。
7種類を2セットで、14個のピースを作るには56個の球が必要です。
56個の球を積み上げると一辺が6個の正四面体になります。
1+(1+2)+(1+2+3)+(1+2+3+4)+(1+2+3+4+5)+(1+2+3+4+5+6) = 56
さて、球体をテトラヘクス結合した14個のピースでうまく正四面体が出来上がるでしょうか?
難しいパズルだと感じるかもしれませんが、組立手順はたくさんあります。
問題です。球に外接する立体を使って同じように正四面体を作るにはどんな立体を使えば良いでしょうか?
菱形12面体と言います。表裏が120°ずれているので、表裏違いのピースが3種類増えます。表裏違いのピースを組みとして、7組14個でパズルを作ったのですが、球のパズルよりも8倍難しいと考えられます。
来場者にこんな話をしたかったのですが、今年は残念です。
壁時計に使っているESP32と32×8 LEDパネルのスケッチを書き換えてSendai Micro Maker Faire用のウェルカムボードを作りました。
使用部品と配線はESP32と32×8フルカラーLEDでデジタル壁時計をつくるを参照してください。
外装についてはデジタル壁時計の組み立てを参照してください。
英数字の5×8フォントを作って表示させたのが新しい点です。フォントデータが96行あるので見苦しいですが、それ以外はシンプルに書いたつもりです。左端から右端に向かってLEDの色が変化していくプログラムに、”フォントピクセルだけ表示する”という条件をつけています。
フォントデータはAppleⅡeの資料を見かけたのでデータ化してみました。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 |
//ESP32(MH-ET LIVE ESP32 MiniKIT) //Quimat RGB LEDパネルQWS03 (8X32) //2020.01.18 Koji Ohashi MaDA Lab@Morioka Iwate Japan #include <FastLED.h> #define DATA_PIN 16 #define WIDTH 32 #define HEIGHT 8 #define NUM_LEDS (WIDTH * HEIGHT) CRGBArray<NUM_LEDS> leds; int Pos[WIDTH][HEIGHT]; boolean FontMask[WIDTH][HEIGHT]; //96 font starting from ' '(space) byte FFont[96*5]={ 0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x5F,0x00,0x00, 0x00,0x07,0x00,0x07,0x00, 0x14,0x7F,0x14,0x7F,0x14, 0x24,0x2A,0x7F,0x2A,0x12, 0x23,0x13,0x08,0x64,0x62, 0x36,0x49,0x56,0x20,0x50, 0x00,0x00,0x07,0x00,0x00, 0x00,0x1C,0x22,0x41,0x00, 0x00,0x41,0x22,0x1C,0x00, 0x22,0x14,0x7F,0x14,0x22, 0x08,0x08,0x3E,0x08,0x08, 0x00,0x40,0x30,0x00,0x00, 0x08,0x08,0x08,0x08,0x08, 0x00,0x00,0x40,0x00,0x00, 0x20,0x10,0x08,0x04,0x02, 0x3E,0x51,0x49,0x45,0x3E, 0x00,0x42,0x7F,0x40,0x00, 0x62,0x51,0x49,0x49,0x46, 0x21,0x41,0x49,0x4D,0x33, 0x18,0x14,0x12,0x7F,0x10, 0x27,0x45,0x45,0x45,0x39, 0x3C,0x4A,0x49,0x49,0x31, 0x01,0x71,0x09,0x05,0x03, 0x36,0x49,0x49,0x49,0x36, 0x46,0x49,0x49,0x29,0x1E, 0x00,0x00,0x14,0x00,0x00, 0x00,0x40,0x34,0x00,0x00, 0x08,0x14,0x22,0x41,0x00, 0x14,0x14,0x14,0x14,0x14, 0x00,0x41,0x22,0x14,0x08, 0x02,0x01,0x59,0x05,0x02, 0x3E,0x41,0x5D,0x59,0x4E, 0x7C,0x12,0x11,0x12,0x7C, 0x7F,0x49,0x49,0x49,0x36, 0x3E,0x41,0x41,0x41,0x22, 0x7F,0x41,0x41,0x41,0x3E, 0x7F,0x49,0x49,0x49,0x41, 0x7F,0x09,0x09,0x09,0x01, 0x3E,0x41,0x41,0x51,0x71, 0x7F,0x08,0x08,0x08,0x7F, 0x00,0x41,0x7F,0x41,0x00, 0x20,0x40,0x40,0x40,0x3F, 0x7F,0x08,0x14,0x22,0x41, 0x7F,0x40,0x40,0x40,0x40, 0x7F,0x02,0x0C,0x02,0x7F, 0x7F,0x04,0x08,0x10,0x7F, 0x3E,0x41,0x41,0x41,0x3E, 0x7F,0x09,0x09,0x09,0x06, 0x3E,0x41,0x51,0x21,0x5E, 0x7F,0x09,0x19,0x29,0x46, 0x26,0x49,0x49,0x49,0x32, 0x01,0x01,0x7F,0x01,0x01, 0x3F,0x40,0x40,0x40,0x3F, 0x1F,0x20,0x40,0x20,0x1F, 0x7F,0x20,0x18,0x20,0x7F, 0x63,0x14,0x08,0x14,0x63, 0x03,0x04,0x78,0x04,0x03, 0x61,0x51,0x49,0x45,0x43, 0x7F,0x7F,0x41,0x41,0x41, 0x02,0x04,0x08,0x10,0x20, 0x41,0x41,0x41,0x7F,0x7F, 0x10,0x08,0x04,0x08,0x10, 0x40,0x40,0x40,0x40,0x40, 0x00,0x01,0x02,0x04,0x00, 0x20,0x54,0x54,0x54,0x78, 0x7F,0x44,0x44,0x44,0x38, 0x38,0x44,0x44,0x44,0x44, 0x38,0x44,0x44,0x44,0x7F, 0x38,0x54,0x54,0x54,0x58, 0x08,0x7E,0x09,0x09,0x02, 0x18,0xA4,0xA4,0xA4,0x78, 0x7F,0x04,0x04,0x04,0x78, 0x00,0x44,0x7D,0x40,0x00, 0x40,0x80,0x84,0x7D,0x00, 0x00,0x7F,0x10,0x28,0x44, 0x00,0x41,0x7F,0x40,0x00, 0x7C,0x04,0x18,0x04,0x7C, 0x7C,0x04,0x04,0x04,0x78, 0x38,0x44,0x44,0x44,0x38, 0xFC,0x24,0x24,0x24,0x18, 0x18,0x24,0x24,0x24,0xFC, 0x7C,0x08,0x04,0x04,0x04, 0x48,0x54,0x54,0x54,0x24, 0x04,0x3F,0x44,0x40,0x20, 0x3C,0x40,0x40,0x20,0x7C, 0x1C,0x20,0x40,0x20,0x1C, 0x7C,0x40,0x30,0x40,0x7C, 0x44,0x28,0x10,0x28,0x44, 0x1C,0xA0,0xA0,0xA0,0x7C, 0x44,0x64,0x54,0x4C,0x44, 0x08,0x3E,0x77,0x41,0x41, 0x00,0x00,0xFF,0x00,0x00, 0x41,0x41,0x77,0x3E,0x08, 0x02,0x01,0x03,0x02,0x01, 0x2A,0x14,0x2A,0x14,0x2A, }; int count=0; //Display Word char word0[] = "Nice"; char word1[] = "to"; char word2[] = "MEET"; char word3[] = "YOU"; char word4[] = "SQUARE"; char word5[] = "CUBE"; char word6[] = "PUZZLE"; void setup() { Serial.begin(115200); FastLED.addLeds<WS2812B, DATA_PIN, GRB>(leds, NUM_LEDS); //LEDS.setBrightness(20); LEDS.setBrightness(40); Serial.println("WelcomeDisplay06"); initFontMask(); setPosArray(); } void loop(){ static uint8_t hue; if(count>18){ count=0;} if(count==0){ dispWord(word0,4);} if(count==2){ dispWord(word1,2);} if(count==4){ dispWord(word2,4);} if(count==6){ dispWord(word3,3);} if(count==8){ initFontMask();} if(count==9){ dispWord(word4,6);} if(count==12){ dispWord(word5,4);} if(count==15){ dispWord(word6,6);} for(int j=0;j<WIDTH;j++){ for(int i=0; i < HEIGHT; i++){ if(FontMask[j][i]==true){ int led_num=Pos[j][i]; leds[led_num] = CHSV(hue++,255,255); } } leds.fadeToBlackBy(10); FastLED.delay(50); } count=count+1; } void FontArray2BitMap(int Num, int Pos){ for(int i=0;i<5;i++){ byte font_col=FFont[Num*5+i];//FullFont for(int j=0;j<8;j++){ if((font_col & 1)==1){ FontMask[Pos+i][j]=true; } else { FontMask[Pos+i][j]=false; } font_col=font_col>>1; } } } void dispWord(char *s1,int n){ initFontMask(); for(int i=0;i<n;i++){ FontArray2BitMap(s1[i]-' ',i*5);//from space } } void setPosArray(){ for(int i=0; i < HEIGHT; i++){ for(int j=0; j < WIDTH; j++){ if(i%2==0){ Pos[j][i]=i*WIDTH+j; } else{ Pos[j][i]=(i+1)*WIDTH-j-1; } } } } void initFontMask(){ for(int i=0; i < HEIGHT; i++){ for(int j=0; j < WIDTH; j++){ FontMask[j][i]=false; } } } |
仙台マイクロメイカーフェアに出展します。( #SendaiMMF )
2020年1月25日 12:00-17:00
産業見本市会館(仙台市) サンフェスタ301
いろいろな素材で作ったスクエアキューブパズルの紹介とLabVIEW 2014 Home版で書いた解探索プログラムのデモを行います。
例年NI Daysで開催されてきたLabVIEWユーザー会ですが、今年は日本でのNI Daysがなくなったので、独自開催を計画中です。
日時は2019年12月14日(土曜日) 13:00からを予定しています。場所は未定(浜松町周辺が候補)で、11月15日ぐらいまで参加者の人数を把握して決定するようです。会費は無料ですが、会場費を割り勘で負担する予定です。
予定しているプログラムなど詳細は下記URLのEventsから確認してください。
https://jlabcon.wixsite.com/jlabcon-top
私は、NIのディスカッションフォーラム「北東北ユーザー会」で紹介したIndustrial ShieldsのM-DuinoとSIEMENSのSIMATIC IOT2020を持参します。また、Arduino UNOの互換機でFPGA機能があるXLR8も、使いこなせていませんが、持参します。
また、テトロキューブ16個で4x4x4の立方体をくみ上げるパズルのLabVIEW版を作成しているのですが、自動的に解を探索するLabVIEWプログラムを(出来たところまでですが、)紹介します。画面上でパズルで遊ぶ部分はできましたのでNIのディスカッションフォーラム「北東北ユーザー会」の別トピックスで紹介します。
LabVIEWユーザー会に関する問い合わせは上記URLからお願いします。
メイカー、ホームユーザー向け(非商用)に無料で使える「LabVIEW Community Edition」が来年以降オープンされるとのことです。NI Communityでの質疑から分かった情報をまとめます。
– LabVIEW Community Editionは非商用での利用に限り無料で使うことができます。
– LabVIEW Community EditionはLabVIEW Professional Editionと同じ機能が透かしなしで使うことができます。
LabVIEWがインストールされていないPCでも実行できるプログラムを作成することができます。従来のHome/Student Editionはフロントパネルやダイアグラムにエディション名が書かれた透かしが入っていましたが、LabVIEW Community Editionには透かしが入りません。
– Raspberry Pi, BeagleBone, ArduinoでLabVIEWを使うことができるLINXの新しいバージョンが提供されます。
– ベータ版は2019年第4四半期、正式版は2020年5月にLabVIEW2020版でリリースされる予定です。
LINXの新しいバージョンのベータ版はすでに”NI Software Technology Preview”で公開されています。2019年第4四半期にリリースされるベータ版も”NI Software Technology Preview”で公開されます。
以上(191001)
メイカーフェア東京2018に出展します。
木目のパズル「プログラミングとレーザーカッターの素敵な関係」というタイトルで「チームいわて」のメンバーとして参加します。
ブースはC/02-02です。
「LabVIEW Home版をメイカーな人たちに広めよう」ということで、FM音源モジュールを接続したArduinoに、LabVIEWから音源パラメータを送り込むプログラムをデモします。
タッチディスプレイでLabVIEWのUIをクリックすると、
パラメータがArduinoに送られて、音源モジュールのレジスタが書き換えられ、
音源もジュールからPCのマイク端子に音声信号が送られ、
LabVIEWで信号を受け取って波形とパワースペクトルが表示され、
PCのイヤホン端子から外部スピーカーで音が出る、
というものです。
今回のデモ用にたまたまHPの安いノートPCを購入したのですが、タッチディスプレイの便利さを実感しました。
ブースレイアウトを確認してパッキングしました。
(180803)
LabVIEWで画像処理するのは便利ですかと聞かれたのでデモプログラムを作成しました。NI Visionは所有していないので無料評価版を使いましたが、あと数日で期限が切れるので、期限があるうちにアップロードすることにしました。
「ビー玉を並べる作業のAVIファイルを開いてビー玉の個数と位置を表示するNI Visionのデモプログラム」
AVIファイルのフレーム取得、斜めから撮影した画像の台形補正、差分画像の生成、登録画像の検出などが使われています。
作業者が盤の上にビー玉を4個順番に置く作業をしています。作業をビデオに録画してビー玉を置いた場所や置いた順番を自動的にチェックするプログラムです。デモプログラムはAVIファイルに記録されている作業を順次再生しながらビー玉を検知して位置と個数を表示します。デモプログラムでは判定は行いません。
ファイルはNIのCommunity「北東北LabVIEWユーザー会」からダウンロードしてください。
LabVIEW2017の”評価版”で作ったものですが、LabVIEW2009版にバージョンダウンしたものもアップしています。Visionを持っていない方は最新の評価版で試してみてください。
AVIで保存するプログラムとAVIファイルのフレームをjpgで保存するプログラムもアップしています。