Скорпионоид или Hallo World! (фотоотчет)


Итак, Скорпионоид или что я сотворил из чудо пластика , CraftDuino и набора Starter kit + сервы…получилось простенько, но как говорится — со вкусом. Самое сложное в нашем деле — как всегда — идея!
робот-скорпион

И вот , подобно товарищу Менделееву , ответ был найден в процессе пребывания в анабиозе после очередного ночного марафона просмотра гексологии Звездных Войн…

Все использованные материалы для моего таракана были получены из магазина Robocraft, за что ему огромное спасибо!
Для начала был заготовлен материал известный в миру как протопласт, чудо-пластик , а правильнее сказать Polycaprolactone — пластик для быстрого прототипирования.

Толи из бедности , толи по наитию использовал метод чайника для расплавки сего полимера. Получилось весьма интересно, да хотя бы наблюдать за его метаморфозой — белые не прозрачные шарики пластика после заливания их кипятком становятся сначала прозрачными шариками(прям как свежая пресвежая красная икра -только бесцветная) , а затем сплавляются в единый прозрачный слой на дне стакана . Причем прозрачным на столько ,что я не сразу заметил его наличие в используемой емкости.

приступим…

полученную массу вытаскиваем на стол и раскатываем

раскатали…курим и видим
через 2 минуты…

через 5 минут…

как видим полимеризация на лицо…
получил я вот такого вида лист пластика толщиной 2-3 мм…

из него и ему подобных я с неописуемой легкостью при наличии острого режущего инструмента заготовил передние конечности для изготовляемого насекомого…

получили две брутальные ноженьки и налепил их при помощи тогоже пластика к рычагам сервы и с успехом прикрутил их непосредственно к самим моторам ,благо набор рычагов и винтов крепления идус сервами в комплекте… и вот две ноги…

радуемся такой красоте и созерцаем в деловом беспорядке завалявшуюся третью серву

вот из неё то , родимой я и сделал заднюю пару ног — долго не лепил, а сваял первое что пришло в голову похожее на пару задних лап…

перейдем к туловещу…
запарил ещё протопласта и лепил часа 2 в попытке придания нужных форм, изменения идей по ходу лепки, попутно подогревая деталь в кипятке , чтоб не застыла.
прорезаем пазы под сервы в корпусе и вуаля — платформа всборе!

Собираем шилд.

для его изготовления понадобились:

— 3 красных светодиода
— пьезо-пищалка
— 3 резистра 100 Ом и 1 на 10к
— фоторезистор
— моток монтажного одножильного провода
— паячный протошилд
— пины для установки шилда в CraftDuino они же однорядная гребёнка шаг 2.56 прямая + гнутая
— припой , флюс и паяльник.
— время.

получаем

далее лепим хвост ,крепим в теле светики и CraftDuino протягиваем провода

Что касается скеча, то он прост как Blink. все части взяты из примеров программы Arduino IDE и примеро в на этом сайте.

// Scorpionoid
// by ABBIVAN  < [email protected] >



#include <Servo.h> 

Servo levnoga;  
Servo pravnoga;     // объявили сервы          
Servo zadnogi;
int pos = 0;   // переменная положения вала серв

int svet =0;   // значение напряжения снимаемого с фоторезистра
int anpin=0;   // аналоговый вход на котором сидит фоторезистор
int a = 0 ;
int speakerPin = 6;  // цифровой выход на котором сидит пьезопищалка
int levglaz = 11;
int pravglaz = 12;  // объявили пины для светодиодов
int hvostsvet = 3;

int length = 10;               // сочиняем мелодию
char notes[] = "eeecgecge ";  
int beats[] = { 2, 2, 2, 1, 1, 2, 2, 1, 3, 4 };
int tempo = 300;

void playTone(int tone, int duration) 
{
	for (long i = 0; i < duration * 1000L; i += tone * 2) 
	{
		digitalWrite(speakerPin, HIGH);
		delayMicroseconds(tone);
		digitalWrite(speakerPin, LOW);
		delayMicroseconds(tone);
	}
}

void playNote(char note, int duration) {
	char names[] = { 'c', 'd', 'e', 'f', 'g', 'a', 'b', 'C' };
	int tones[] = { 1915, 1700, 1519, 1432, 1275, 1136, 1014, 956 };

	// проиграть тон, соответствующий ноте
	for (int i = 0; i < 8; i++) 
	{
		if (names[i] == note) 
		{
			playTone(tones[i], duration);
		}
	}
}


void setup() 
{ 
	levnoga.attach(9);
	pravnoga.attach(10); //  цифровые выходы CraftDuino на которые подсоединили сервы
	zadnogi.attach(8);
	pinMode(levglaz, OUTPUT);
	pinMode(pravglaz, OUTPUT);
	pinMode(hvostsvet, OUTPUT);
	pinMode(speakerPin, OUTPUT);
} 

