본문 바로가기

아두이노21

Arduino - DC 모터 (motor.h, car.h) DC 모터 DC 모터 L298N 모터 드라이버 모듈 속도 설정 ENA, ENB 점퍼스위치가 있는 경우 정속도(속도 조절 불가) 점퍼스위치를 제거하고 PWM 핀에 연결하면 속도 조절 가능 모터 방향 설정 CAR-EX/app.ino // 우측 바퀴 int IN1 = 8; int IN2 = 7; int EN1 = 9; // 좌측 바퀴 int IN3 = 5; int IN4 = 4; int EN2 = 3; // PWM 제어 void setup() { pinMode(IN1, OUTPUT); pinMode(IN2, OUTPUT); pinMode(EN1, OUTPUT); pinMode(IN3, OUTPUT); pinMode(IN4, OUTPUT); pinMode(EN2, OUTPUT); } void loop() { /.. 2020. 10. 16.
Arduino - 블루투스 조이스틱 컨트롤러 블루투스 컨트롤러 블루투스 조정기 Joystick으로 컨트롤 bt_controller/app.ino #include #include #include Led led(13); JoyStick joy(A0, A1, 8); BtMiniCom com(10, 11, NULL); bool mode = true; // true : 주행모드, false: 카메라 방향 모드 void setup(){ com.init(); com.print(0, "MiniCom Start"); joy.setRangeX(255, -255); joy.setRangeY(-255, 255); joy.setCallback(changeMode); led.off(); com.setInterval(50, readJoystick); } void loop().. 2020. 10. 16.
Arduino - 블루투스 통신 HC-05 (BtMiniCom.h) 아두이노 블루투스 통신 HC-05 Bluetooth 버전: 2.0 EDR Bace: csr BC417 라디오 + MX 29LV800CBXBI-70G 메모리 동작모드: AT mode, 통신모드 AT모드 기본 통신속도: 38400 통신모드 기본 통신속도: 9600 입력전압: 5V 동작전압: 3.3V 민감도: -80dBm 전송출력: +4dBm AT 모드 진입 방법 버튼을 누른채 전원 블루투스 전원을 뽑았다가 다시 연결 블루투스 LED가 2초 간격으로 점멸 시(AT 모드 진입) 버튼을 뗌 참고) 연결 모드시 빠르게 LED 점멸 AT 모드의 속도 : 38400 데이터 통신 속도 : 9600 동작확인 chapter6/ex01/app.ino #include SoftwareSerial BTSerial(2, 3); //.. 2020. 10. 16.
Arduino - Digital Sensors 검정색 센서는 +, - 라벨이 반대로 된 경우가 많다. 레이저 센서 laser transmitter module void setup() { pinMode(13, OUTPUT); } void loop() { digitalWrite(13, HIGH); delay(1000); digitalWrite(13, LOW); delay(1000); } High-sensitive Voice Sensor DIGITAL_SENSOR/app.ino int Led = 13; // define LED Interface int buttonpin = 3; // define D0 Sensor Interface int val; // define numeric variables val void setup() { pinMode(Led, O.. 2020. 10. 16.
Arduino - LED Sensors, 온도 센서 RGB LED, SMD LED int bluepin = 9; // select the pin for the blue LED int greenpin = 10; // select the pin for the green LED int redpin = 11; // select the pin for the red LED int val; void setup() { pinMode(redpin, OUTPUT); pinMode(bluepin, OUTPUT); pinMode(greenpin, OUTPUT); Serial.begin(9600); } void loop() { for (val = 255; val > 0; val--) { analogWrite(11, val); analogWrite(10, 255 - val); a.. 2020. 10. 16.
Arduino - WIFI - ESP8266 - 라이브러리 (WifiUtil.h) ESP8266 라이브러리(WiFiEsp) ESP8266 라이브러리 라이브러리 설치 WiFiEsp 라이브러리 설치(라이브러리 관리자 이용) 검색: WiFiEsp by bportaluri 선택 https://github.com/bportaluri/WiFiEsp API 문서 https://www.arduino.cc/en/Reference/WiFi WiFi 객체 주요 메서드 WiFi AP(공유기)에 접속하고 IP를 받는 역할 WiFi.init(&softSerial) SoftwareSerial을 통해 초기화 WiFi.status() AP 연결 상태 리턴 WiFi.begin(ssid, password) AP 접속 접속 성공시 IP 할당 받음 WiFi.SSID() AP의 SSID 리턴 WiFi.localIP() 할당.. 2020. 10. 16.
Arduino - WIFI - ESP8266 - AT 명령 WIFI ESP8266 AT 명령 ESP8266 SoftSerial 아두이노 Uno는 RX(0번)/RX(1번) 핀 1벌만 지원(PC 연결에 사용) 일반 디지털 핀을 소프트웨적으로 RX/TX 처리 이용 필요 SoftSerial 2번 핀/3번 디지털 핀을 RX/TX로 연결 9600 속도에서 안정적으로 동작 더 빨라지면 오류 발생 ESP8266의 속도를 9600으로 설정 필요 ESP8266는 3.3V로 동작 RX/TX 핀도 3.3V로 동작 아두이노의 디지털 출력은 5V 전압 강하 필요 1:2 비율로 전압 강하로 ESP8266의 RX로 연결 아두이노는 1.7V 이상을 HIGH로 미만을 LOW로 인식하므로 TX는 바로 연결 실제로는 전압 강하 없이 실행 가능 펌웨어 업그레이드 wifi_at.ino #include.. 2020. 10. 16.
Arduino - 미세먼지 센서 미세먼지 센서 미세먼지 센서 SW-PWM-03A-02 수직으로 세워서 측정 특성상 눕여 놓으면 먼지가 쌓임 국제 미세먼지농도에 따른 경계단계 기준분류 30ug/m³ 이하 : 좋음 30~80ug/m³ : 보통 80~150ug/m³ : 나쁨 150ug/m³ 초과 : 매우 나쁨 dust_ex01/app.ino #include #include "Ultra.h" MiniCom com; Ultra ultra(2, 3); void checkDistance() { int distance = ultra.read(); com.print(0, "distance", distance); } void setup() { com.init(); com.setInterval(1000, checkDistance); } void loop(.. 2020. 10. 15.
Arduino - 초음파 센서 (Ultra.h, Pulse.h) 초음파 센서 초음파 센서 초음파 센서 초음파를 이용하여 벽이나 사물의 거리를 측정하는 센서 HC-SR04 모듈 Vcc: 전원 Trig : 트리거 (초음파 송출 제어) Echo : 에코(초음파 수신) GND: 접지 초음파센서 사용하기 초음파 센서 동작 원리 Trig에 HIGH 전압 인가시 초음파 발사 Echo에서 초음파 수신(처음에는 LOW) 시간차이를 측정하여 거리 계산 거리 계산 음속 : 340 m/s 비례식 1,000,000 us : 34,000 cm = x us : y cm y = 34,000*x/1,000,000 = 0.034*x cm 왕복 반영 y = 0.034*x/2 = 0.017 *x cm = x/58 cm delayMicroseconds() 아두이노 보드를 일정 시간 멈추는 함수입니다. d.. 2020. 10. 15.
Arduino - DHT11 (MiniCom.h) DHT11 DHT11 DHT11 온/습도 센서 내부에 써미스터와 정전식 습도 센서가 내장되어있는 온습도 센서 내부 써미스터는 온도에 따라 저항 값이 변하는 소자 정전식 습도 센서는 습도에 따라 저항 값이 변하는 소자 총 3개의 핀으로 구성되어 있으며 각각 VCC, DATA, GND로 구성 온도 측정시 써미스터 특성상 약 1분정도의 시간이 소요 DHT11 라이브러리 DHT sensor library by Adafruit 설치 \Arduino\libraries\DHT_sensor_library Adafruit Unified Sensor Driver https://github.com/adafruit/Adafruit_Sensor \Arduino\libraries\Adafruit_Sensor 온도, 습도 센서 실.. 2020. 10. 15.
Arduino - 조도 센서 조도 센서 빛 저항으로 빛 세기 감지하기 빛 저항 빛에 노출되면 저항이 줄어드는 저항 - 광전자 효과 회로 구성 빛 저항 연결 한쪽은 VCC에 연결 다른 한쪽은 A0에 연결 10K 옴 저항 연결 조도(밝기) 센서로 LED 켜고 끄기 int pSensor = A0; int ledPin = 3; void setup() { Serial.begin(9600); pinMode(ledPin, OUTPUT); } void loop() { int readVal = analogRead(pSensor); Serial.print("Read Value = "); Serial.println(readVal); if (readVal < 200) { // 어두워지면 LED 켜기 digitalWrite(ledPin, HIGH); } .. 2020. 10. 15.
Arduino - 조이스틱 (Button.h 변경, joystick.h) 조이스틱 아두이노 조이스틱 조이스틱 VRx : x축 가변 저항(아날로그 입력 연결) VRy : y축 가변 저항(아날로그 입력 연결) SW : 스위치(디지털 입력 연결) 조이스틱 제어/LED #include #include #include #include AnalogSensor jX(A0, 0, 1023); AnalogSensor jY(A1, 0, 1023); Button btn(2); LiquidCrystal_I2C lcd(0x27, 16, 2); SimpleTimer timer; void readJoystick() { char buf[17]; int x = jX.read(); int y = jY.read(); int z = btn.read(); sprintf(buf, "x: %4d, y: %4d", x.. 2020. 10. 15.