2

ディスプレイに書き込むarduino unoのcppでクラスを作りたいです。LiquidCrystal_I2C ライブラリを使用していますが、クラスで使用できません。クラスなしでそれを行う方法は知っていますが、今はクラスを構築したいのですが、それを機能させることができません。

私の .h ファイル:

// WriteDisplay.h

#ifndef _WRITEDISPLAY_h
#define _WRITEDISPLAY_h

#if defined(ARDUINO) && ARDUINO >= 100
#include "arduino.h"
#else
    #include "WProgram.h"
#endif
#include <Wire/Wire.h>
#include <LiquidCrystal_I2C2004V1/LiquidCrystal_I2C.h>

class WriteDisplayClass
{
 public:
    WriteDisplayClass();
    void write(String text);
 private:
    LiquidCrystal_I2C lcd(0x27,20,4);
};

extern WriteDisplayClass WriteDisplay;

#endif

私の.cpp:

#include "WriteDisplay.h"

WriteDisplayClass::WriteDisplayClass()
{
    lcd.init();
    lcd.backlight();
    lcd.setCursor(0, 0);
}

WriteDisplayClass::write(String text)
{
    lcd.clear();
    lcd.print(text);
}


WriteDisplayClass WriteDisplay;

私の .ino:

#include "WriteDisplay.h"

WriteDisplayClass wdc;
void setup()
{
    wdc.write("Hello World");
}

void loop()
{
}

Visual Micro で AtmelStudio を使用しています。.ino ファイルのみを使用している場合は機能しますが、cpp では同じことができません。LiquidCrystal_I2C.h が見つからないなどのエラーが発生します。思い通りに動かすにはどうしたらいいですか?それとも可能ですか?

ご回答ありがとうございます。

4

2 に答える 2