본문 바로가기
코스웨어/15년 스마트컨트롤러

20150409 - 18번 안해운 - ATMega128 7Segment Control, 라즈베리파이 및 해커스쿨

by 알 수 없는 사용자 2015. 4. 9.
728x90
반응형

4/9 H/W 


◆ 온도센서

Pt 100Ω - 낮은온도에서 많이 쓰임


열전대(Thermo couple) - Pt 100옴보다 높은 온도에서 많이 쓰임. 서로 다른 종류의 금속을 접속한 것으로 열전 효과를 일으키는 금속선이다. 열전기쌍 혹은 열전쌍이라고도 한다.


Thermistor - 집에 보일러컨트롤러 같은 것 안에 들어있음. 

저항기의 일종으로, 온도에 따라 물질의 저항이 변화하는 성질을 이용한 전기적 장치이다. 

열가변저항기라고도 하며, 주로 회로의 전류가 일정 이상으로 오르는 것을 방지하거나, 회로의 온도를 감지하는 센서로써 이용된다.

서미스터는 주로 폴리머나 세라믹 소재로 제작되며, 섭씨 영하 90도에서 130도 사이에서 높은 정확도로 온도를 측정할 수 있다. 

이러한 점에서 순수한 금속을 사용하여 고온의 온도를 측정하는 저항 온도계와는 차이를 보인다.

LM35 - 개당 25,090원


◆ ATMega128 7-Segment Control 실습


-코드

//ATmega128 7-Segment Control


#define DDRA  (*((volatile unsigned char*)0x3A))
#define DDRC  (*((volatile unsigned char*)0x34))

#define PORTA  (*((volatile unsigned char*)0x3B))
#define PORTC  (*((volatile unsigned char*)0x35))

#define DELAY(x) for(uiDelay = 0; uiDelay < x; uiDelay++);


int main(void)
{
  volatile unsigned int uiDelay;
  unsigned int uiCnt = 1;
  unsigned int Ctrl;

  unsigned int ten;
  unsigned int ill;

  DDRA = 0xFF;    //A Port is ALL OutPut; 10
  DDRC = 0xFF;    //C Port is ALL Output; 1

  PORTC = ~(0xC0);
    
  DELAY(65000);

  
  unsigned char Number[10= {
    0xC0,  //0
    0xF9,  //1
    0xA4,  //2
    0xB0,  //3
    0x99,  //4
    0x92,  //5
    0x82,  //6
    0xD8,  //7
    0x80,  //8
    0x98  //9
  };

  
  
  while (1)
  {  

    if(uiCnt == 10)
    {
      uiCnt = 0;
    }

    if(Ctrl == 1)
    {
      Ctrl = 0;
    }else if(Ctrl == 0)
    {
      Ctrl = 1;
    }

    ill = uiCnt;

    if(Ctrl ==1)
    {
      PORTA = 0x01;
    }else if(Ctrl == 0)
    {
      PORTA = 0x02;
    }

    
    switch (ill)
    {
    case 0:
      PORTC = ~(Number[0]);
      break;
    case 1:
      PORTC = ~(Number[1]);
      break;
    case 2:
      PORTC = ~(Number[2]);
      break;
    case 3:
      PORTC = ~(Number[3]);
      break;
    case 4:
      PORTC = ~(Number[4]);
      break;
    case 5:
      PORTC = ~(Number[5]);
      break;
    case 6:
      PORTC = ~(Number[6]);
      break;
    case 7:
      PORTC = ~(Number[7]);
      break;
    case 8:
      PORTC = ~(Number[8]);
      break;
    case 9:
      PORTC = ~(Number[9]);
      break;
    }

    uiCnt++;

    DELAY(65000);
    DELAY(65000);
    DELAY(65000);
  
  }
  
  return 0;
}


접촉불량으로 Segment가 꺼지는 현상이 생긴다.


S/W

◆ 라즈베리파이

-암호변경

putty.exe 접속 

① ID, Password 입력

② Sudo su - 관리자모드 

③ nano /etc/network/interfaces 접속

④ bitc5600 → bitc56001 로 암호 변경


◆ 해커스쿨

http://www.hackerschool.org 접속


① 동의 체크 후에 go 클릭

② 운동장 클릭


③ LET'S GO!! 클릭


④ F T Z 클릭


⑤ go 클릭


⑥ 애플리케이션 시작


⑦ 하이퍼터미널에 접속하여 공부 할 수 있다.


※ putty로 ftz.hackerschool.org에 접속하면 한글이 깨지므로 접속하여서 세팅을 한다.


위 사진처럼 글씨들이 깨지면서 출력이 되므로 세팅을 해줘야 한다.


① 창을 우 클릭하여 Change Setting을 클릭한다.


② Window - Translation을 클릭 후에 Remote character set: UTF-8에 UTF-8을 가장 아래에 있는 Use font encoding으로 바꿔준다.


③ 세팅이 끝난 후에 login창에 trainer1 을 치면 한글로 나오는 것을 확인할 수 있다.



# Training 과정은 10단계까지 있는데 10단계까지 다 진행하더라도 계속 복습을 해주면서 스스로 공부를 하도록 한다.


728x90