[DIY] [더미천국] 아두이노 기초편 1 입니다. (이대로 따라하면 고수된다)

ARDUINO제품을 사용해서 

FND counter만드는 예제를 초보에게 맞겼더니 ...

아두이노는 제품화 하는데 쓰는게 아니란 말을 하고 헛소리한다.

그럼3D 프린터 만들어 파는 아나츠의 이동엽 대표는 뭐냐!!

 [ 아두이노는 제품화 하여도 좋은 성능을 가졌습니다. ]

 

그래서 아두이노로 제품 만드는 정도까지..할수있다고 윽박지르고 

제품으로 만드는정도 까지 실력을 높여 주기로 하였다.


일단 스위치 입력

Switch Chattering (Bounce)방지기능첨가하고 뭐 이러랬더니 결과가 엉망이다.

영 프로그램도 맘에 안들고 해서 붙잡아 놓고 첨부터 개발 과정과 전략을 소개했다.

그 복잡한거 다 빼고 뼈다귀와 소개하기 쉽게 큰 프로젝트의 

아주 조금 일부분을 떼어 여기로 가지고 왔다.

 

[개발 목표 규격]

   1. Arduino Uno보드로 FND[7 segmwnt ]1 켜기

   2. Switch 2개로 UP/down기능 실현

   3. Up0,1,2.. 9로 증가시키고 9이상은 증가 안함..

   4. Down9,8,7..0으로 다은되며 0에서 더 내려가지 않음

 

[개발하는 보드의 하드웨어/Schematic]




1998501918d8cfafc21e053eaa7f251f.png


    <회로도 사진> 


FND 연결 port 

 

FND 연결

 Arduino Pin

 Switch PIN

 Arduino Pin

 a

 D 13

Up Switch  

D 3

 b

 D 12

 Down Switch

D 2

 c

D 11

 

 

 d

 D 10

 

 

 e

D 9

 

 

 f

D 8

 

 

 g

D 7

 

 

 dp

D 6

 

 



[개발 순서]

   이런 회로 개발하라면 다짜고짜 회로와 펌웨개발하는 넘이 많다.  

전체 프로그램 작성하고 며칠 밤을 센다그래서 남이 보기에 

엄청 열씨미 프로그램하는 불쌍한 3-D업종에 근무하는 ..

   그래서 초보자에게 프로그램 방법을 5가지 스텝으로 잘라 

하드웨어 소프트웨어를  차례로 만들게 하였다. 오늘은 step 1


1. step1  - 회로도를 보고 빵판에 회로 실장하기   

2. Step2 - 일단 스위치 신호를 제대로 읽는 프로그램 작성하는게 제일 중요하다.


별도로 Timer 1 의 라이브러리 <TimerOne.h>을 추가하시길..


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
// Date Time : 2019-12-16 오전 10:41:59
// by Soo-yeub Yoo
//==============================================
#include <TimerOne.h>
/*7segmet Test by Shifting
fix SegmentsPins to fit for your Hardware */
//const int SegmentPins[8] ={13,12,11,10,9,8,7,6};
const int SegmentPins[8] ={12,11,7,9,10,13,8,6};
const int UpKey =3;
const int DnKey =2;
volatile boolean DnFlag=0;
volatile boolean UpFlag=0;
volatile byte CountUp=0;
volatile byte CountDn=0;
// the setup function runs once when you press reset 
// or power the board
void setup(){
  // initialize digital PIN 13~7 as an output.?
  for(int i=0i<8i++)
  {
    pinMode(SegmentPins[i],OUTPUT);// set each segment Pins as Output
  }
  // Pin 2 3 as Switch Input
  pinMode(UpKey,INPUT);
  pinMode(DnKey,INPUT);
  // Interrupt seting By Timer 1?
  Timer1.initialize(5000);
  // 5 mSec IRQ?Timer1.attachInterrupt(timerISR);
  Serial.begin(9600); pinMode(5,OUTPUT);
  //test
}
// the loop function runs over and over again forevervoid
loop(){
  digitalWrite(SegmentPins[3],UpFlag);
  digitalWrite(SegmentPins[0],DnFlag);
  //DnFlag=?digitalRead(DnKey);
  Serial.println(DnFlag);
}
//
void timerISR(){
  boolean inputU=1;
  byte inputD=1;
  inputDdigitalRead(DnKey);
  inputUdigitalRead(UpKey);
  //if(digitalRead(UpKey)==0)
  if(inputU==0){
    CountUp++;
    if(CountUp==4)UpFlag=1;
    if(CountUp>5)CountUp=5;
  } else{
    CountUp=0;
    UpFlag=0;
  }
  if(inputD==0){
    CountDn++;
    if(CountDn==4)DnFlag=1;
    if(CountDn>5)CountDn=5;
  } else{
    CountDn=0;
    DnFlag=0;
  }
}
// Nice to meet you!


0
0
이 글을 페이스북으로 퍼가기 이 글을 트위터로 퍼가기 이 글을 카카오스토리로 퍼가기 이 글을 밴드로 퍼가기

메이커 DIY

번호 제목 글쓴이 날짜 조회수
57 DIY [Tube] in Love - WEY20P0011 icon 청계천도사 11-20 12,979
56 DIY 인턴인 [튜브]는 라이언을 미워하지 않는다. - WEY20P0010 icon 청계천도사 11-19 16,725
55 DIY 라이언 가족중 [튜브]를 초대합니다. [19금 버전] - WEY20P0009 icon 청계천도사 11-18 14,194
54 DIY 라이언의 친구중[제이지] - WEY20P0008 icon 청계천도사 11-17 13,600
53 DIY 라이언의 친구들이 오고싶어합니다. -WEY20P0007 icon 청계천도사 11-17 13,138
52 DIY 내 친구 [미니언] 입니다. - WEY20P0006 icon 청계천도사 11-13 13,947
51 DIY 외로운 라이언에게 친구만들어주기 (Apeaxch) - WEY20P0005 icon 청계천도사 11-12 13,724
50 DIY 꽃게 철입니다. 이넘도 요리해 먹을가요? [Sebastian] - WEY20P0004 icon 청계천도사 11-11 12,166
49 DIY 오르골 기초 올렸습니다. +3 icon 청계천도사 11-09 14,209
48 DIY Thermistor 규격표 보는법 icon 청계천도사 11-06 12,410
47 DIY 곰돌이 푸우 ~~~ 가 왔습니다. - WEY20P0003 icon 청계천도사 11-05 13,432
46 DIY 라이언(카카오프렌즈) 친구 왔어요. - WEY20P0002 icon 청계천도사 11-04 12,961
45 DIY 이런 컬러링 만들기 [헬X키티] - WEY20P0001 icon 청계천도사 11-03 12,999
44 DIY 오르골 이야기 둘째 편 icon 청계천도사 06-21 14,194
43 DIY 다른 프로젝트 시작... 오르골 +1 icon 청계천도사 06-18 12,473
42 DIY 작성중 - [더미천국] 아두이노 기초편4 입니다. (이대로 따라하면 고수된다) icon 청계천도사 03-27 12,880
41 DIY [더미천국] 아두이노 기초편3 입니다. (이대로 따라하면 고수된다) icon 청계천도사 12-28 12,734
40 DIY [더미천국] 아두이노 기초편 2 입니다. (이대로 따라하면 고수된다) icon 청계천도사 12-28 15,388
39 DIY [더미천국] 아두이노 기초편 1 입니다. (이대로 따라하면 고수된다) +1 icon 청계천도사 12-16 13,339
38 DIY [더미천국] 펠티에 소자를 아시나요? icon 청계천도사 12-07 13,051