글쓴이 보관물: Suhwan Hwang

Suhwan Hwang에 관하여

Software Engineer

Dot Matrix Clock

스크린샷 2016-02-28 오전 8.10.39

Introduction

방에 시계가 있긴한데 밤이나 새벽에 시간이 궁금하면 스마트폰을 켜서 봐야하는 불편함이 있었다. 그래서 예전에 사두었던 8×8 dot matrix를 이용해서 시계를 만들어봤다.

숫자를 표시하는데 한글자당 5×7을 사용하기 때문에 시간 및 분을 표시하기 위해서는 폭이 23 (5 +5 + 3(콜론)+ 5 + 5)이 되어야하는데, 8×8 dot matrix가 3개가 필요하다. 좀 작게 만들고 재료비도 절약하기 위해서 4×8로 숫자를 표현하고, 시간은 12까지만 표현해서 2개의 dot matrix로 완성할 수 있었다.

준비물

  • Arduino (Atmega8로 대체)
  • MAX7219 Dot Matrix Module x 2
  • DS1302 Real Time Clock Module

8×8 Dot Matrix

스크린샷 2016-02-22 오후 8.12.55

8×8 dot matrix는 위 그림처럼 pin이 16개이다. arduino를 이용해 개발하는데, arduino만으로는 컨트롤 하는데 pin이 부족하고 개발 편의성을 위해서 LED Driver IC인 MAX7219를 이용했다.  ebay에서 검색하면 8×8 dot matrix와 MAX7219를 같이 팔고 가격도 저렴했다.(2~3달러)

스크린샷 2016-02-27 오전 9.25.52

MAX7219를 이용하면 3개의 pin만으로 8개까지 컨트롤이 가능하다.

Real Time Clock

Arduino만으로도 시간에 대해서 처리할 수 있지만, 정확도 및 편의성을 위해서 RTC(Real Time Clock) 모듈을 사용했다. 여기서는 DS1302를 사용했는데 자료를 찾다보니 DS3231이 좀 더 안정적이고 정확하다고 한다.

스크린샷 2016-02-28 오전 8.17.33

회로도

module을 사용해서 단순히 연결만 해주면 된다.
MAX7219 : pin 12 -> DIN , pin 11 -> CLK , pin 10 -> CS
DS1302 : pin 6 -> SCLK, pin 7 -> IO, pin 8 -> CE

Clock_bb

Source

https://github.com/entercritical/DotMatrixClock

 

Reference

  • Dot matrix

http://megtestesules.info/hobbielektronika/adatlapok/LED8x8_1088AS.pdf
http://playground.arduino.cc/Main/LedControl

  • Real Time Clock

http://playground.arduino.cc/Main/DS1302

Setting up avr-gcc on mac osx

Mac OSX에 avr-gcc 설치 방법

참고

http://maxembedded.com/2015/06/setting-up-avr-gcc-toolchain-on-linux-and-mac-os-x/

설치 방법


brew tap osx-cross/avr
brew install avr-libc
brew install avrdude --with-usb

아래와 같이 에러가 발생함

==> Downloading http://download.savannah.gnu.org/releases/avr-libc/avr-libc-1.8.
==> Downloading from http://public.p-knowledge.co.jp/Savannah-nongnu-mirror//avr

curl: (7) Failed to connect to public.p-knowledge.co.jp port 80: Operation timed out
Error: Failed to download resource “avr-libc”
Download failed: http://public.p-knowledge.co.jp/Savannah-nongnu-mirror//avr-libc/avr-libc-1.8.1.tar.bz2

해결 방법

https://github.com/osx-cross/homebrew-avr/issues/10


url 'http://mirror.lihnidos.org/GNU/savannah/avr-libc/avr-libc-1.8.1.tar.bz2'

Soldering station (using Hakko 907)

Hakko 907을 이용한 인두 온도 제어기 제작

경 고

220V를 다루기 때문에 매우 주의해서 작업하도록 합니다.
발생하는 모든 경우의 사고는 사용자의 책임입니다.

Reference

http://www.itstyle.kr/10635
http://www.ntrexgo.com/archives/6252

IMG_0044

변경사항

트랜스포머 대신에 SMPS를 사용 (24V, 4.2A)

 

주의 사항

  • DIN-604 소켓 연결이 헤깔리는데 회로도는 인두기 기준이다. 따라서 소켓 기준으로 보면 세로로 180도 반전해야 맞는다.
  • VR1 가변저항을 0으로 맞춰놓으면 인두기가 연결되지 않았다고 인식한다. 반 정도 돌려놓아야 한다. (이문제 때문에 완전 삽질함…)
  • 온도계가 없을 경우 인두기 소켓 온도 센서(3, 5 pin)에 150옴 저항을 연결하고 450도로 맞추면 된다.
  • Hakko 907은 ebay에서 clone을 저렴하게 살 수 있다.

Raspberry pi static ip adress

라즈베리 파이 고정 IP 설정하는 법

/etc/network/interfaces:
auto lo
iface lo inet loopback
iface eth0 inet dhcp

allow-hotplug wlan0
iface wlan0 inet manual
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
iface home inet static
address 192.168.38.18
netmask 255.255.255.0
gateway 192.168.38.7

iface default inet dhcp

/etc/wpa_supplicant/wpa_supplicant.conf:
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

network={
ssid=”not telling”
psk=”not telling”
    id_str=”home”
}

참고
https://www.raspberrypi.org/forums/viewtopic.php?f=91&t=22660

Raspberry pi Bluetooth pairing

Raspberry pi Bluetooth pairing

참고

https://wiki.archlinux.org/index.php/Bluetooth

# bluetoothctl 
[bluetooth]# scan on
Discovery started
[CHG] Controller 00:10:20:30:40:50 Discovering: yes
[NEW] Device 00:12:34:56:78:90 myLino
[bluetooth]# pair 00:12:34:56:78:90
Attempting to pair with 00:12:34:56:78:90
[CHG] Device 00:12:34:56:78:90 Connected: yes
Request PIN code
[agent] Enter PIN code: 1234
[CHG] Device 00:12:34:56:78:90 Paired: yes
Pairing successful