По ссылке ниже можно прочитать, как сделать укачивальщик младенцев с помощью ардуино или CraftDuino 🙂
Код для Arduino
#include <ServoTimeTimer1.h> #define servoPin1 10 ServoTimeTimer1 servo1; int micPin = 0; //mic. amp to pin 0. int ledPin = 7; // LED connected to digital pin 7 int potpin = 2; // 10K pot on pin 2 int swpin = 3; // mode switch int potv = 0; // value from pot int stime = 800; // servo timer in rest. 500 to 2500. int rcount = 0; // rock count in loop int volu = 0; // detected sound int soundcount = 0; //number of detected sounds int numberofrocks = 0; // rumber of rocks to be boolean trigg=false; void setup() { pinMode(ledPin, OUTPUT); pinMode(potpin, INPUT); pinMode(micPin, INPUT); pinMode(swpin, INPUT); servo1.attach(servoPin1); Serial.begin(9600); servo1.write((stime)); digitalWrite(ledPin, LOW); } //////////////////////////////////////// void loop() { if(analogRead(swpin)>500) crock(); // check if the input is HIGH, go to sub crock) if (listen()==true)soundcount=soundcount+2; //if the counter is above 0, reduse. if (soundcount>0) soundcount=soundcount-1; if (soundcount>=5) { //check counter, if high, rock the cradle! rockcradle(20); soundcount=4; // leave counter at high value for quick restart } //Serial.println(soundcount); //debug } //////////////////////////////////////// void rockcradle(int numberofrocks) { for (rcount=0; rcount500){ digitalWrite(ledPin, HIGH); delay (1); digitalWrite(ledPin, LOW); delay (0); potv=analogRead(potpin); // to control speed... servo1.write((stime+potv)); Serial.println(stime+potv); delay(500); servo1.write((stime)); delay (500); } } ///////////////////////////////////////
далее: Автоматизация качания детской кроватки на Arduino и частях от ЧПУ
Ссылки
Arduino crib rocker
Arduino
Ардуино что это и зачем?
Arduino, термины, начало работы
КМБ для начинающих ардуинщиков
Состав стартера (точка входа для начинающих ардуинщиков)