2020/09/19

MPLAB X IDE の日本語が文字化けしないようにする方法

 MPLAB X IDEで開発していると、コメントアウトした日本語が文字化けしていませんか?

 

プログラミングをやっていると、開発途中に気付いたことや忘れてはいけないことがどうしても出てきますよね。そんな時、僕たちはコメントアウトで注記を記載していきます。

時間が経ってからプログラム全体を見返すと、もう忘れてしまっている設定やコマンドがいくつも出てきます。「コメントを書いておけばよかったな」なんて思いを何度も噛み締めていると、自然とコメントアウトを書いていくようになるはず。


もしも、大切なコメントが全部文字化けしていたら、落ち込みますよね。

僕の場合、MPLAB X IDEで組み込みプログラミングをやっていた折、1日かけて記載していった全てのコメントが文字化けしてしまいました。その日はとてもやる気が起きずに、そっと開発環境を閉じて、ぼんやりと空を眺めていようと心に誓いました。


文字化けが起きないように設定をしない自分に問題があるのは理解していますが、僕以外の方々にそんな悲しみを背負ってほしくないです。

なので、今回はMPLAB X IDEで日本語の文字化けが起きないようにする対策について紹介します。

 

MPLAB X IDE の日本語文字化け対策

  1. 新規にプロジェクトを作成する場合

    "File"タブにある"New Project"から新規にプロジェクトを作成していくと、以下の順序でダイアログボックスが進んでいきます。
    • Choose Project
    • Select Device
    • Select Header
    • Select Plugin Board
    • Select Compiler
    • Select Project Name and Folder

    プロジェクトの名前や保存先ディレクトリを設定する"Select Project Name and Folder"の段階で、日本語が文字化けしないエンコーディングを設定できます。

     "Encoding" を "Shift_JIS" へ切り替えてから(画像だと赤枠部)、finishして下さい。



  2. 既存のプロジェクトの場合

    Projectのプロパティを選択し、"Project Prperties"を開いてください。

    "General"の項目を選択して下さい。

    "Encoding" を "Shift_JIS" へ切り替えてから(画像だと赤枠部)、OKして下さい。





  3. プロジェクト作成の度にやりたくない場合

    "Tools"タブの"Options"を選択して下さい。

    開いたOptionsフォームで"Embedded"を選択し、"Generic Settings"タブを選択して下さい。

    "Default Charset"を"Shift_JIS"へ切り替え、OKして下さい。



 

まとめ

今回は MPLAB X IDE でコーディングをしていく際、日本語が文字化けしてしまう問題への対策について紹介しました。

日本語表記が出来るCharset "Shift_JIS"です。

新規にプロジェクトを作成する場合、プロジェクト名や保存先ディレクトリを決定する"Select Project Name and Folder"の段階で"Encoding"へ "Shift_JIS" を設定します。

既存のプロジェクトの場合、Projectのプロパティを開き、"General"の項目にある"Encoding"へ"Shift_JIS"を設定します。

Charset をデフォルトで"Shift_JIS"にする場合、"Tools"タブから"Options"を開き、"Embedded"の"Generic Settings"タブにある"Default Charset"を"Shift_JIS"にします。


これでもう日本語が文字化けしなくなります。

いつ見返しても良いように、大切なコメントをたくさん書き入れましょうッ!

 

2020/09/16

C# でシリアル通信! オブジェクトの追加を忘れずにねッ

 「あちこちのサイトでserialPort1って変数が急に出てきているけど、どうして?」

 

最近、C#でプログラミングを行うのが多くなってきました。その折、パソコンとある機器を接続する為にシリアル通信を行わなければならなくなりました。

色々と機能を使用したいなって思い、C#でシリアル通信のプログラムをコーディングしていく最中に呟いてしまったのが、最初の言葉です。

 

現代は物とインターネットを繋ごうって言うIoTの時代です。IoTよりも古いRS-232Cなんて、もはや化石と言っても良いレガシーな話です。とはいえCOM番号を調べれば単純に接続出来るシリアル通信は、機器の機能として持っていれば便利です。。だから、産業機器を扱う工場系ではいまだに使われているところも多いそうです。

 

かくいう私も必要になってしまい、色々と調べ上げてC#でシリアル通信を行いました。せっかくなので調べ上げた成果をこの場で紹介しようと思います。

 

C#でシリアル通信を行うには、オブジェクトを追加しよう


フォームのデザインを行うタブへ切り替え、ツールボックスの検索で"serialPort"と入力して、検索を実施して下さい。

 

 

 

 

 

 

