제조공정
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 2 | ||||
| × | 3 |
| ||||
|
배경
저는 우리 각자가 정보를 처리하고 결론에 도달하는 방식이 얼마나 다른지에 매료되었습니다. 나는 또래의 압력과 집단 사고가 사람의 반응에 영향을 미치거나 완전히 변화시키는 방식에 똑같이 매료되었습니다.
그래서 저는 익명의 무작위 군중 그룹에 질문을 할 수 있는 기계를 만들 수 있다면 어떨까요? 위협적이지 않고(단순) 또래의 압력이나 기타 외부 영향이 없는 환경에서 이루어져야 합니다.
이 프로젝트는 챌린지에 대한 제 MVP입니다. 저는 이것을 모바일 투표함이라고 부릅니다. 첫 번째 실험을 위해 간단하면서도 열정을 불러일으키는 질문을 했습니다.
저는 모바일 투표함을 시카고와 라스베가스 주변의 무작위 장소에 배치했습니다. 여기에서 모든 사람의 응답을 볼 수 있습니다.
모바일 투표함은 배터리로 작동하며 모든 투표를 셀룰러를 통해 전송하므로 설정하고 잊어버리기가 매우 쉽습니다. 부품 비용은 약 $50이지만 AliExpress를 통해 모든 것을 소싱하는 경우 $6만큼 저렴하게 제작할 수 있습니다.
셀룰러 연결은 Hologram.io에서 무료입니다. 그들의 개발자 플랜을 통해 저는 무료 글로벌 SIM 카드와 월별 1MB의 무료 데이터를 얻을 수 있습니다(한 달에 약 2,000개의 무료 투표 데이터 패킷에 해당). 지금 무료 개발자 SIM을 주문하고 프로모션 코드 BUDS-WITH-BENSTR를 사용하세요. 무료 배송과 약간의 $$ 크레딧이 제공됩니다.
**전체 공개:저는 Hologram에서 일하므로 셀룰러 연결을 기반으로 한 많은 IoT tuts를 만드는 것을 볼 수 있습니다.**
그림>아이디어를 반복하고 결국에는 전 세계에 수백 개의 모바일 투표함을 갖고 매일 새로운 질문을 하고 데이터를 공개적으로 사용할 수 있을 만큼 충분히 견고한 디자인에 도달하는 것은 놀라운 일입니다.
모바일 투표함 구축 방법
높은 수준에서 우리는 역방향으로 작업할 것입니다. 출구에서 시작하여 입구까지 작업합니다.
<울>
데이터가 어디로 가는지 이해.
투표가 기록될 때마다 장치는 데이터 문자열을 홀로그램 데이터 라우터로 보냅니다. 데이터 라우터는 문자열을 JSON 개체로 확장/조작하고 IFTTT 웹훅으로 보냅니다. IFTTT는 각 투표를 Google 시트에 추가합니다.
얼핏 보면 과해 보일 수 있지만 각 요소는 독특하고 중요한 역할을 합니다.
<울>
1. IFTTT 그림> 그림> <울>
2. 홀로그램
새 장치 만들기
<울>새 데이터 경로 생성
<울>{"value1":"피자:시카고 또는 뉴욕 스타일?", "value2":"<>"}
3. 경로 및 웹훅 테스트 <울>
4. 하드웨어 <울>
즐기세요!
섹션> <섹션 클래스="섹션 컨테이너 섹션 축소 가능" id="코드">#include섹션>#define RX_PIN 2 //SIMCom RX - MCU TX#define TX_PIN 3 //SIMCom TX - MCU RX#define RESET_PIN 4 //SIMCom reset#define HOLO_KEY "########" // SIM 키와 교체#define CONNECT_LED 12#define VOTE1_BTN_PIN 6# VOTE1_LED_PIN 정의 7#VOTE2_BTN_PIN 정의 9#VOTE2_LED_PIN 정의 10홀로그램SIMCOM 홀로그램(TX_PIN, RX_PIN, RESET_PIN, HOLO_KEY); // HologramString 인스턴스화 VOTE1_VALUE ="chicago";String VOTE2_VALUE ="newYork";String HOLOGRAM_TOPIC ="vote";void setup() { Serial.begin(19200); 동안(! 직렬); // 모뎀을 시작하고 홀로그램의 글로벌 네트워크에 연결 Hologram.debug(); //사용된 핀의 모드 설정 pinMode(CONNECT_LED, OUTPUT); 핀모드(VOTE1_BTN_PIN, 입력); 핀모드(VOTE1_LED_PIN, 출력); 핀모드(VOTE2_BTN_PIN, 입력); 핀모드(VOTE2_LED_PIN, 출력); bool cellConnected =Hologram.begin(19200, 8888); // baud를 19200으로 설정하고 포트 8888에서 서버 시작 if(cellConnected) { digitalWrite(CONNECT_LED, HIGH); }} 무효 루프() { Hologram.debug(); if(digitalRead(VOTE1_BTN_PIN) ==HIGH) { sendVote(VOTE1_VALUE,VOTE1_LED_PIN); } if(디지털 읽기(VOTE2_BTN_PIN) ==높음) { sendVote(VOTE2_VALUE,VOTE2_LED_PIN); }} 무효 sendVote(문자열 VOTE_VALUE, const int VOTE_LED) { digitalWrite(VOTE_LED, HIGH); // 홀로그램 데이터 라우터로 전송 if(Hologram.send(VOTE_VALUE, HOLOGRAM_TOPIC)) { // 투표에 성공하면 LED 깜박임 // 이것은 엉터리 코드입니다. 리팩토링을 고려하십시오. digitalWrite(VOTE_LED, LOW); 지연(100); 디지털 쓰기(VOTE_LED, 높음); 지연(100); 디지털 쓰기(VOTE_LED, LOW); 지연(100); 디지털 쓰기(VOTE_LED, 높음); 지연(100); 디지털 쓰기(VOTE_LED, LOW); } else { digitalWrite(VOTE_LED, LOW); }}
제조공정
구성품 및 소모품 Arduino Mega 2560 × 1 NEO 6 GPS × 1 Adafruit SD 카드 실드 × 1 Adafruit SD 카드 실드 × 1 Seeedstudio gprs 방패 V2.0 × 1 시드 GPRS Shield V2.0 × 1 점퍼 와이어(일반) × 1 9V 배터리(일반) × 1 상자 × 1 상자 × 1 이 프로젝트 정
구성품 및 소모품 나무 상자/상자 × 1 Arduino UNO × 1 Adafruit 웨이브 실드 × 1 SainSmart 4채널 릴레이 모듈 × 1 유리창 와이퍼 모터 × 1 빨간 LED 크리스마스 조명(100) × 1 연기 기계 × 1 파워 앰프/스피커 × 1 이 프로젝트 정보 *** 버전 4로 업데이트됨 *** 나는 최근에 이 프로젝트의 Arduino 코드를