분류 전체보기 296

C언어로 상승엣지,하강엣지 기능 구현하기

안녕하세요 오늘은 C언어로 상승엣지,하강엣지 기능을 구현해보겠습니다. 그리고 C언어뿐만아니라 다른 개발환경에도 적용 할 수 있습니다 ------상승엣지------ 상승엣지란 어떤 값이 0에서 1로 변할때를 의미합니다. 위의 그림에서 빨강동그라미의 시점을 알려주는 겁니다 사용예시) 어떤 버튼을 1번 누르면 값이 1 증가하는 기능 int main() { int btn; int num; while(1) { if(btn == 1) { num++; } } } 위의 코드에서 btn변수가 버튼을 눌렸을때 변하는 변수라고 가정하고 (버튼이 안눌리면0, 버튼이 눌리면1) 유저는 버튼을 누릅니다. btn이 1이겠죠 버튼을 누르고있는 시간에따라 num이 계속 증가하게 됩니다 원래 하려고했던 버튼을 1번누르면 값이 1증가하는..

함수 선언할 때 매개변수에 *넣는거와 안넣는거 차이점.

안녕하세요 오늘은 C언어에서 사용자함수를 정의 할 때 매개변수에 *를 넣을때와 안넣을 때 차이점을 알아보겠습니다 Colored By Color Scripter™123456789101112131415161718192021222324#include int noChange(int i){ i=100*i; return i;} int change(int *i){ *i=200*(*i); return *i;}int main(){ int a= 1; int b= 1; printf("noChange 함수 호출 리턴 값 : %d \n", noChange(a)); printf("change 함수 호출 리턴 값 : %d \n", change(&b)); printf("int형 변수 a 값 : %d \n", a); printf("i..

솔레노이드 밸브란?

안녕하세요 오늘은 솔레노이드밸브에 대해 알아보겠습니다솔레노이드 밸브는 전자석의 성질을 이용합니다전자석의 성질이란 어떤 물체에 전기가 흐르면 자석의 성질을 가지게 되고, 이러한 전자석에 전기를 흐르게 해서 스풀을 움직이게 합니다.전기를 흐르게 하는건 PLC를 통해서 하고, PLC를 통해서 하게되면 자동화를 할 수 있습니다 위의 그림을 보면 코일에 전기를 준다면 고정철심은 자석의 성질을 가지게 되고, 가동 철심이 고정 철심과 붙게됩니다 붙게되면 푸시핀을 밀게되고 푸시핀이 밀리면 스풀이 움직이게 되고 기름의 흐름이 변하게 됩니다 *솔레노이드밸브의 동작 솔레노이드 밸브 기호입니다. 빨강네모가 코일을 뜻합니다. 만약 코일부분이 없었다면 메뉴얼밸브입니다 전기신호를 안줬을때 모습입니다. 기름이 흐르지 않습니다 밸브기..

FR531-M2(리미트스위치)알아보기

안녕하세요 오늘은 FR531-M2(리미트스위치, 메이커: pizzato)에 대해 알아보겠습니다 - 배선방법뚜껑을 열어보면 위쪽이 NO이고, 아래쪽이 NC인 것을 볼 수 있습니다NO : 13,14번NC : 21,22번 스위치를 젖히면 접점이 변하는 것을 볼 수 있습니다 - 사용예시 엘리베이터승강을 제어하거나 기계의 문을 열고 닫을때 사용하게 됩니다.버튼처럼 누르면(리미트스위치를 젖히면) 신호가 들어오거나 끊기게 사용합니다

시퀀스밸브란?(압력제어밸브중 한 종류)

안녕하세요 오늘은 압력제어밸브의 한 종류인 시퀀스밸브에 대해 알아보겠습니다 시퀀스밸브란 하나의 동작의 완료를 확인하고, 그 다음 동작을 하는 밸브를 말합니다.시퀀스밸브를 알기전에 몇가지 알아야 할 개념이 있습니다 1) 파일럿 : 밸브의 on/off를 제어하는 라인- 내부파일럿 : 1차쪽 자기압력라인을 연결함.- 외부파일럿 : 외부 라인을 연결함 2) 드레인 : 기름을 빼주는 라인- 내부드레인 : 밸브랑 T라인이랑 연결되어있음. 예시) 밸브를 보면 T라인에 연결되어 있습니다 - 외부드레인 : 외부에 연결되어있음. 3)체크밸브 : IN -> OUT으로 유압 흐르기 가능. OUT->IN은 불가능함 시퀀스밸브는 파일럿,드레인이 내부인지 외부인지,체크밸브가 있는지 없는지에 따라 나눠지게 됩니다그럼 이제 예시를 통..

아두이노 외부인터럽트란?

