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

MPR121을 사용하여 (거의) 모든 표면을 터치 버튼으로 전환

구성품 및 소모품

Arduino UNO
× 1
Adafruit 정전식 터치 센서 브레이크아웃 - MPR121
× 1
LED(일반)
× 1

앱 및 온라인 서비스

Arduino IDE

이 프로젝트 정보

MPR121은 IC의 정전 용량 기능을 사용하는 12핀 터치 센서입니다.

이 IC에는 2개의 라이브러리가 있으며 저는 개인적으로 전도성이 없는 것을 사용하는 것을 선호합니다.

https://github.com/BareConductive/mpr121

칩에는 트리거 핀이 있어 핀 중 하나가 터치 또는 해제되었음을 알 수 있어 응답 시간이 빨라지고 루프의 상태를 스캔하는 대신 인터럽트를 사용할 수 있는 옵션이 제공됩니다(예제 참조). . 유일한 단점은 IC의 12개 IO 핀 모두에 대해 트리거 핀이 하나만 있다는 것입니다. I2C 주소는 ADDR로 설정할 수 있습니다. I2C 주소 선택 핀입니다. 기본적으로 이것은 0x5A의 I2C 주소에 대해 100K 저항을 사용하여 접지로 풀다운됩니다. 0x5B 주소용 3Vo 핀, 0x5C용 SDA 핀 또는 0x5D 주소용 SCL 이 설정은 adafruit 보드용이며 일부 클론 보드에는 다른 I2C 주소 세트 및 기본값이 있습니다. 보드용 스캐너를 모르는 경우 I2C 스캐너를 사용할 수 있습니다.

보드 연결은 그림과 같이 정말 간단합니다.

한 가지 유의할 점 - 대부분의 브레이크아웃 보드 전원 공급 장치는 5V로 전원을 공급하지 않는 3.3V 정격입니다. 데이터 레벨 전압은 어떻습니까? i2c 하드웨어의 특성으로 인해 arduino의 5V로 MPR121을 손상시키지는 않겠지만 MPR121에서 읽는 데 문제가 있거나 버스에서 찾지 못하는 경우에도 논리를 시도하십시오. 2 사이의 레벨 변환기.

수년에 걸쳐 나는 이 훌륭한 IC로 몇 가지를 만들었습니다. 내가 만든 첫 번째 것 중 2는 내 아이를 위한 게임이었고, 상단의 글자는 2 MPR121에 연결되었으며 각 터치는 내가 그 글자를 말하는 mp3 레코드를 트리거합니다. 이름.

또한 동시에 전도성 페인트를 사용하지 않고 실험했습니다. 매우 재미있고 MPR121과도 잘 어울립니다.


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

코드

<울>
  • 핀 0/1의 간단한 켜기/끄기
  • 핀 0/1의 간단한 온/오프 LEDArduino
    핀 3에 연결된 LED를 켜고 끄는 옵션을 보여줍니다.
    mpr121의 핀 0 터치를 사용하여 켜고 1에서 떼기를 해제합니다.
    #include #include #define numElectrodes 2#define LEDPIN 3void setup(){ Serial.begin (115200); Serial.println("시스템이 시작되었습니다"); 핀모드(LEDPIN, 출력); Wire.begin(); // 0x5C는 베어 터치 보드의 MPR121 I2C 주소입니다. if (!MPR121.begin(0x5A)) { Serial.println("error setting up MPR121"); switch (MPR121.getError()) { case NO_ERROR:Serial.println("오류 없음"); 부서지다; case ADDRESS_UNKNOWN:Serial.println("잘못된 주소"); 부서지다; case READBACK_FAIL:Serial.println("리드백 실패"); 부서지다; case OVERCURRENT_FLAG:Serial.println("REXT 핀의 과전류"); 부서지다; case OUT_OF_RANGE:Serial.println("전극이 범위를 벗어났습니다."); 부서지다; case NOT_INITED:Serial.println("초기화되지 않음"); 부서지다; 기본값:Serial.println("알 수 없는 오류"); 부서지다; } 동안 (1); } MPR121.setInterruptPin(4); MPR121.setTouchThreshold(40); MPR121.setReleaseThreshold(20); MPR121.updateTouchData();} 무효 루프(){ if (MPR121.touchStatusChanged()) { MPR121.updateTouchData(); for (int i =0; i   

    회로도


    제조공정

    1. Raspberry Pi로 번개 감지
    2. Raspberry Pi를 햄스터 피트니스 트래커로 전환
    3. MQTT를 사용하여 IoT의 세계로 쉽게 시작
    4. Raspi 2 WIOT와 Arduino I2C 통신
    5. 새로운 방법으로 모든 개체를 데이터 저장 장치로 전환
    6. 인간의 손길을 통한 공급망 혁신
    7. 터치 스크린 컨트롤이 있는 표준 선반
    8. 섬유는 직물을 호흡 조절 의복으로 바꿉니다.
    9. 창의적인 디자인을 현실로 만드는 방법은 무엇입니까?
    10. 왜 CNC 밀링 회전을 귀찮게 합니까?