myled.h
#pragma once
#include "Arduino.h"
class MyLed
{
private:
int pinnum;
public:
MyLed(int pinnum);
void ledon();
void ledoff();
};
myled.cpp
#include "MyLed.h"
MyLed::MyLed(int pinnum) {
this->pinnum = pinnum;
pinMode(this->pinnum, OUTPUT);
}
void MyLed::ledon() {
digitalWrite(pinnum, HIGH);
}
void MyLed::ledoff() {
digitalWrite(pinnum, LOW);
}
mybutton.h
#pragma once
#include "Arduino.h"
class MyButton
{
private:
int btnnum;
public:
MyButton(int btnnum);
boolean isPressed();
};
mybutton.cpp
#include "MyButton.h"
MyButton::MyButton(int btnnum) {
this->btnnum = btnnum;
pinMode(this->btnnum, INPUT);
}
boolean MyButton::isPressed(){
boolean pressed = false;
int chk = digitalRead(btnnum);
if (chk ==LOW){
pressed = true;
}
else{
pressed = false;
}
return pressed;
//return (digitalRead(pin) == LOW) ? true : false;
}
201027_ClassLedBtn
#include <MyButton.h>
#include <MyLed.h>
MyButton myBtn(2);
MyLed myLed(8);
void setup() {
Serial.begin(9600);
}
void loop() {
myBtn.isPressed();
if (myBtn.isPressed() == true){
Serial.println("btn not pressed");
myLed.ledon();
}
else{
Serial.println("btn pressed");
myLed.ledoff();
}
}
↓btn class 내가한고
더보기
btn.h
#pragma once
#include "Arduino.h"
class Btnctrl
{
private:
int btnnum;
public:
Btnctrl(int btnnum);
void Btnled();
};
btn.cpp
#include "Btnctrl.h"
Btnctrl::Btnctrl(int btnnum) {
this->btnnum = btnnum;
pinMode(this->btnnum, INPUT);
}
void Btnctrl::Btnled() {
int buttoninput = digitalRead(btnnum);
if (buttoninput == 1)
{
Serial.println("btn pressed");
}
}
https://dojang.io/mod/page/view.php?id=145
'C++ > c++수업' 카테고리의 다른 글
ㅌㅔ스트 (0) | 2020.10.28 |
---|---|
아두이노 라이브러리 (led 깜빡이는) 만들기 (0) | 2020.10.26 |
고객 차량 관리 프로그램을 위한 클래스 설계. (2개의 클래스가 사용 (0) | 2020.10.21 |
학생관리 프로그램을 위한 학생(Student) 클래스 설계 (0) | 2020.10.20 |
배열 포인터 (0) | 2020.10.20 |