検索を行うと「すべてのWindowsフォーム」欄に"SerialPort"が出てきますので、これをダブルクリックしてフォームへ追加して下さい


フォーム下部に表示された"serialPort1"がシリアル通信を行う為に追加されたオブジェクトです。この"serialPort1"に対して接続に必要な設定を行う必要があります。


 

 

ではプログラミングに移りましょう。Let's start Coding!!


シリアル通信の設定

 COMポートを用いたシリアル通信では、大まかに以下の設定を行う必要があります。

  • COM Ports
  • BaudRate
  • DataBits
  • Parity
  • StopBits 


パソコンと接続したい機器の通信仕様を確認ください。

今回、紹介するプログラムの例では以下のようにしようと思います。

  • COM Ports COM3
  • BaudRate 9600
  • DataBits 8
  • Parity None
  • StopBits 1

 

実際のコーディングはこちらです。ボタンクリックなどから呼び出します。

private void SerialPortOpen()
{
serialPort1.BaudRate = 9600;
serialPort1.Parity = Parity.None;
serialPort1.DataBits = 8;
serialPort1.StopBits = StopBits.One;
serialPort1.PortName = "COM3";
serialPort1.Open();
if( serialPort1.IsOpen != true ) { MessageBox.Show("接続失敗"); }
}
 

ではさっそく、一つずつ解説していきます。

  • serialPort1
    フォームに追加したオブジェクトの名前です。追加したオブジェクトの中身を設定していますので、フォームに追加したオブジェクト名と一致させて下さい。

  • serialPort1.BaudRate
    BaudRate の設定項目です。整数値で指定してください。

  • serialPort1.Parity
    Parity の設定項目です。この項目は定数があらかじめ設定されているので、そちらを利用したほうが良いです。定数は以下となります。
    • none:System.IO.Ports.Parity.None
    • 奇数:System.IO.Ports.Parity.Odd
    • 偶数:System.IO.Ports.Parity.Even
    • mark:System.IO.Ports.Parity.Mark
    • スペース:System.IO.Ports.Parity.Space

  • serialPort1.DataBits
    DataBits の設定項目です。整数値を指定してください。

  • serialPort1.StopBits
    StopBits の設定項目です。この項目は、Parity同様に定数があります。定数は以下の通り。
    • none:StopBIts.None
    • 1:StopBits.One
    • 1.5:StopBits.OnePointFive
    • 2:StopBits.Two

  • serialPort1.PortName
    シリアル通信を行うCOM番号の設定項目です。文字列で指定します。

  • serialPort1.Open();
    シリアルポートをオープン状態にします。

  •  if( serialPort1.IsOpen != ture )
    serialPort1.IsOpen はシリアル接続の状態をbool型で返してくれます。
    • 接続状態:true
    • 接続失敗:false


最後に

無事に接続出来ましたか?

今回はC#によるパソコンと機器のシリアル通信の方法について紹介しました。

C#によるシリアル通信ではまずフォームにシリアル通信のオブジェクト"serialPort"を追加する必要があります。 そしてオブジェクト"serialPort"に対し、設定を行います。

行うべき設定は①COM Ports, ②BaudRate, ③StopBits, ④Parity, ⑤DataBits。設定する際には型を揃える必要がありますが、あらかじめ定数が設定されている項目もあるので、そちらを利用したほうが間違えが起きません。

シリアル通信の設定を終えたら、Open()関数でCOMポートを接続状態にします。本当に接続出来たかな? と確認する場合にはIsOpenで調べれば true or false で判断が出来ます。


絶対にオブジェクト"serialPort"をフォームへ追加して下さい。さもないと私のように頭をひねる展開が皆さんに訪れてしまうかもしれません。

 

最後まで読んでいただき、有難う御座いました。

 

2020/09/13

C# のlistsoxから色々な値を取得する4つの方法

 久しぶりのプログラミングをしていたら、忘れる事ってありませんか?

 

僕は良くあります。「これ何だったかな? 少し前に調べたんだけれど……」ってやるたびに首を傾げます。

日々、プログラミングに勤しんでいる方なら、「おいおい、そんなの基本だろう?」と思うかもしれませんが、時間を置いてしまうと人はすぐに忘れてしまいます。

 

そんな訳で、今回はC#のlistbox から色々な値を取得する4つの方法について紹介します。

 

前提条件ですが、

  • listboxの名前は"listbox1"とする
  • MessageBoxに出力できる場合は出力可能な書式とする

以上を踏まえようと思います。



①インデックス番号を取得する場合

戻り値

