티스토리 뷰
728x90
출처 : 아두이노 WeMos 환경 셋팅 및 기본예제 | 프로젝트 | 메이크위드
CodeBlog: ESP8266, WeMos D1 R1, D1 R2 and D1 Mini pins
아두이노 IDE에 보드 추가하기
COM 포트가 추가된 것을 확인
메뉴 [파일] -> [환경설정] 선택
[환경설정]창에서 Additional Board Manager URLs 항목 설정
보드관련 정보가 있는 URL를 http://arduino.esp8266.com/stable/package_esp8266com_index.json 붙여넣기
메뉴 [도구] -> [보드] -> [Boards Manager...] 선택
[Boards Manager] 창에서 esp8266 검색하고, [Install] 버튼 석택
메뉴 [도구]에서 보드와 포트 선택
LED 켜기
// LED가 연결된 PIN번호 int led = D15; // 초기화 void setup() { pinMode(led, OUTPUT); } // 무한 반복 void loop() { digitalWrite(led, HIGH); // LED 켜기 delay(1000); // 1초 대기 digitalWrite(led, LOW); // LED 끄기 delay(1000); // 1초 대기 }
PWM 예제
아두이노에서는 analogWrite 함수를 통해서 이러한 PWM 출력을 제공하는데, analogWrite 함수의 인자 범위는 아두이노 우노 R3의 경우 0~255까지의 정수를 사용하지만, D1의 경우 0~1023까지의 정수를 사용한다.
// LED가 연결된 PIN번호 int ledPin = D6; // 초기화 void setup() { // 출력 모드 설정 pinMode(ledPin, OUTPUT); // sets the pin as output } // 무한 반복 void loop() { // 25 단위로 반복 / PWM 번위 0~1023 for(int angle = 0; angle < 1023; angle=angle+5) { // PWM 출력 analogWrite(ledPin, angle); delay(15); } }
SG90 서브모터 제어
[Arduino|아두이노] 서보모터(SG90) 구동하는 방법 (Tower Pro, Micro Servo, B10K, 가변저항) - 젠트의 프로그래밍 세상
#include <Servo.h> Servo servo; int servoPin = D3; int angle = 0; // servo position in degrees // 초기화 void setup() { servo.attach(servoPin); } // 무한 반복 void loop() { // rotate from 0 to 180degrees for(angle = 0; angle < 180; angle++) { servo.write(angle); delay(15); } }
RC Car - L298N Dual H-Bridge
Reference · ESP8266 Arduino Core
//모터A 컨트롤 int enA = D3; int IN1=D4; int IN2=D5; //모터B 컨트롤 int enB = D10; int IN3=D8; int IN4=D9; #define MOTER_SPEED 1023 // MAX 1023 void setup() { pinMode(enA, OUTPUT); pinMode(enB, OUTPUT); pinMode(IN1,OUTPUT); pinMode(IN2,OUTPUT); pinMode(IN3,OUTPUT); pinMode(IN4,OUTPUT); } void loop() { analogWrite(enA, MOTER_SPEED); analogWrite(enB, MOTER_SPEED); /* digitalWrite(enA,HIGH); digitalWrite(enB,HIGH); */ bothMotorStart(); // 전진 delay(3000); turnLeft(); // 왼쪽으로 턴 delay(3000); turnRight(); // 오른쪽으로 턴 delay(3000); motorA_Rotation(); // 오른쪽만 정방향 delay(3000); motorB_Rotation(); // 왼쪽만 정방향 delay(3000); motorA_Reverse(); // 오른쪽만 역방향 delay(3000); motorB_Reverse(); // 왼쪽만 역방향 delay(3000); stopAllMotor(); // 정지 delay(3000); } //모터A,B 정회전 void bothMotorStart() { digitalWrite(IN1,HIGH); digitalWrite(IN2,LOW); digitalWrite(IN3,HIGH); digitalWrite(IN4,LOW); } //모터A,B Stop void stopAllMotor() { digitalWrite(IN1,LOW); digitalWrite(IN2,LOW); digitalWrite(IN3,LOW); digitalWrite(IN4,LOW); } //모터A 역회전, 모터B 정회전 void turnLeft() { digitalWrite(IN1,LOW); digitalWrite(IN2,HIGH); digitalWrite(IN3,HIGH); digitalWrite(IN4,LOW); } //모터A 정회전, 모터B 역회전 void turnRight() { digitalWrite(IN1,HIGH); digitalWrite(IN2,LOW); digitalWrite(IN3,LOW); digitalWrite(IN4,HIGH); } //모터A 정회전, 모터B Stop void motorA_Rotation() { digitalWrite(IN1,HIGH); digitalWrite(IN2,LOW); digitalWrite(IN3,LOW); digitalWrite(IN4,LOW); } //모터A Stop, 모터B 정회전 void motorB_Rotation() { digitalWrite(IN1,LOW); digitalWrite(IN2,LOW); digitalWrite(IN3,HIGH); digitalWrite(IN4,LOW); } //모터A 역회전, 모터B Stop void motorA_Reverse() { digitalWrite(IN1,LOW); digitalWrite(IN2,HIGH); digitalWrite(IN3,LOW); digitalWrite(IN4,LOW); } //모터A Stop, 모터B 역회전 void motorB_Reverse() { digitalWrite(IN1,LOW); digitalWrite(IN2,LOW); digitalWrite(IN3,LOW); digitalWrite(IN4,HIGH); }
댓글
300x250
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- ffmpeg
- Mac
- 일본여행
- NDK
- Linux
- oracle
- 전예희
- 지스타2007
- 레이싱모델 익스트림 포토 페스티벌
- MySQL
- ubuntu
- SAS
- 송주경
- Delphi Tip
- Spring MVC
- JavaScript
- 동경
- 서울오토살롱
- Xcode
- ble
- KOBA
- android
- Delphi
- Spring
- Java
- koba2010
- flex
- BPI-M4
- 튜닝쇼 2008
- sas2009
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
글 보관함