Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

Poprzednia rewizja po obu stronach Poprzednia wersja
projekty:szuszacz [2020/09/29 17:45]
yasiu usunięto
— (aktualna)
Linia 1: Linia 1:
-===== Szuszacz ===== 
-^Zamieszany|[[user>​yazjack]] ​ | 
-^Rozpoczęto|2017-06-15 ​ | 
-^Status|{{tag>​zakończone}} ​ | 
-^Tagi|{{tag>​projekt}} ​ | 
-Urządzenie losowo emitujące dźwięk na podstawie odczytów z czujnika PIR. 
-==== Założenia ==== 
- 
-Mój synek dość niespokojnie śpi, najczęściej wybudza się co jakiś czas i trzeba brać go na ręce, ponownie usypiać itd. To wszystkow ​ czasie, kiedy kręgosłup odmawiał mi posłuszeństwa. Jedyną opcją było "​szuszanie",​ kiedy słyszał ten dźwięk, uspokajał się i ponownie zasypiał. Są nawet badania, wskazujące na korzystne działanie białego szumu na sen u dzieci. Nie ważne, działało. Z tym mankamentem,​ że trzeba było obserwować małego, kiedy zaczynał się poruszać we śnie, to był moment na "​szuszanie"​. 
- 
-Pomysł był dość prosty, zrobić czujkę, która "​obserwuje"​ malucha za mnie i "​szusza"​ w odpowiednim momencie. 
- 
-==== Iteracje ==== 
-=== Iteracja I === 
- 
-Na zdjęciu pierwszy test bojowy. Działało idealnie, drzemki trwały bez przerw. 10/10, używam do tej pory. 
-Efekty uboczne - straszy [[user>​mroz]] ;P 
- 
-{{https://​trello-attachments.s3.amazonaws.com/​5a156db2be9d8433cfe1eaaa/​5a1e9c9965016cd49e972e71/​7784e26863b65249e9157f23b065e324/​IMG_20170615_152405.jpg?​400}} 
- 
-===== Wykonanie ===== 
- 
-Zaczęło się i skończyło na prototypie na płytce. Bo działało i wystarczyło. Za układ starujący posłużyło Arduino Nano, za odtwarzanie dźwięku DFPlayer z głośnikiem,​ za wykrywanie ruchu i dźwięku czujnik PIR i mikrofon. Arduino przyjmowało sygnał z PIR i odtwarzało losowo cykl pięciu z dziesięciu czterosekundowych nagrań. Takie rozwiązanie pozwalało na odtworzenie dość naturalnego,​ niepowtarzalnego "​szuszania"​. Mikrofon miał wykrywać płacz i zwiększać głośność,​ ewentualnie dawać znać do odbiornika przez wifi, ale nie oddalam się nigdy na tyle, żeby było to konieczne. 
- 
-==== Hardware ==== 
- 
-  * Arduino Nano 
-  * DFPlayer 
-  * zasilacz do płytek prototypowych 
-  * czujnik PIR 
-  * mikrofon 
- 
-==== Kod ====  
- 
-<code cpp> 
- 
-#include "​Arduino.h"​ 
-#include "​SoftwareSerial.h"​ 
-#include "​DFRobotDFPlayerMini.h"​ 
- 
-int pirPin = 2; 
-int readPir; 
-int randNumber; 
-int redLed = 3; 
-int greenLed = 4; 
-int blueLed = 5; 
-int x; 
-int micPin = A0; 
- 
-SoftwareSerial mySoftwareSerial(10,​ 11); // RX, TX 
-DFRobotDFPlayerMini myDFPlayer; 
- 
-void printDetail(uint8_t type, int value); 
- 
-void redOn(){ 
-  digitalWrite(redLed,​ LOW); 
-  digitalWrite(greenLed,​ HIGH); 
-  digitalWrite(blueLed,​ HIGH); 
-} 
- 
-void greenOn(){ 
-  digitalWrite(redLed,​ HIGH); 
-  digitalWrite(greenLed,​ LOW); 
-  digitalWrite(blueLed,​ HIGH); 
-} 
- 
-void blueOn(){ 
-  digitalWrite(redLed,​ HIGH); 
-  digitalWrite(greenLed,​ HIGH); 
-  digitalWrite(blueLed,​ LOW); 
-} 
- 
-void allOff(){ 
-  digitalWrite(redLed,​ HIGH); 
-  digitalWrite(greenLed,​ HIGH); 
-  digitalWrite(blueLed,​ HIGH); 
-} 
-void setup() 
-{ 
-  mySoftwareSerial.begin(9600);​ 
-  Serial.begin(115200);​ 
-  pinMode(redLed,​ OUTPUT); 
-  digitalWrite(redLed,​ HIGH); 
-  pinMode(greenLed,​ OUTPUT); 
-  digitalWrite(greenLed,​ HIGH); 
-  pinMode(blueLed,​ OUTPUT); 
-  digitalWrite(blueLed,​ HIGH); 
-  pinMode(pirPin,​ INPUT); 
-  pinMode(micPin,​ INPUT); 
-  randomSeed(analogRead(0));​ 
-  Serial.println();​ 
-  Serial.println(F("​DFRobot DFPlayer Mini Demo"​));​ 
-  Serial.println(F("​Initializing DFPlayer ... (May take 3~5 seconds)"​));​ 
-  ​ 
-  if (!myDFPlayer.begin(mySoftwareSerial)) {  //Use softwareSerial to communicate with mp3. 
-    Serial.println(F("​Unable to begin:"​));​ 
-    Serial.println(F("​1.Please recheck the connection!"​));​ 
-    Serial.println(F("​2.Please insert the SD card!"​));​ 
-    while(true);​ 
-  } 
-  Serial.println(F("​DFPlayer Mini online."​));​ 
-  myDFPlayer.volume(15); ​ //Set volume value. From 0 to 30 
-  ​ 
-  for (x=1; x < 40; x++){ 
-   ​blueOn();​ 
-   ​delay(500);​ 
-   ​allOff();​ 
-   ​delay(500);​ 
-  } 
-} 
- 
-void loop() 
-{ 
-  readPir = digitalRead(pirPin);​ 
-  if (readPir == HIGH) { 
-    redOn(); 
-    randNumber = random(1,​9);​ 
-    //​Serial.println("​Motion!"​);​ 
-    //​Serial.println(randNumber);​ 
-    myDFPlayer.play(randNumber);​ 
-    delay(4000);​ 
-    allOff(); 
-  } else { 
-    greenOn(); 
-    //​myDFPlayer.pause();​ 
-    //​Serial.println("​no motion"​);​ 
-    delay(1000);​ 
-    allOff(); 
-  } 
-} 
- 
-</​code>​ 
- 
-==== Kosztorys ==== 
- 
- 
-==== Worklog ==== 
- 
-  * 15.06.2017 - testy i zakończenie prac 
- 
-===== Możliwości rozwoju projektu ===== 
-  * obudowa i proste UI 
-  * czujnik mikrofalowy zamiast/​oraz PIR 
-  * dodanie funkcjonalności "​niani"​ po WiFi z jakimś odbiornikiem na bazie sygnału z czujnika ruchu i mikrofonu 
-  * wyjście na zewnętrzny głośnik 
-  * apka na telefon z IU do nagrywania sampli; zamiast DFPlayera 
- 
  
  • projekty/szuszacz.1601394332.txt.gz
  • ostatnio zmienione: 2020/09/29 17:45
  • przez yasiu