選択されている場合、一番上の項目ならば 0 が返り、その下ならば 1 となります。選択されていないと -1 が戻ります。

コード

MessageBox.Show(listbox1.SelectedIndex.ToString());


②選択されている項目を取得する場合

戻り値

選択されている項目をObject型で返し、選択されていないと NULL となります。

仮にToString()でString型にした場合、項目が選択されていればテキストに設定した値が取得できますが、選択されていないとErrorとなります。

コード

MessageBox.Show(listbox1.SelectedItem.ToString());

 

③選択されている項目の値を取得する場合

戻り値

DataSourceプロパティに設定しているならば、選択されている項目のValueMemberプロパティで指定した値を返します。

コード

listbox1.SelectedValue;


④選択されている項目のテキストを取得する場合

戻り値

選択されている項目のテキスト値をString型で返し、選択されていない場合は未定義が返ります。

コード

Messagebox.Show(listbox1.Text);


まとめ

今回はC#でlistbox から色々な値を取得する方法について紹介しました。

C#のlistbox ではインデックス番号を取得する際には"SelectedItem"を使用し、選択されている項目を取得する場合は"SelectedItem"を使います。項目の値を取得するには"SelectedValue"項目のテキストを取得するには"Text"とします。

"SelectedItem"と”Text"は項目が選択されているならば同じ値を取得できますが、選択されていない状態では"SelectedItem"はNULLとなり、"Text"では未定義となります。

2020/09/03

ライティングってどうやるの? ライターが気を付けるべき3つの基礎

「サイト作りを始めたいけれど、どういう文章を書けば良いのか分からない」

「この商品を皆に伝えたいけれど、どうすればいいのかな?」

 

いざ文章を書き始めようと思った時、このような思いに捕らわれてしまって、なかなか書き出せずにいませんか?

今日、Webにはたくさんの記事があります。その中で自分の書いた記事を見つけてもらえたのならば、最後まで読み切ってほしいと思うのは僕だけじゃないはず。


ということで、今回はライティングをする上で身に付けておくべき3つの基礎について紹介していこうと思います。


ライティングの基礎

Step1.記事構成の大切さ

記事構成とは記事全体のストーリーです。記事構成が良ければ伝えたい内容がボヤけずに内容を伝えていけますので、最後まで読んでもらいやすくなります。

逆に、記事構成が破綻してしまっていたら、どのようなテクニックを取り入れようとも無意味なものになってしまいます。読み手は飽きてしまったり、退屈になったりして、読むのをやめてしまうかもしれません。


さて、それでは記事構成について詳しく記載していきます。

記事構成の考え方としてよく取り入れられるのは、能の世界で用いられる「序破急や、漫画や小説などで使用する「起承転結です。どちらも学生時代に国語の授業で耳にしましたね。

「起」は導入文、「承」は記事全体の概要を説明し、「転」は結論と詳細、「結」は全体のまとめという意味になります。

  • 起:キャッチーな文章で読み手へ手短に概要を伝える導入文
  • 承:記事全体の概要説明。場合によっては結論も記載する
  • 転:結論と根拠
  • 結:概要と結論を結びつけて記事をまとめる

記事構成を前提にしながら文章をまとめていけば、読みやすいライティングになっていきます。

 

記事構成の「起承転結」を考える方法ですが、記事にしてみようと思う内容に対して情報収集をすることで決定していきます。

書籍やWeb等で情報を収集していくことで、読み手が何を求めているのか? 何を知りたいのか? といったニーズを把握できます。

さらにWebの場合、検索に関連する用語が自動で表示されますよね。例えば「ガラス」で検索をかけてみると

  • ガラス 成分
  • ガラス 液体
  • ガラス 原料
  • ガラス バーナー

"成分"や"原料"等、理化学的な情報で検索をかけているのが分かります。ガラス工芸で検索かける人って少ないのね……

この関連する用語を含めながら記事にしたい内容について調べていけば、自然に結論と根拠が明確になり、「記事にしてみようと思う内容→結論と根拠」の流れが出来上がり、ライティングをスムーズに進めていけます。


Step2.タイトルは読み手の気持ちになる

タイトルとはご存知の通り、記事の見出しです。僕たちがWebで検索をかけた時、記事の内容よりも先にタイトルを目にしてクリックしていますよね。なので、タイトルが与える印象ひとつで記事を読んでもらえるかどうかが変わってきてしまいます。

読み手の多くは何かしらの悩みや考え事を解決しようとして、Webで検索を行います。その為、タイトルは「この記事だったら分かるかな」と感じられるキーワードを使用した方が目に止まりやすいです。

