카테고리 보관물: Embedded

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을 저렴하게 살 수 있다.

Relay

Relay 사용법

dark-sensor-using-relay-Copy1 elay

<출처 : http://www.buildcircuit.com/how-to-use-a-relay/>

핀배열이 항상 헤깔린다. 가운데를 중심으로 NC는 연결,  NO는 A와 B에 전압을 걸어줘야 연결된다.

아래와 같이 회로 구성하면 된다.

relay_circuit_schematic_S

<출처 : http://www.ecs.umass.edu/ece/m5/tutorials/relay_tutorial.html >

2N3904 NPN Transistor 핀 번호 참고

스크린샷 2015-11-06 오후 8.34.48

<출처 : https://www.sparkfun.com/datasheets/Components/2N3904.pdf >

JY-MCU Bluetooth Module

Overview

Jy-mcu f.jpg Jy-mcu b.jpg

<출처 : http://reprap.org/wiki/Jy-mcu>

블루투스를 이용해서 arduino와 스마트폰을 연결할때 사용하는 모듈이다. Serial 연결을 사용해서 arduino와 연결 가능하다. eBay에서 저렴하게 구입 가능하다 (대략 $4)

Setup

AT명령어를 사용해서 name, pin, baud rate 등을 설정 가능한데, arduino를 가지고 있다면 아래 프로그램을 사용해서 간단하게 설정할 수 있다.

http://forum.arduino.cc/index.php?topic=122070.0

Arduino Leonardo를 사용해서 연결할 경우 VCC — 5V, GND — GND, RX — PIN1, TX — PIN0 로 연결하고 아래 코드에서 설정을 수정한 다음 실행하면 된다. (알아서 baud rate를 찾아서 설정해준다. Software Serial 연결을 사용하지 않은 이유는 Software Serial의 경우 9600bps을 넘으면 잘 동작하지 않는다고 한다)


// NAME maximum of 20 characters
char NAME[21] = "MOTOPANEL";

// 4 digit numeric pin
char PIN[5] = "1234";
/*
 character code for BAUD
 1 for 1200 bps 
 2 2400 bps
 3 4800 bps 
 4 9600 bps 
 5 19200 bps 
 6 38400 bps 
 7 57600 bps 
 8 115200 bps 
 9 230400 bps 
 A 460800 bps 
 B 921600 bps 
 C 1382400 bps
 */
char BAUD='7';

Test

블루투스 모듈과 arduino를 VCC — 5V, GND — GND, RX — PIN11, TX — PIN10 으로 연결한다


#include <SoftwareSerial.h>;

SoftwareSerial mySerial(10, 11); // RX, TX

void setup()
{
    // Open serial communications and wait for port to open:
    Serial.begin(9600);
    while (!Serial) {
        ; // wait for serial port to connect. Needed for Leonardo only
    }
    Serial.println("Start");

    // set the data rate for the SoftwareSerial port
    mySerial.begin(9600);
}

void loop() // run over and over
{
    if (mySerial.available())
        Serial.write(mySerial.read());
    if (Serial.available())
        mySerial.write(Serial.read());
}

아래 코드를 arduino에 업로드해 실행하고 시리얼 모니터에서 AT라고 입력하면 OK가 출력된다.

스크린샷 2015-10-24 오전 11.33.09

PC에서 블루투스 연결을 해서 테스트도 가능하다.

Window일 경우, http://embeddedprogrammer.blogspot.kr/2012/07/windows-communicating-with-hc-06.html

Mac OS일경우,

먼저 페어링을 해준다.

스크린샷 2015-10-24 오전 11.37.09

장치명 확인

$ ls /dev/tty.*
/dev/tty.Bluetooth-Incoming-Port /dev/tty.HC-06_BT-DevB
/dev/tty.Bluetooth-Modem /dev/tty.usbmodem1411

screen 실행

$ screen /dev/tty.HC-06_BT-DevB

screen에서 키보드를 입력한 내용을 아두이노의 시리얼 모니터로 확인 할 수 있다

스크린샷 2015-10-24 오전 11.49.26

참고

http://mcuoneclipse.com/2013/06/19/using-the-hc-06-bluetooth-module/

http://byron76.blogspot.ch/2011/09/hc05-firmware.html