[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

번호 제목 글쓴이 날짜 조회수
42 DIY [더미천국] 아두이노 기초편3 입니다. (이대로 따라하면 고수된다) icon 청계천도사 12-28 12,730
41 DIY [더미천국] 아두이노 기초편 2 입니다. (이대로 따라하면 고수된다) icon 청계천도사 12-28 15,384
40 DIY [더미천국] 아두이노 기초편 1 입니다. (이대로 따라하면 고수된다) +1 icon 청계천도사 12-16 13,336
39 DIY [더미천국] 펠티에 소자를 아시나요? icon 청계천도사 12-07 13,047
38 DIY [더미천국] 키덜트레벨 장난감 만들기 - tiny induction heater icon 청계천도사 12-02 13,530
37 DIY 아나츠 토이 프린터 문제 해결 +1 icon 청계천도사 11-24 13,512
36 DIY 청계천 근드운 2020 만들기 자료 입니다. [1] +1 icon 청계천도사 11-02 12,601
35 DIY Q2.0 핸드폰 멀티 충전기 [2/5] icon 청계천도사 05-23 13,631
34 DIY Q2.0 핸드폰 멀티 충전기 [1/5] icon 청계천도사 05-20 13,653
33 DIY 볼트메터 1-7 +1 icon 청계천도사 05-03 13,451
32 DIY 핸드폰 충전기를 시험하는 측정기 개발중 [2/5] icon 청계천도사 05-02 13,461
31 DIY 핸드폰 충전기를 시험하는 측정기 개발중 [1/5] icon 청계천도사 04-18 13,821
30 DIY 볼트메터 시계만들기 1-6 icon 청계천도사 04-05 13,824
29 DIY 반려 카세트 진행 icon 청계천도사 03-24 13,917
28 DIY Hell Maker Sand Clock KIT (ver 1.0) icon 양재동메이커 02-27 13,893
27 DIY 반려 카세트 진행문제 - 여러분 의견을 묻습니다. +3 icon 청계천도사 02-17 14,448
26 DIY 볼트메터 시계만들기 1-5 icon 청계천도사 01-21 14,187
25 DIY Arduino Nano보드를 만들기 개요 [기초편] +1 icon 청계천도사 01-19 19,880
24 DIY 전동 오르골 시계 만들기 2-1 +1 icon 청계천도사 01-06 14,556
23 DIY 불꽃감지 보드만들기 하였습니다. - 시계만들기 다시 시작해야지용.. +2 icon 청계천도사 12-29 12,725