제조공정
| × | 2 | ||||
| × | 1 | ||||
![]() |
| × | 1 | |||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
이것은 Arduino Uno로 ATtiny85를 프로그래밍하는 이전 프로젝트의 연속입니다. 이제 더 저렴한 ATtiny85를 사용하여 센서 데이터를 전송하는 더 저렴한 방법을 찾고 있었습니다. 저를 nRF24L01+ 저렴한 저전력 RF 트랜시버로 이끌었습니다. 이것은 나에게 더 나은 솔루션처럼 보였습니다. 하지만 ATtiny85의 핀 수 제한이라는 한 가지 문제가 있었습니다. nRF24L01+와 그 안의 센서를 모두 연결할 수 없습니다. 그래서 나는 솔루션을 찾고 있었고 "3 ATtiny85 핀이 있는 nrf24l01+ 제어"를 발견했습니다. 여기에서 내가 구현한 방법에 대해 설명합니다.
여기 송신기와 수신기에 두 개의 모듈이 있습니다. 송신기는 일부 데이터를 보내는 ATtiny85이고 수신기는 nRF25L01+를 통해 데이터를 수신하는 Arduino Uno입니다. RF24 라이브러리(http://tmrh20.github.io/RF24/)를 활용합니다. 여기에 제공된 지침을 따르고 이를 시작하기 전에 Arduino IDE에 추가하십시오. RF24에 대한 매우 좋은 문서가 있으므로 설명하지 않겠습니다.
송신기는 1초마다 증가하는 숫자를 전송합니다. ATtiny85는 3개의 핀만 사용하여 nRF24L01+를 통해 데이터를 보냅니다. 구현에 대해 Ralph Doncaster가 제공한 지침을 따릅니다.
필요한 구성 요소는 다음과 같습니다.
<울>ATtiny85에 아래 코드를 업로드합니다(방법을 알고 싶다면 Arduino Uno로 ATtiny85 프로그래밍 이전 프로젝트 참조)
발신자.이노아래와 같이 구성요소를 연결합니다.
전원이 연결되면 송신기는 1초마다 일련의 번호를 전송하기 시작합니다.
수신기는 송신기에서 보낸 데이터를 수신하고 수신된 데이터는 직렬 모니터에서 볼 수 있습니다.
필요한 구성 요소는 다음과 같습니다.
<울>Uno에 아래 코드 업로드
수신기.이노아래와 같이 구성요소를 연결합니다.
명확하지 않은 경우 이 프로젝트에 첨부된 fritzing 파일을 참조하십시오. Vcc는 항상 3v3이어야 합니다. 일부 Arduino Uno 클론에서는 3v3 전원에 전류가 충분하지 않아 nRF24L01+가 작동하지 않을 수 있습니다. 이 문제를 해결하려면 아래 방법 중 하나를 사용하는 것이 좋습니다.
송신기와 수신기가 준비되었으므로 이제 테스트할 시간입니다. 송신기의 전원이 ON인지 확인하십시오. Arduino Uno를 PC에 연결하고 arduino ide에서 직렬 모니터를 엽니다. 아래와 같이 작동해야 합니다.
납땜에 대한 약간의 지식으로 perfboard를 사용하여 영구적으로 만들었습니다.
이것은 nRF24L01+와 ATtiny85의 3개 핀만 사용하여 연결하여 나머지 핀이 센서 데이터를 읽는 데 사용할 수 있는 방법을 보여주는 더 간단한 모듈입니다. 피드백/제안을 환영합니다.
섹션> <섹션 클래스="섹션 컨테이너 섹션 축소 가능" id="코드">#define CE_PIN 3#define CSN_PIN 3 //3핀 구성을 사용하기 때문에 CE와 CSN 모두에 동일한 핀을 사용합니다.#include "RF24.h"RF24 radio(CE_PIN, CSN_PIN);byte address[11] ="SimpleNode";부호 없는 긴 페이로드 =0;void setup() { radio.begin(); // 라디오 시작 radio.setAutoAck(1); // autoACK가 활성화되었는지 확인합니다. radio.setRetries(15,15); // 재시도 및 재시도 횟수 사이의 최대 지연 radio.openWritingPipe(address); // 디바이스 주소 'SimpleNode'에 쓰기}void loop(void){ payload++; radio.write( &payload, sizeof(unsigned long) ); //'Receiver'에 데이터를 1초 단위로 전송합니다. delay(1000);}
#define CE_PIN 7#define CSN_PIN 8#include섹션>#include "RF24.h"RF24 radio(CE_PIN, CSN_PIN);byte address[11] ="SimpleNode"; unsigned long payload =0;void setup() { Serial.begin(115200); radio.begin(); // 라디오 시작 radio.setAutoAck(1); // autoACK가 활성화되었는지 확인합니다. radio.setRetries(15,15); // 재시도 및 재시도 횟수 사이의 최대 지연 radio.openReadingPipe(1, address); // 디바이스 주소 'SimpleNode'에 쓰기 radio.startListening();}void loop(void){ radio.stopListening(); radio.startListening(); radio.read( &payload, sizeof(unsigned long) ); if(페이로드 !=0){ Serial.print("페이로드 가져오기"); Serial.println(페이로드); } 지연(1000);}
제조공정
구성품 및 소모품 Arduino Nano R3 × 1 이 프로젝트 정보 눈송이는 Arduino Nano 마이크로컨트롤러에 의해 개별적으로 제어될 수 있는 17개의 독립적인 세그먼트로 그룹화된 30개의 LED로 구성됩니다. 각 LED 그룹은 PWM으로 흐리게 처리하여 멋진 애니메이션을 만들 수 있습니다. 도구 납땜 인두, 땜납, 펜치만 있으면 됩니다. 건설 우선 몇 가지 패턴을 선택합니다. 멋지고 심플한 눈송이 결정을 골라서 결정의 핵인 육각형 안에 아두이노 나노가 들어갈
구성품 및 소모품 Arduino UNO × 1 Microchip Technology ATtiny85 × 1 전해 디커플링 커패시터 - 10uF/25V × 1 점퍼 와이어 M/M × 1 이 프로젝트 정보 저는 다른 위치에서 여러 센서 데이터를 읽어야 하는 프로젝트를 진행 중입니다. 여기에는 몇 개의 PWM 핀만 필요하므로 여러 Arduino Uno를 사용하는 것은 비용이 많이 들고 불필요합니다. 그래서 Arduino Uno 개발 보드 대신 A