0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Arduinoで他ライブラリいりライブラリを自作する

Last updated at Posted at 2020-02-28

はじめに/目標

ライブラリ入ライブラリを自作するのが目標
今回、沼にハマったことを書いて行きたいです。

ライブラリの作り方

1.ArduinoIDEでライブラリ名の新規ファイルを作成(空ファイルにすること)
2.新規タブを生成して名前を、~.h(ヘッダファイル)と ~.cpp(ソースファイル)にする
3.ともに中身を埋めてLibrariesに入れる(.inoを消さないほうが作業が楽)

実際に制作する

ライブラリ名:FlashLib
メソッド1 :jiwa()→徐々に点灯
メソッド2 :pika()→点滅させる

ファイル

ほんとに何も入れないでください(loop関数やsetup関数がエラーの原因になります。)

FlashLib.ino

右の逆三角から新規タブ(ctrl+shift+N)を選択してください

FlashLib.cpp
# include <Arduino.h>
# include <FlashLib.h>

void jiwa(void){
  for (int i = 0; i<10; i++){
    delay(100);
    analogWrite(11,i);
  }
}


void pika(void){
    digitalWrite(11,HIGH);
    delay(100);
    digitalWrite(11,LOW);
    delay(100);
}

もう一回新規タブ

FlashLib.h
# ifndef _FlashLib_h
# define _FlashLib_h

void jiwa(void);
void pika(void);

# endif

検証(コンパイル)すると3つまとめたフォルダが生成されるので、ドキュメント保存場所(デフォルトはC:\Users\<アカウント名>\Documents\Arduino\libraries )に追加します。

使ってみる

新規ファイルをtest1とする

test1.ino
# include <FlashLib.h>

void setup() {
  pinMode(11,OUTPUT);
}

void loop() {
  pika();
  jiwa();
}

これで動くと思います。

ライブラリの中にライブラリを入れてみる

ライブラリ名:loopMan
メソッド1:loop_man5→5回ループさせるメソッド
メソッド2:loop_man10→10回ループさせるメソッド

loopMan.ino

loopMan.cpp
# include <Arduino.h>
# include <FlashLib.h>
# include <loopMan.h>

void loop_man5(void){
  for (int i = 1; i<5; i++){
    pika();
  }
}

void loop_man10(void){
  for (int i = 1; i<10; i++){
    jiwa();
  }
}
loopMan.h
# ifndef _loopMan_h
# define _loopMan_h

void loop_man1(void);
void loop_man2(void);

# endif

これもlibrariesに入れます

実際に動かしてみる

新規ファイルを作ってlibTestと、しました。

libTest.ino
# include <loopMan.h>

void setup() {
  pinMode(11,OUTPUT);
}

void loop() {
  digitalWrite(11,HIGH);
  delay(5000);  
  loop_man10();
  loop_man5();
}

5秒光って点灯して点滅しましたか???
おわり。

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?