안녕하세요 이번에 코딩을 배우기 시작했습니다. 아두이노 우노로 배우고있구요 코딩을 했는데 원하는대로 안되서요 원하는거는 리모컨으로 신호를 주면 아두이노 시리얼통신에 수신값을 읽어 키보드를 누르는거까지입니다. 지금 상태는 시리얼통신에 수신값까진 읽힙니다. 키보드 누르는게 어렵네요 확인부탁드립니다. #include <IRremote.h>//IR리모컨라이브러리 #include <Keyboard.h>//키보드라이브러리 int RECV_PIN = 11;//IR 수신센서 포트설정 IRrecv irrecv(RECV_PIN); decode_results results;//구조체정의 int ledpin = 13; //LED IO핀(내부 LED 사용) int on = 0;//플래그 unsigned long last = millis(); void setup() { pinMode(ledpin, OUTPUT);////디지털IO핀을 출력으로 지정 Serial.begin(9600);//시리얼포트 속도를 9600bps로 지정 irrecv.enableIRIn(); // 리모컨 수신 시작 Keyboard.begin(); } void loop() { if (irrecv.decode(&results)) //IR리모컨 라이브러리 호출 { if (millis() - last > 250) //수신신호 결정 { on = !on;//수신신호 반전 digitalWrite(ledpin, on ? HIGH : LOW);//리모컨 수신시 LED(13)로 표시 } Serial.println(results.value, HEX); //리모컨 수신코드를 출력 last = millis(); irrecv.resume(); // 다음 값을 수신 } if(Serial.available()) { char a = Serial.read (); Keyboard.write(a); Keyboard.write("KEY_ENTER"); Keyboard.write('A'); Keyboard.write("KEY_ENTER"); // Serial.println(a); // Keyboard.press ('a'); // delay(100); // Keyboard.releaseAll(); // delay(100); } }
안녕하세요 저는 기구설계를 하고 있는 직장인 입니다. 아두이노에 관심을 갖게 되다가 어떻게 공부를 해야할지 몰라 폭풍 검색하다 우연히 인프런을 접하게 되었습니다. 저에게 꼭 필요한 강의가 많이 준비되어 있는 것 같아 너무 기대가 됩니다. 아직 제가 아두이노에 대한 기초 지식이 부족하여 강의를 어떻게 들어야 할지 고수님들께 요청드립니다. 먼저 하고싶은 것은 1)휴대폰 또는 PC와 아두이노를 통신 하는법 2)휴대폰의 어플의 디자인과 버튼 등을 사용자에 맞게 변경 및 구성하는 법 3)휴대폰 또는 PC에서 아날로그 및 접점을 표시하고 제어하는 방법 입니다. 제가 하고 싶은 구성에 맞는 강의 커리큘럼이나 기본 교육 과정 같은게 있을까요? 처음 시작이라 너무 막연하고 주변에 도움을 받을 곳이 없어 이렇게 질문드립니다. 고수님들의 많은 답변 부탁드려요 좋은하루 되세요^^
제가 혹시 몰라서 밑에 링크 남겨요~ [아두이노] 온/습도 LCD에 표시하기 (tistory.com) 제가 코드를 저기 있는대로 라이브러리부터 회로까지 하나도 안틀리고 진짜 똑같이 했는데 도대체가 왜 lcd에는 TEMP: nan C HUMIDITY : 0% 가 계속 떠요. 진짜 5일째 이것만 붙잡고있는데 이제는 미쳐버리겠습니다 진짜 도와주세요ㅠㅠ 밑에는 코드입니다. #include <DHT.h> #define DHTPIN 2 // 습도센서 Signal 선 연결 #define DHTTYPE DHT22 // 습도센서 종류: DHT22 #include <Wire.h> #include <LiquidCrystal_I2C.h> DHT dht(DHTPIN, DHTTYPE); LiquidCrystal_I2C lcd(0x27,16,2); // LCD주소: 0x27 또는 0x3F float hum; // 습도값 저장 변수 float temp; // 온도값 저장 변수 void setup() { Serial.begin(9600); dht.begin(); delay(2000); lcd.init(); lcd.backlight(); lcd.setCursor(2,0); delay(5000); lcd.clear(); } void loop() { hum = dht.readHumidity();//온도값 읽기 temp= dht.readTemperature();//습도값 읽기 Serial.print("HUMIDITY: "); // "HUMIDITY:" 출력 Serial.print(hum,0);// 습도 값 소수점 이하 자리 없음 Serial.print(" %, TEMPERATURE: "); //"%"(습도단위) "TEMPERATURE:" 출력 Serial.print(temp, 1);//온도값은 소수점 이하 1자리까지 표시 Serial.println(" C"); //"C" 온도 단위 표시 lcd.setCursor(0,0); // LCD Cursor 원점 lcd.print("TEMP:"); // LCD에 "temp" 표시 float t = temp; // 온도값을 t에 할당 lcd.print(t,1); // 온도값 LCD로 출력 lcd.print(" C"); // 온도 단위 표시 lcd.setCursor(0,1); //LCD 커서 줄바꿈 lcd.print("HUMIDITY:"); //LCD 2번째 줄에 "humidity:" 출력 int h = hum; //습도값 h에 할당 lcd.print(h); //습도값 LCD에 출력 lcd.print(" % "); //습도 단위 출력 lcd.println(); delay(2000); // 샘플링 간격 2초 }