본문 바로가기

Arduino

Nulsom Arduino Nano 제가 구입한건 아니고 우연히 구한 나노보드인데 칩 구성은 좋네요. USB칩으로 FTDI가 들어가 있습니다. 중국제는 주로 제일 싼 CH340 씁니다. 알아보니 국내에서 늘솜이라는 업체에서 만든 겁니다. 중요한건 가격이 2만원 넘어서 중국제에 비하면 거의 7배정도 비싸네요. 이 가격이면 정품 아두이노를 살 수 있어서 경쟁력이 떨어지긴 하네요. 그렇다고 중국제와 경쟁하기에는 중국제 아두이노 호환 보드의 가격이 너무 싸네요. 고장나면 그냥 버릴 정도의 가격이라서...
TV 리모컨으로 온도 표시 - Dot Matrix LG TV 리모컨으로 두개의 32×8 LED 디스플레이에 온도 표시 나오게 하는 프로그램입니다. 리모컨의 숫자 클릭하면 온도가 나오고 채널목록은 삭제, 이전채널은 dot이 나옵니다. 박물관에서 리모컨으로 온도 표시를 쉽게 하고자 제작했습니다. #include #include #include #include "Font_Data.h" #include SoftwareSerial mySerial(3, 2); // RX, TX int incomingByte = 0;// for incoming serial data #define DEBUG 0 // Define the number of devices we have in the chain and the hardware interface // NOTE: These pi..
Pulse Sensor LED Pulse sensor로 심박수 체크해 보는 셋업입니다. 심박수 센서가 원형 모양으로 되어 있는거 말고 MAX30102 센서로 하는게 정확할거 같습니다. LED는 아래와 같이 작동합니다. 99 < BPM – RED 0 < BPM < 60 – BLUE 59 < BPM < 100 – WHITE #define USE_ARDUINO_INTERRUPTS true #include // Variables const int PIN_INPUT = A0; // Pulse Sensor PURPLE WIRE connected to ANALOG PIN 0 const int THRESHOLD = 550; // Adjust this number to avoid noise when idle const int PIN_BLINK = 4..
Hardware Debounce 하드웨어 디바운스 74HC14 칩으로 하드웨어 디바운스 테스트 해봅니다. 왼쪽에 있는 칩이 74HC14 로 Schmitt Trigger라고 합니다. 쉬미트 트리거 칩 없이 아래 코드 실행하면 가끔식 미스가 나거나 제대로 안될 때가 있습니다. 그래서 delay도 조정해 보고 하는데 이건 기계식 접점이 가지고 있는 한계라서요. 아래와 같은 셋업이면 코드도 간단해지고 편하긴 합니다만 칩도 필요하고 회로 구성이 조금은 복잡해지네요. 하드웨어적으로 해결하면 아래와 같이 간단한 코드로 버튼 문제가 해결 됩니다. const int buttonPin = 7; const int ledPin = 8; boolean lastButton = LOW; boolean ledOn = false; void setup() { pinMode(ledPin..
Pull-Up, Pull-Down에 대해서 알아보자 핀을 버튼에 연결하면 기본적인 상태는 아래와 같다.onofffloating3번은 무조건 만들면 안된다는게 핵심입니다. 아래의 사진같이 간단히 버튼만 연결하면 3번의 상태인 floating상태가 됩니다. 주변의 전기, 전파, 노이즈등으로 영향을 받게 됩니다. const int buttonPin = 7; void setup() { Serial.begin(9600); pinMode(buttonPin, INPUT); } void loop() { int data = digitalRead(buttonPin); data == HIGH ? Serial.println("HIGH") : Serial.println("LOW"); delay(1000); }코드는 간단하게 버튼이 눌렸는지 1초마다 확인합니다. 아무것도 연결 안..