[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

번호 제목 글쓴이 날짜 조회수
200 DIY RHA_014 이불에 쌓여온 Marantz오디오 icon 청계천도사 08-20 1,312
199 DIY RHA_013 김창완(산울림)의 녹음기(Revox Mk2) 수리하기 icon 청계천도사 07-30 2,034
198 DIY RHA_012 황동버너 수리하기2(결론: 재 탄생) icon 청계천도사 07-30 2,044
197 DIY RHA_011 황동 버너 수리의 기억 icon 청계천도사 07-30 2,119
196 DIY Arduino uno보드를 만들기 icon 청계천도사 02-16 4,440
195 DIY Digilog Electronics 005 - Digilog Electronics 이야기 icon 청계천도사 02-12 4,256
194 DIY Digilog Electronics 004 - IC/전자 부품 핀 간격 이야기 icon 청계천도사 01-05 4,722
193 DIY Digilog Electronics 003 -Summing Amplifier icon 청계천도사 01-04 4,805
192 DIY Digilog Electronics 002 - 전자회로 기ch , 실험 환경 꾸미기 +1 icon 청계천도사 01-03 5,006
191 DIY Digilog Electronics 001 - 전자회로 기초 (사실은 복습입니다) icon 청계천도사 01-02 4,956
190 DIY MC-001 가을입니다. [알레르기 시작] icon 청계천도사 09-09 5,487
189 DIY RHA_010 밥통아~!! 너도 고장 나나냐?!! icon 청계천도사 08-28 5,412
188 DIY RHA_009 Magnet Contator (마그네트스위치 전자접촉기)교체 icon 청계천도사 08-16 5,891
187 DIY RHA_008 독일제 기계도 고장나면 고물 - 결국 수리함 icon 청계천도사 08-11 6,092
186 DIY RHA_007 [야매] 휴즈 만들어 끼우기 icon 청계천도사 08-11 5,383
185 DIY RHA_006 목공용 수평 멀티 드릴 수리하기 icon 청계천도사 08-06 5,706
184 DIY RHA_005 선풍기 수리 (대형 30인치, 15파이) icon 청계천도사 08-01 6,104
183 DIY RHA_004 대형 CNC 베어링 오일 주입기 수리(미스트 오일 주입기) icon 청계천도사 07-22 5,927
182 DIY RHA_003B 지게차 수리하기 (지게차 배터리선 연결하기) icon 청계천도사 07-22 5,722
181 DIY RHA_003A 지게차 수리하기 icon 청계천도사 07-19 5,794