산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Manufacturing Technology >> 제조공정

솜피두이노 IO

구성품 및 소모품

Arduino Nano R3
× 1
플랫 케이블
× 1
Somfy IO 리모트
× 1

필요한 도구 및 기계

납땜 인두(일반)

이 프로젝트 정보

아이디어

안녕하세요,

나는 거실에 내 롤러 셔터를 포함하기 위해 Arduino Nano를 사용하여 USB to Somfy IO 어댑터를 구현하려고 했습니다. 원래 공급업체로부터 클라우드 기반 하드웨어를 얻을 필요 없이 DIY 홈 자동화 시스템에 연결하고 싶었습니다. 작동했습니다 - 간단한 IO 리모컨만 사용하면 됩니다.

필요한 항목:

<울>
  • Somfy IO Remote - 저는 GX037을 사용했습니다.
  • <울>
  • USB 커넥터가 있는 거의 모든 Arduino가 작동하지만 소프트 직렬도 작동합니다.
  • <울>
  • 깔끔한 포장을 위한 7심 플랫 케이블과 수축 호스.
  • 부착물에 따른 배선. 리모컨은 Arduino를 통해 전원이 공급됩니다. 전송하는 동안 약 20mA를 사용하므로 매우 괜찮습니다. 따라서 배터리를 제거했는지 확인하십시오.

    코드 관련:

    전체 장치를 예를 들어 연결하려는 경우 RPi의 경우 모든 Serial.print 항목을 제거하는 것을 고려할 수 있습니다. Arduino가 수신 대기하고 종료하면 Arduino와 통신하는 것이 훨씬 쉽습니다.

    명령을 보내는 방법은 코드에 설명되어 있습니다.

    즐거운 시간 보내세요 - 댓글을 환영합니다!

    건배,

    비욘

    추신 - 1채널 리모컨을 사용했습니다. 기본적으로 5채널 리모컨과 동일한 레이아웃을 사용하지만 일부 부품(추가 LED)이 누락되었습니다. SELECT가 트리거되면 다른 채널로 점프할지 궁금합니다. 작동할 채널이 하나 생겨서 기뻤기 때문에 아직 시도하지 않았지만 계속 업데이트하겠습니다.

    추신 방금 선택했습니다 - 불행히도 선택 버튼이 이제 효과가 있습니다 - 채널을 변경하지 않지만 리모콘도 망치지 않습니다.

    <섹션 클래스="섹션 컨테이너 섹션 축소 가능" id="코드">

    코드

    <울>
  • Somfy에 직렬
  • SomfyArduino에 직렬
    // SomfyDuino// Bjoern Foldenauer 작성// 05/2017int progPin =8;int upPin =12;int downPin =10;int myPin =11;int selectPin =9;int ledPin =13;boolean upPress =false; 부울 downPress =false, 부울 myPress =false, 부울 progPress =false, 부울 selectPress =false, unsigned long holdTime =0, int repeatSend =0, charincomingChar;void setup() { Serial.begin(9600); Serial.println("솜피두이노 0.71"); Serial.println("Bjoern 폴더나워"); Serial.println("-----"); Serial.println("다음과 같은 단일 직렬 문자를 수신합니다:"); Serial.println("u - UP 누를 준비"); Serial.println("d - DOWN 누를 준비"); Serial.println("m - 내 키를 누를 준비를 합니다."); Serial.println("p - PROG 누름 준비"); Serial.println("s - 선택 누를 준비"); Serial.println("r - 송신 횟수를 1 증가"); Serial.println("임의의 숫자 X - 유지 시간을 X*100ms 증가"); Serial.println("e - 실행! 정의된(다중 버튼) 누르고 있기를 실행합니다."); /erial.println(""); Serial.println("예:일반 UP:u5e "); Serial.println(" 3초 UP/DOWN:ud9993e "); Serial.println(" 5초 PROG:p999995e "); Serial.println(""); 핀모드(프로그핀, 출력); 핀모드(업핀, 출력); 핀모드(다운핀, 출력); 핀모드(마이핀, 출력); 핀모드(LED핀, 출력); 핀모드(선택핀, 출력); digitalWrite(progPin, HIGH); digitalWrite(upPin, HIGH); digitalWrite(다운핀, 높음); 디지털 쓰기(마이핀, 높음); digitalWrite(selectPin, HIGH); digitalWrite(ledPin, LOW);} 무효 루프() { while (Serial.available() ==0) { delay(50); } // 직렬 명령이 올 때까지 기다립니다. if (Serial.available()> 0) { IncomingChar =Serial.read(); Serial.println(incomingChar); if (incomingChar =='u') {upPress =true;} if (incomingChar =='d') {downPress =true;} if (incomingChar =='m') {myPress =true;} if (incomingChar =='p') {progPress =true;} if (incomingChar =='s') {selectPress =true;} if (incomingChar =='1') {holdTime +=100;} if (incomingChar =='2') {holdTime +=200;} if (incomingChar =='3') {holdTime +=300;} if (incomingChar =='4') {holdTime +=400;} if (incomingChar =='5') {holdTime +=500;} if (incomingChar =='6') {holdTime +=600;} if (incomingChar =='7') {holdTime +=700;} if (incomingChar =='8') {holdTime +=800;} if (incomingChar =='9') {holdTime +=900;} if (incomingChar =='r') {repeatSend++;} if (incomingChar =='e') {somSend();} }}무효 somSend() { Serial.print("누르는 중:"); for(int i=0; i <=repeatSend; i++) { if (upPress) {digitalWrite(upPin, LOW); Serial.print("up");} if (downPress) {digitalWrite(downPin, LOW); Serial.print("다운");} if (myPress) {digitalWrite(myPin, LOW); Serial.print("나의 ");} if (progPress) {digitalWrite(progPin, LOW); Serial.print("prog ");} if (selectPress) {digitalWrite(selectPin, LOW); Serial.print("선택");} digitalWrite(ledPin, HIGH); Serial.print("용"); Serial.print(홀드타임); Serial.println("밀리초"); 지연(홀드타임); digitalWrite(progPin, HIGH); digitalWrite(upPin, HIGH); digitalWrite(다운핀, 높음); 디지털 쓰기(마이핀, 높음); digitalWrite(selectPin, HIGH); 디지털 쓰기(LED 핀, LOW); 지연(홀드타임); } upPress =거짓; 다운프레스 =거짓; myPress =거짓; progPress =거짓; selectPress =거짓; 홀드타임 =0; 반복 전송 =0; Serial.println("완료.");}

    회로도

    문서가 없습니다.


    제조공정

    1. Raspberry Pi를 사용한 원격 날씨 모니터링
    2. Raspberry Pi 범용 리모컨
    3. LIRC 없이 Raspberry Pi와 함께 IR 리모컨 사용
    4. 원격 심박수 모니터
    5. Raspberry Pi / 홀로그램 SMS 제어 AC 전원 스위치
    6. ROObockey:원격 제어, 조준 지원 스트리트 하키 로봇
    7. 클라우드 모니터링, 원격 제어 시스템
    8. 원격 생산 제어의 5가지 장점
    9. grpcurl을 사용하는 원격 gRPC
    10. 원격 모니터링의 3가지 주요 이점