
По ссылке ниже можно прочитать, как сделать укачивальщик младенцев с помощью ардуино или 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; rcount 500){
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, термины, начало работы
КМБ для начинающих ардуинщиков
Состав стартера (точка входа для начинающих ардуинщиков)