タイトルに盛り込むキーワードの位置はなるべく左側へ。Webで日本語を表記する際、左から右へと並んでいるので、目の始点は常に左側に位置しています。よって左側にキーワードを置いた方が、特定の語句を検索している読み手に対して有利ですよね。

とはいえ、たくさんのキーワードを並べてタイトルを長くしたら逆効果です。一度に視認できる文字数には限りがあります。タイトルは記事の概要を30字程度の文字数に要約する気持ちでつけていきましょう。


Step3.SEO

SEOとは検索エンジン最適化(Search Engine Optimization)の頭文字を取った略語です。

検索エンジンが適正に評価し理解出来るように自分の記事を最適化することで、GoogleやYahoo、Bingなどの検索エンジンでキーワードが検索された際、検索結果の上位へ表示されるようにします。

SEO対策をする上で最も重視するべきポイントは「読み手へ価値ある情報を伝えつつ、検索エンジンが正しく理解出来る内容」という条件を満たした記事を作成することです。

特定のキーワードを記事内に多用したり、タイトルや見出しに取り入れたりして重要なキーワードだと検索エンジンに理解してもらう必要がありますが、読み手が退屈にならない程度に抑える必要があります。


まとめ

今回はライティングの基礎について記事にしました。

ライテイングにおいて重要なのは情報収集をし、結論と根拠を踏まえた上で「起承転結」に沿った記事構成を組み上げること。関連する用語についても調べておくことで、内容の幅を広げられます。

記事のタイトルへ入れるキーワードはなるべく左側へ。読み手がパッと見て把握出来るように30字程度とし、表現は魅力的に感じられるようにします。

記事とタイトルは検索エンジンが理解出来るにSEO対策をする必要があります。

2020/08/16

ガラス細工「モチーフ:花」

 こんにちは、A-keyです。

 

ガラス細工の新作が出来ましたので、紹介致します。



作品名「モチーフ:花」



 

僕が記憶している「花」というイメージを形にしました。

「花」と一括りに言ってもその品種は星の数ほどあります。

この作品は見る人によって、きっと思い浮かべる花の名前が違うだろうと思います。


それも「〇〇という花」のように固有名詞を持たないからこそ、様々なイメージが思い浮かんでくるのだろうと考えています。


花飾りの置物にするには小さな形だった為、首掛けのアクセサリーの形を取りました。

自己主張の強くなく、日常的に目にする色合いなので気兼ね無く身に付けられます。

しかし、ガラスなので取り扱いは注意しなければならないかもしれません。


今日はぶらりと出かけて、カフェでゆっくりと本を読んだり。

親しい誰かと一緒に映画を見たり。


そのような静かな時間を過ごす時に、胸元に可憐な花が咲いているのも素敵な光景です。






 

 

2020/08/15

Google Bloggerを独自ドメインに切り替える方法とメリット・デメリット

 こんにちは、A-keyです。

 

今回はBloggerを独自ドメインに切り替える方法について紹介していきます。

僕自身、独自ドメインってどうなんだろう? と考えていた時期もありましたので、その時に思ったメリット・デメリットについても記載します。


ちなみに、まだ基本的な設定もしていないよって方は、10分程度で終わりますので、こちらの記事を参考にBloggerの設定をしてみてください。



そもそも独自ドメインって何?

ドメインとはインターネット上でコンピュータやネットワークの場所を特定する文字列の事で、ざっくり言ってしまうとネットワーク上での住所を意味します。

 

独自ドメインは独自に文字列を設定し利用できる状態にしたドメインとなります。

 

それに対し、Blogger等のブログサービスから提供されるドメインはサブドメインとなります。

ブログの設定を行っていく時、ブログアドレスを設定すると末尾に"blogspot"という文字が追加されました。

この"blogspot"の大きな枠組みの中で僕達のブログアドレスがある形となっています。

 

分かりやすく現実で例えるならば、Blogger等ブログサービスで提供されるサブドメインはマンションの一室を借りた状態なのに対し、独自ドメインは一軒家を所有した状態となります。

サブドメインの状態では"blogspot"というマンションの中でブログ運営をしています。

独自ドメインでは自分が選んだ住所に建てた一軒家で活動しています。

 

 

独自ドメインのメリットは?

サブドメインはマンションの一室なのに対し、独自ドメインは一軒家だと説明しましたがではわざわざ一軒家を建てるメリットは何か? となります。

独自ドメインを持てば、こんな事が出来るようになります。

  • 引っ越し先も同じURL(住所)に出来る
  • SEO的に有利かもしれない
  • Googleアドセンスを申請できる

 