void loop() 
{ 
	svet = analogRead (anpin); 
	if ( svet >= 800 )
	{
		a == a++ ;
	}
	if ( a == 1) 
	{
		delay (2500);
		for (int i = 0; i < length; i++) {
			if (notes[i] == ' ') 
			{
				delay(beats[i] * tempo); // пауза
			} 
			else
			{
				playNote(notes[i], beats[i] * tempo);
			}

			// пауза между нотами
			delay(tempo / 2); 
		}
	} 

	if ( svet >= 800 )
	{

		digitalWrite(hvostsvet, HIGH);
		for(pos = 70; pos <= 120; pos += 1)   
		{                      
			digitalWrite(levglaz, HIGH);
			delay(2);
			digitalWrite(levglaz, LOW);
			digitalWrite(pravglaz, HIGH);
			delay(2);
			digitalWrite(pravglaz, LOW);
			// in steps of 1 degree 
			levnoga.write(pos+10); 

			pravnoga.write(pos-40); 

			zadnogi.write(pos-10);
			delay(6);                       
		} 
		for(pos = 120; pos>=70; pos-=1)      
		{       
			digitalWrite(levglaz, HIGH);
			delay(2);
			digitalWrite(levglaz, LOW);
			digitalWrite(pravglaz, HIGH);
			delay(2);
			digitalWrite(pravglaz, LOW);    
			levnoga.write(pos); 
			pravnoga.write(pos-50); 
			zadnogi.write(pos+40); 
			delay(6);                       
		} 
	}
	else 
	{
		a = 0;

		digitalWrite(hvostsvet, LOW);
		for(pos = 70; pos <= 120; pos += 1)  
		{                      
			// in steps of 1 degree 
			levnoga.write(pos+30); 

			pravnoga.write(pos-40);  

			zadnogi.write(pos-10);
			delay(10);                       
		} 
		for(pos = 120; pos>=70; pos-=1)     
		{       
			levnoga.write(pos); 
			pravnoga.write(pos-50); 
			zadnogi.write(pos+40); 
			delay(10);   
		} 
	}
} 

И так имеем:

— скорпионоид идет,
— думает — светло сейчас или нет
считывая инфу с аналогового входа на котором висит фоторезистор.
если светло-ну и Бог с ним-идем дальше
если темно:
-обрабатывает условие (иже сравнивает величину напряжения на analog pin с заданным в условии).
— при выполнении условия -остонавливается, радует нас музыкальной темой ДартВэйдэр из звездных войн,
включает фары и топает дальше)))
-при дальнейшем росте освещенности без остановок выключает фары и убегает в темное место 🙂

общий вид

А вот ОН и в действии:

бегает он шустро…правда когда от usb запитываю — шнур у меня с наболдажником- тяжело его тянуть ему — уводит влево…блок питания не могу найти — где то в бардаке)))

это и есть мой первый робот-простенький — зато от всего сердца…)))
всем братьям и сестрам по интересам — УДАЧИ!!!

при использовании материала ссылка на сайт robocraft.ru обязательна


0 комментариев на «“Скорпионоид или Hallo World! (фотоотчет)”»

  1. Сделано интересно, но имхо электронику стоит скрыть, а учитывая количество деталей советую попробовать обойтись без дуины, только микроконтроллер.

    • Тоже подумывал запрятать под панцерем, но времени как всегда мало(((
      да и вид голых железок придает ему очаровательный индустриальный шарм )))

    • Всем спасибо за комменты!!!

      Касаемо шилда:

      очень простенький он, можно сказать юниоровский)))
      но если есть конкретные вопросы, то с радостью отвечу…

  2. Симпатично, но код скетча — это кошмар.
    Все пины лучше поименовать, а то спискер поименован, а вот какая из серв на какую ногу завязано — непонятно… Так же не ясно, за что отвечают 3, 11 и 12 пины. То есть, конечно разобраться можно, но тугова-то это 🙂

    А так — да, очень симпатичный бот.

    Что касается провода и увода влево — тут да, проблемка. Я сейчас черепашку собираю, то же самое. И не понятно на что грешить, на кривость ног или вес провода.

    • Учел замечания и по заказам трудящихся подправил скеч…
      спасибо за замечание… ждем отчет по черепашке ))

Добавить комментарий

Arduino

Что такое Arduino?
Зачем мне Arduino?
Начало работы с Arduino
Для начинающих ардуинщиков
Радиодетали (точка входа для начинающих ардуинщиков)
Первые шаги с Arduino

Разделы

  1. Преимуществ нет, за исключением читабельности: тип bool обычно имеет размер 1 байт, как и uint8_t. Думаю, компилятор в обоих случаях…

  2. Добрый день! Я недавно начал изучать программирование под STM32 и ваши уроки просто бесценны! Хотел узнать зачем использовать переменную типа…

3D-печать AI Android Arduino Bluetooth CraftDuino DIY IDE iRobot Kinect LEGO OpenCV Open Source Python Raspberry Pi RoboCraft ROS swarm ИК автоматизация андроид балансировать бионика версия видео военный датчик дрон интерфейс камера кибервесна конкурс манипулятор машинное обучение наше нейронная сеть подводный пылесос работа распознавание робот робототехника светодиод сервомашинка собака управление ходить шаг за шагом шаговый двигатель шилд

OpenCV
Робототехника
Будущее за бионическими роботами?
Нейронная сеть - введение