BASIC4MCU | 질문게시판 | 답변 : 아두이노 코딩과 LCD 결합
페이지 정보
작성자 master 작성일2018-07-01 08:58 조회4,685회 댓글0건
https://www.basic4mcu.com/bbs/board.php?bo_table=gac&wr_id=2112
본문
// MCU BASIC: https://www.basic4mcu.com// DateTime : 2018-07-01 오전 8:54:11// by Ok-Hyun Park//int led=13;int sensor1=11,sensor2=10;int piezoPin=A0,piezoPin2=A1,piezoPin3=A2;int buttonpin=42;//int a=0,mode=0,worth=0,worth1=0,worth2=0;//void setup(){pinMode(led,OUTPUT);}//void loop(){worth=analogRead(piezoPin); worth1=analogRead(piezoPin2); worth2=analogRead(piezoPin3);//int buttoninput=digitalRead(buttonpin);//if(digitalRead(buttonpin)==LOW){ digitalWrite(led,LOW); }//if(mode==0){if(digitalRead(sensor1)&&digitalRead(sensor2)&&worth<30&&worth1<30&&worth2<30){ mode=1; } // 물체가 없으면}else if(mode==1){if(!digitalRead(sensor1)||!digitalRead(sensor2)||(worth>=30)||(worth1>=30)||(worth2>=30)){ // 검출 되면if(!digitalRead(sensor1)||(worth>=30)||(worth1>=30)||(worth2>=30))digitalWrite(led,HIGH); // LED ON}mode=0;}}//위의 코딩에서LED가 ON 되었을 시에 LCD가 켜져 입력한 문자를 코딩하고,LED가 OFF 되었을 시에는 LCD가 꺼지게 만드려고 합니다.LCD를 켜 글자를 입력하는 코딩은//#include "U8glib.h"U8GLIB_ST7920_128X64_1X u8g(13,11,10,U8G_PIN_NONE); //EN,RW,RS,//void draw(void){u8g.setFont(u8g_font_unifont);u8g.drawStr(0,22,"hello");}//void setup(void){if (u8g.getMode()==U8G_MODE_R3G3B2 )u8g.setColorIndex(255); // whiteelse if(u8g.getMode()==U8G_MODE_GRAY2BIT)u8g.setColorIndex(3); // max intensityelse if(u8g.getMode()==U8G_MODE_BW )u8g.setColorIndex(1); // pixel onelse if(u8g.getMode()==U8G_MODE_HICOLOR )u8g.setHiColorByRGB(255,255,255);}//void loop(void){u8g.firstPage(); do{ draw(); } while(u8g.nextPage());}//위와 같습니다.무엇을 사용하여 어떻게 코딩하여야 하나요?
코드를 합치기 전에 중복되는 핀부터 처리합니다.
LCD 핀을 변경하는 편이 낫겠군요
EN=7,RW=8,RS=9로 변경
// MCU BASIC: https://www.basic4mcu.com// DateTime : 2018-07-01 오전 9:00:23// by Ok-Hyun Park//#include "U8glib.h"U8GLIB_ST7920_128X64_1X u8g(7,8,9,U8G_PIN_NONE); //EN,RW,RS,//int led=13;int sensor1=11,sensor2=10;int piezoPin=A0,piezoPin2=A1,piezoPin3=A2;int buttonpin=42;//int a=0,mode=0,worth=0,worth1=0,worth2=0;//void draw() { u8g.firstPage(); do{ u8g.drawStr(0,22,"hello"); }while(u8g.nextPage()); }void clear(){ u8g.firstPage(); do{ u8g.drawStr(0,22," "); }while(u8g.nextPage()); }//void setup(){pinMode(led,OUTPUT);//if (u8g.getMode()==U8G_MODE_R3G3B2 )u8g.setColorIndex(255); // whiteelse if(u8g.getMode()==U8G_MODE_GRAY2BIT)u8g.setColorIndex(3); // max intensityelse if(u8g.getMode()==U8G_MODE_BW )u8g.setColorIndex(1); // pixel onelse if(u8g.getMode()==U8G_MODE_HICOLOR )u8g.setHiColorByRGB(255,255,255);u8g.setFont(u8g_font_unifont);}//void loop(){worth=analogRead(piezoPin); worth1=analogRead(piezoPin2); worth2=analogRead(piezoPin3);//int buttoninput=digitalRead(buttonpin);//if(digitalRead(buttonpin)==LOW){ digitalWrite(led,LOW); clear(); }//if(mode==0){if(digitalRead(sensor1)&&digitalRead(sensor2)&&worth<30&&worth1<30&&worth2<30){ mode=1; } // 물체가 없으면}else if(mode==1){if(!digitalRead(sensor1)||!digitalRead(sensor2)||(worth>=30)||(worth1>=30)||(worth2>=30)){ // 검출 되면if(!digitalRead(sensor1)||(worth>=30)||(worth1>=30)||(worth2>=30)){ digitalWrite(led,HIGH); draw(); } // LED ON}mode=0;}}
c언어의 기초적인 질문을 계속하고 계십니다.
if()문 등의 기본적인 문법 지식이 부족한 것 같은데요
질문/답변으로 배우려고 하지마시고
예제가 많은 c언어 기초 서적을 공부하실 것을 권합니다.
질문/답변으로는 체계적인 학습이 불가능하고
질문하는 분이나 답변하는 분이나 서로 시간낭비입니다.
댓글 0
조회수 4,685등록된 댓글이 없습니다.