では、一つずつ説明していこうと思います。


引っ越し先も同じURL(住所)に出来る

独自ドメインを得るはネットワーク上で自分の住所を持つ事を意味します。

その為、独自ドメインを持っていればblogger以外のブログサービスへ移動しようと考えた際に記事コンテンツを移動させても現状のURLを引き継ぐことが出来ます

 

サブドメインの場合には住所が変わってしまうので、もしも自分の記事から別の記事へリンクを貼っていたり、別の方が自分の記事にリンクを貼っていたりしたら、それらを全て修正していく必要が出てきます。


またURLそのものが変わってしまっているので、今まで見てくださった読者の方々がたどり着けなくなってしまいます。

別のブログサービスに移動した後で、読者集めも1からやり直さなくてはなりません。

 

独自ドメインならばURLそのものが変わりませんので、今までの環境を維持したままブログ活動を続けていけます。

 

 

SEO的に有利かもしれない  

検索エンジンは同じドメインのサイトが複数件、表示されるのを好みません。

要するに「検索結果の1頁目、全てのサブドメインがBloggerの記事だった」という事が起きないようになっています。

 

よって、似た内容のコンテンツが同じブログサービス内にあった場合、そのコンテンツよりも評価の高い記事でなければ検索結果の表示がされない可能性があります。

 

独自ドメインの場合、こういった影響を受けないので、安定した評価を得られます


もちろん、良い記事を書かないとダメですよ? ……僕もねorz

 

Googleアドセンスを申請できる

bloggerを除き、Googleアドセンスに申請する場合には独自ドメインを有している事が条件となりました。

 

bloggerの場合、サブドメインでもGoogleアドセンスの申請が可能ですが、この場合、アドセンスアカウントの違いが発生してしまいますので注意が必要です

 

 

独自ドメインのデメリットは?

独自ドメインのデメリットは、お金がかかってしまう事ですが、年間1500円程度です

年単位で見てもランチ1回分、月単位にすると缶ジュース1本分の金額に見合うか見合わないかで決めると良いと思います。

 

 

bloggerを独自ドメインに切り替える方法は?

長くなりましたがようやく独自ドメインへ切り替える方法を紹介していきます。

独自ドメインの取得にはクレジットカードによる支払いが必要になるので、準備して下さい。

 

設定箇所は「管理画面 → 設定」の'カスタムドメイン'にあります。

 

 

 

 

カスタムドメインを選択したら、次に「ドメインを購入」を選択して下さい。

 

 

 

[Bloggerに接続するドメインを購入]欄に自分で設定したいドメインを入力して、

虫眼鏡マークをクリックしてください。

もしもそのドメインが使えれば購入欄が選択できますので、欲しいドメインを選択していきます。

 

 

ちなみに、".com" や ".co" にはそれぞれ役割があります。

数がたくさんあるので全ては列記できませんが、メジャーな所だけ纏めてみました。

      

役割が違うように価格も異なってきますので、今後のコスト管理の範囲で決めていく必要が出てきます。

 

ちなみに僕は"com"を選択しました。

理由としては「ガラス工房として商品を提供していきたい」という思いがあったからです。

 

欲しいドメインの購入を選択すると、料金の自動更新について聞かれるので、僕はオンにしました。

 

この後に金額の支払い方法について問われます。

クレジットカード情報や個人情報が含まれますので画像での表示は控えさせて頂きました。

 

 

無事に支払いが完了すると、設定の画面に戻されるので、取得した独自ドメインをbloggerに設定していきます。

設定箇所は独自ドメインの取得を開始したところと同じ個所をクリックしてください。

 

 

 

[カスタムドメイン]欄へ先ほど取得した独自ドメインを「www.独自ドメイン」と入力してください。

私の場合、独自ドメインを"atelier-mugen.com"で取得したので、カスタムドメイン欄には「www.atelier-mugen.com」となります。

 

 

入力を終えたら、「保存」をクリックして設定が完了です。

無事に設定が終えていれば、カスタムドメイン欄に表示が出るようになります。

 

 

カスタムドメインを設定すると、HTTPS化が無効になります。

HTTPS化した方がSEO的に、読者の安心感的に良いので、こちらの記事を参考に有効化して下さい。

 

MPLAB X IDE の日本語が文字化けしないようにする方法

  MPLAB X IDE で開発していると、 コメントアウトした日本語が文字化け していませんか?   プログラミングをやっていると、開発途中に気付いたことや忘れてはいけないことがどうしても出てきますよね。そんな時、僕たちはコメントアウトで注記を記載していきます。 時間が経って...