BASIC4MCU | 질문게시판 | 코딩 질문 도와주세요!!!!
페이지 정보
작성자 코초코초 작성일2019-05-02 13:11 조회4,709회 댓글1건본문
아두이노 코딩중에서 원하는 코딩은 성공했는데 LCD에 각도를 표현하고 싶은데 방법을 모르겠습니다.
이 코딩에 LCD를 실행하고싶으면 어떻게 추가 코딩을 해야하나요?
#include <Servo.h> //서보 라이브러리를 불러옵니다.
Servo myservo; // 서보를 제어할 서보 오브젝트를 만듭니다.
int pos = 90; // 서보 위치를 저장할 변수를 선언합니다.
int speed = 5;void setup()
{
myservo.attach(13); // 핀 9의 서보를 서보 오브젝트에 연결합니다.
Serial.begin(9600);
}
void loop()
{
if(Serial.available()){
char in_data;
in_data = Serial.read();
if(in_data == '1'){
for(true;;){
for(pos = 90; pos < 110; pos += 1) // 0도에서 180도로 이동합니다.
{ // 이동할때 각도는 1도씩 이동합니다.
myservo.write(pos); // 'pos'변수의 위치로 서보를 이동시킵니다.
delay(15); // 서보 명령 간에 20ms를 기다립니다.
}
for(pos = 110; pos>=90; pos-=1) // 180도에서 0도로 이동합니다.
{
myservo.write(pos); // 서보를 반대방향으로 이동합니다.
delay(15); // 서보 명령 간에 20ms를 기다립니다.
}
if(Serial.available()) in_data = Serial.read();
if(in_data == '0') break;}}if(in_data == '2'){
for(true;;){
for(pos = 90; pos <130; pos += 1) // 0도에서 180도로 이동합니다.
{ // 이동할때 각도는 1도씩 이동합니다.
myservo.write(pos); // 'pos'변수의 위치로 서보를 이동시킵니다.
delay(15); // 서보 명령 간에 20ms를 기다립니다.
}
for(pos = 130; pos>=90; pos-=1) // 180도에서 0도로 이동합니다.
{
myservo.write(pos); // 서보를 반대방향으로 이동합니다.
delay(15); // 서보 명령 간에 20ms를 기다립니다.
}
if(Serial.available()) in_data = Serial.read();
if(in_data == '0') break;}}if(in_data == '3'){
for(true;;){
for(pos = 90; pos < 150; pos += 1) // 0도에서 180도로 이동합니다.
{ // 이동할때 각도는 1도씩 이동합니다.
myservo.write(pos); // 'pos'변수의 위치로 서보를 이동시킵니다.
delay(15); // 서보 명령 간에 20ms를 기다립니다.
}
for(pos = 150; pos>=90; pos-=1) // 180도에서 0도로 이동합니다.
{
myservo.write(pos); // 서보를 반대방향으로 이동합니다.
delay(15); // 서보 명령 간에 20ms를 기다립니다.
}
if(Serial.available()) in_data = Serial.read();
if(in_data == '0') break;}}
if(in_data == '4'){
for(true;;){
for(pos = 90; pos >=70; pos -= 1) // 0도에서 180도로 이동합니다.
{ // 이동할때 각도는 1도씩 이동합니다.
myservo.write(pos); // 'pos'변수의 위치로 서보를 이동시킵니다.
delay(15); // 서보 명령 간에 20ms를 기다립니다.
}
for(pos = 70; pos < 90; pos+=1) // 180도에서 0도로 이동합니다.
{
myservo.write(pos); // 서보를 반대방향으로 이동합니다.
delay(15); // 서보 명령 간에 20ms를 기다립니다.
}
if(Serial.available()) in_data = Serial.read();
if(in_data == '0') break;}}
if(in_data == '5'){
for(true;;){
for(pos = 90; pos >= 50; pos -= 1) // 0도에서 180도로 이동합니다.
{ // 이동할때 각도는 1도씩 이동합니다.
myservo.write(pos); // 'pos'변수의 위치로 서보를 이동시킵니다.
delay(15); // 서보 명령 간에 20ms를 기다립니다.
}
for(pos = 50; pos<90; pos+=1) // 180도에서 0도로 이동합니다.
{
myservo.write(pos); // 서보를 반대방향으로 이동합니다.
delay(15); // 서보 명령 간에 20ms를 기다립니다.
}
if(Serial.available()) in_data = Serial.read();
if(in_data == '0') break;}}if(in_data == '6'){
for(true;;){
for(pos = 90; pos >= 30; pos -= 1) // 0도에서 180도로 이동합니다.
{ // 이동할때 각도는 1도씩 이동합니다.
myservo.write(pos); // 'pos'변수의 위치로 서보를 이동시킵니다.
delay(15); // 서보 명령 간에 20ms를 기다립니다.
}
for(pos = 30; pos<90; pos+=1) // 180도에서 0도로 이동합니다.
{
myservo.write(pos); // 서보를 반대방향으로 이동합니다.
delay(15); // 서보 명령 간에 20ms를 기다립니다.
}
if(Serial.available()) in_data = Serial.read();
if(in_data == '0') break;}}// 굴곡
if(in_data == 'A'){
for(true;;){
for(pos = 90; pos < 162; pos += 1) // 0도에서 180도로 이동합니다.
{ // 이동할때 각도는 1도씩 이동합니다.
myservo.write(pos); // 'pos'변수의 위치로 서보를 이동시킵니다.
delay(15); // 서보 명령 간에 20ms를 기다립니다.
}
for(pos = 162; pos>=90; pos-=1) // 180도에서 0도로 이동합니다.
{
myservo.write(pos); // 서보를 반대방향으로 이동합니다.
delay(15); // 서보 명령 간에 20ms를 기다립니다.
}
if(Serial.available()) in_data = Serial.read();
if(in_data == '0') break;}}
// 신전if(in_data == 'B'){
for(true;;){
for(pos = 90 ; pos>=10; pos-=1) // 0도에서 180도로 이동합니다.
{ // 이동할때 각도는 1도씩 이동합니다.
myservo.write(pos); // 'pos'변수의 위치로 서보를 이동시킵니다.
delay(15); // 서보 명령 간에 20ms를 기다립니다.
}
for(pos = 10; pos<90; pos += 1) // 180도에서 0도로 이동합니다.
{
myservo.write(pos); // 서보를 반대방향으로 이동합니다.
delay(15); // 서보 명령 간에 20ms를 기다립니다.
}
if(Serial.available()) in_data = Serial.read();
if(in_data == '0') break;}}// 요측
if(in_data == 'C'){
for(true;;){
for(pos = 90; pos < 142; pos += 1) // 0도에서 180도로 이동합니다.
{ // 이동할때 각도는 1도씩 이동합니다.
myservo.write(pos); // 'pos'변수의 위치로 서보를 이동시킵니다.
delay(15); // 서보 명령 간에 20ms를 기다립니다.
}
for(pos = 142 ; pos>=90; pos-=1) // 180도에서 0도로 이동합니다.
{
myservo.write(pos); // 서보를 반대방향으로 이동합니다.
delay(15); // 서보 명령 간에 20ms를 기다립니다.
}
if(Serial.available()) in_data = Serial.read();
if(in_data == '0') break;}}
// 척측
if(in_data == 'D'){
for(true;;){
for(pos = 90; pos >= 46; pos -= 1) // 0도에서 180도로 이동합니다.
{ // 이동할때 각도는 1도씩 이동합니다.
myservo.write(pos); // 'pos'변수의 위치로 서보를 이동시킵니다.
delay(15); // 서보 명령 간에 20ms를 기다립니다.
}
for(pos = 46 ; pos<90; pos+=1) // 180도에서 0도로 이동합니다.
{
myservo.write(pos); // 서보를 반대방향으로 이동합니다.
delay(15); // 서보 명령 간에 20ms를 기다립니다.
}
if(Serial.available()) in_data = Serial.read();
if(in_data == '0') break;}}
}}
댓글 1
조회수 4,709master님의 댓글
master 작성일
https://www.google.com/search?q=%EC%95%84%EB%91%90%EC%9D%B4%EB%85%B8+LCD&pws=0&gl=us&gws_rd=cr
LCD는 2종류가 있는데
웹검색으로 쉽게 예제를 찾을 수 있으니 공부해보세요