안녕하세요 오늘은 아두이노 외부인터럽트에 대해 알아보겠습니다 일단 아두이노에서 Loop()에서 코드가 무한히 반복되고있습니다 이러한 반복되는 도중에 인터럽트핀에 입력을 받으면 어떠한 함수가 실행되는 것을 외부인터럽트라고 합니다 예를들어 Loop() 반복중 -> 외부인터럽트걸림 -> 외부인터럽트함수실행(이때 Loop은 동작안합니다) -> Loop 반복 이러한 입력을 받을수 있는 외부인터럽트핀은 어떤것을 사용하라고 보드마다 정해져 있습니다 보드 인터럽트에 쓸 수 있는 디지털 핀 우노, 나노, 미니 기타 328-기반 2, 3 메가, 메가2560, 메가ADK 2, 3, 18, 19, 20, 21 Micro, Leonardo, other 32u4-based 0, 1, 2, 3, 7 제로 all digital pi..

아두이노 2019.11.03

센서의 전류값 계산하기(직선의 방정식 코드로 나타내기)

안녕하세요 오늘은 센서의 전류값 계산하기(직선의 방정식 코드로 나타내기)를 해보겠습니다 센서의 전류값을 구한다는 의미의 예시입니다예를들어 센서로부터 센싱한 값을 전류로 입력받는다고 가정해봅시다센서의 전류가 10000mV 면 값이 100bar고센서의 전류가 0mv면 값이 0bar입니다그럼 이제 센서에서 값을 3200mV입력받으면 몇bar인지 궁금합니다 직선의 방정식 공식은 y=m(x-x1)+y1 입니다 m=(y2-y1)/(x2-x1) (기울기)(x1,y1), (x2,y2) 두 점 Colored By Color Scripter™123456789101112131415161718#include double outputY(double x,double x1,double x2,double y1,double y2){ ..

PID제어중 I제어란?

안녕하세요 오늘은 I제어에 대해 알아보겠습니다I제어는 Integral로써 적분제어입니다오차를 구분구적법에서 배웠던것처럼 시간마다 계속 더해줍니다 ※ 구분구적법시간마다 발생한 오차를 더해줍니다 예를들어 목표값이 500입니다입력값을 500을 줬는데 출력값이 300이 나왔고 오차가 200나왔습니다 (출력값은 예를든 상태, 오차 = 목표값-출력값)근데 이거 측정하는 시간이 0.004초입니다그럼 입력값을 구해본다면 I_control = 0.004*200=0.8 (밑변x 높이) 입니다이런식으로 측정시간마다 입력값을 보내주는 느낌입니다 I_control = Ki*time*error_value;Ki : 게인값time : 사이클타임error_value : 오차(목표값-출력값)) I제어-과거

전자공학 2019.10.21

PID제어중에 P제어란?

안녕하세요 오늘은 PID제어중에 P제어에 대해 자세히 알아보겠습니다 P제어는 비례제어이고 CLOSE-LOOP 제어의 일종입니다/ CLOSE-LOOP제어란 지령치를 주고 그 지령치에 대한 피드백을 받은 다음에 그 피드백을 반영해서 지령치를 주는 것입니다.예) 목표값이 500인 상태입력값을 500을 줬는데 출력값이 300이나왔고 오차는 200입니다. (출력값은 예를든 상태, 오차 = 목표값-출력값)그러면 다시 입력값 200을 줍니다출력값이 300이였는데 입력값을 200줬으니 출력값이 500이 나왔고 목표값과 일치합니다P제어(Proportional)로 해결한 상태이고 비례적입니다 이제 실제로 코드구현을 아두이노를 통해서 테스트를 해보겠습니다테스트방법은 목표값을 설정해놓고 가변저항을 현재값이라고 봅니다 Colo..

전자공학 2019.10.06

오목 잘하는법

안녕하세요 오늘은 오목 잘하는법에대해 알아보겠습니다.오목의 규칙은 일단 5개를 나란히 놓으면 이기는 게임입니다. 일단 본론으로 돌아가서 오목을 이기려면 일반적으로 3.4를 만들어야합니다지금 검정차례고, 검정이 어떤곳에 두면 무조건 이깁니다 위의 모습이 3.4입니다 3개를 만들면서 4를 만드는 모양입니다 검정이 4개니까 흰색이 무조건 막구요 검정은 3개도 있어서 4개를 만듭니다 결국 검정이 이기게 되죠 위의 3.4모양만드는 것만 익혀도 오목 실력이 늘어납니다 예시로 다른 3.4모양도 있습니다위의 3가지 경우 말고도 여러가지가 있겠죠 그럼 이러한 3.4를 만드는 방법은 일반적으로 3개를 만들면서 3.4를 만들 수 있는 모양을 만드는 것 입니다 3.4 로 이기는 방법이 일반적이고,금수로 이기는방법(3.3불가능..