/****************************************** * Fabricademy Open Source Hardware * Loom ******************************************/ #include #include "SoftwareSerial.h" #include "DFPlayer_Mini_Mp3.h" Stepper stepper1( 2048, 8, 10, 9, 11 ); SoftwareSerial mySerial(5,6); // RX, TX #define MIC_PIN 0 bool isRot = false; int waitTime=0; int baseVal=0; void setup() { delay(2000); //Module startup wait time // Rotations per minute setting stepper1.setSpeed( 5 ); Serial.begin(9600); long sum=0; for(int i=0; i<100; i++) { sum += analogRead(MIC_PIN); } baseVal=sum/100; Serial.println(baseVal); mySerial.begin(9600); mp3_set_serial(mySerial); mp3_set_volume(20); } void loop() { // Serial.println(analogRead(MIC_PIN)); chkMic(); if(isRot){ rotate(512); //90 degrees } delay(50); } void chkMic(){ int i = abs(analogRead(MIC_PIN)-baseVal); if (!isRot && (i>8) && (waitTime==0)){ isRot=true; waitTime=3; } if( waitTime>0){ waitTime -=1; } Serial.print(baseVal); Serial.print(","); Serial.print(i); Serial.print(","); Serial.println(isRot); } void rotate(int r){ delay(300); mp3_play (random(1,7)); stepper1.step( r ); //degree // Stop digitalWrite(8, LOW); digitalWrite(10, LOW); digitalWrite(9, LOW); digitalWrite(11, LOW); isRot=false; }