Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

This article is a Private article. Only a writer and users who know the URL can access it.
Please change open range to public in publish setting if you want to share this article with other users.

ArduinoとPCの配線、プログラム

Last updated at Posted at 2023-03-08

Arduinoの配線

Lチカの配線を作ってください。
ブレッドボードを使わずに直接LEDをArduinoに挿しても構いません。

Arduinoのプログラム

int val=0;
int from_pc='0';

void setup() {
  pinMode(13,OUTPUT);
  Serial.begin(9600);
}

void loop() {

  if(Serial.available() > 0){
    from_pc = Serial.read();
  }

  //1をON、0をOFFと考える
  //1が送られてきたらLEDを点灯、0だったら消灯
  if (from_pc=='1'){
    digitalWrite(13,HIGH);
  }else if (from_pc=='0'){
    digitalWrite(13,LOW);
  }

}

pythonフォルダをダウンロード&解凍

ここからdfLinkのpythonファイルをダウンロードしてください。
ダウンロードしたzipファイルを解凍後、フォルダ名を「iot_test」など適切な名前に変更しましょう。
※Windowsの注意
Windowsの場合はzipファイルをダブルクリックして、中にあるdfLink_sampleというフォルダだけをデスクトップなどに移動させてから名前の変更を行ってください。

VSCodeでフォルダを開く

フォルダごとVSCodeで開きましょう。
開き方がわかならない方は
ブートキャンプでやったVSCodeでフォルダを開く動画を参考にしてください。

Pythonのプログラム

main.pyに下記のプログラムをコピペします。

main.py
import dfLink
import time

#端末設定---------------------
#端末keyを指定してください。
pkey=''
#-------------------------------------------

#シリアルポートを入力-------------------------
#serial_serch.pyでシリアルポートを検索してください
serial_port=''
#-------------------------------------------
#Arduinoとのシリアル通信設定-------------------
my_arduino = dfLink.set_serial(serial_port,9600)
#-------------------------------------------


# --------------------------------------------------------------
while True:

    # IoTサーバーからデータの取得----------------------------------------------------
    data_list = dfLink.getData_From_dfLink(pkey=pkey)
    # リスト形式で取得される
    print(data_list)
    # --------------------------------------------------------------
    #最初データ(0番目)の塊の中の2番目のデータを読みたい(0から始まるので、本当は3番目)
    try:
        int_data =int(data_list[0][2])
        print(int_data)
        
        # int_dataが1だったら、'1'を送信(点灯させる)、それ以外の時は'0'を送る(消灯させる)
        if int_data==1:
            to_arduino = '1';
        else:
            to_arduino = '0';


        #Arduinoにデータを送る
        my_arduino.write(to_arduino.encode())
    except:
        print("データなし")

    time.sleep(1)#指定した秒数を待つ(msでなく秒なので、注意)  

端末keyの入力

プログラム中の端末keyには、グループ1の人たちがdfLinkで作成した端末keyを入力します。(絶対に間違えるので、コピペしましょう。)
スクリーンショット 2023-03-08 18.41.35.png

こんな感じです。

#端末keyを指定してください。
pkey='bbbbbbbbbbbbbbbbbbbb'

serial_serch.pyでシリアルポートを検索

  1. serial_serch.pyを実行し、Arduinoと繋がっているシリアルポートの名前を調べまます。
  2. 複数表示された場合などはArduino IDEからどのシリアルポートを使っているかしらべて、そのシリアルポート名をコピーします。windowsの場合、COM3などCOM数字の表示になっています。

スクリーンショット 2022-01-31 9.36.21.png

main.pyを変更

3-5でコピペしたシリアルポートをmain.pyの中のserial_portという変数にコピーしたシリアルポート名を代入します。

例(macの場合):名前はmacでも各々異なります。

serial_port='/dev/tty.usbmodem14301'

実行

main.pyを実行しましょう。(データがありません)とでていればOKです。

エラーがでたら、インタープリターを設定しなおしてください。
動画:インタープリターの設定

0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?