Ollie — открытый (open source) проект автономного рободирижабля.
Демонстрационное видео:
Для проекта используются:
* Arduino Pro Mini
* электронный микрофон
* литий-ионная батарея 900 мАч
* 2 Микро-сервомашинки ( 3,6г)
* Метровый майларовый (фольгированный) шар + лист майлара/фольги для крыльев
+ мелочёвка
Схема
Скетч
#include <SoftwareServo.h> SoftwareServo myservo; // create servo object to control a servo SoftwareServo myservo2; int goUp = 0; int val = 0; int wait = 0; int flyFor = 0; long flapTime = 0; int angleMin = 0; int angleMax = 120; int upSpeed = 20; int downSpeed = 1; int buffer = 0; //Sound variables int potPin = 1; // select the input pin for sound sensor int ledPin = 13; // select the pin for the LED int soundVal = 0; void setup() { pinMode(ledPin, OUTPUT); // declare the ledPin as an OUTPUT myservo.attach(2); // attaches the servo on pin 2 myservo2.attach(4); Serial.begin(9600); // open the serial port at 9600 bps: } void loop() { // Servo if (flyFor < flapTime){ if (wait == 5){ if (val < angleMin){ goUp = 1; digitalWrite(ledPin,HIGH); } else if (val >angleMax){ goUp = 0; digitalWrite(ledPin,LOW); } if (goUp == 0){ val-=upSpeed; }else { val+=downSpeed; } } wait++; if (wait > 200) wait = 0; myservo.write(val); // sets the servo position according to the scaled value myservo2.write(120-val); SoftwareServo::refresh(); flyFor++; }else{ //Sound soundVal = analogRead(potPin); Serial.println("Listening............"); if( soundVal>1020 ){ Serial.println("FREEAK OUT!"); upSpeed = 15; downSpeed = 15; angleMax = 45; angleMin = 10; flapTime = 6000; } else if (soundVal<450 || soundVal >750){ if (buffer == 0){ Serial.println(soundVal); upSpeed = random (1, 20); //1 to 30 downSpeed = random (1, 30);// 1 to 30 angleMax = random (110, 120); angleMin = random (30, 45); flapTime = 10000 + random (5000 , 10000); flyFor = 0; buffer = 15; }else{ buffer--; } } } }
Ссылки
http://meandollie.com — Ollie is a DIY autonomous robotic blimp
инструкция по сборке
0 комментариев на «“Ollie — рободирижабль под управлением Arduino”»
Мне кажется, было бы интереснее оснастить его УЗ сенсором высоты ;).