본문 바로가기
C++/c++수업

class - btn+led 버튼 누르면 led on off

by sj0020 2020. 10. 27.

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 언어 코딩 도장: 20.2 삼항 연산자 사용하기

먼저 삼항 연산자를 사용하기 전에 if 조건문으로 num1의 값이 참이면 num2에 100을 할당하고, 거짓이면 num2에 200을 할당하는 코드를 만들어보겠습니다. if_else.c #include int main() { int num1 = 5; int num2; if

dojang.io