Мазмуну:

Роботтук кол - DIY: 5 кадам
Роботтук кол - DIY: 5 кадам

Video: Роботтук кол - DIY: 5 кадам

Video: Роботтук кол - DIY: 5 кадам
Video: КОНЕЦ МУЧЕНИЯМ. Трава больше не проблема! 2024, Июль
Anonim
Роботтук кол - DIY
Роботтук кол - DIY

Мен кичинекей кезимден бери эле эң сонун нерселерди жасагым келет. Тилекке каршы кичүүм, мен ал кезде эч нерсе жасоого жетиштүү билимге ээ эмес болчумун. Бирок азыр мен бир аз электрониканы билем жана кышкы каникулда бул долбоорду камчыга байладым.

Негизинен мен картон, серво жана башка нерселерди колдонуп робот колун түздүм, анын жардамы менен манжаларыбыздын кыймылына ылайык ийилгич сенсорлордун жардамы менен жылдырууга болот.

Эгерде сизде кандайдыр бир сунуштар болсо, аны комментарийге калтырыңыз.

1 -кадам: Керектүү компоненттер:

  1. Servos
  2. Flex сенсорлору (5)
  3. Картон
  4. Тасма
  5. Саптар
  6. Arduino
  7. Резистор (5 x 1k ohms)

2 -кадам: Flex сенсорлору:

Flex сенсорлору
Flex сенсорлору
Flex сенсорлору
Flex сенсорлору

Эмне алар?

Flex сенсорлору, эгерде алар баштапкы абалынан ийилген болсо, каршылыктарын өзгөртөт. Негизинен, бул өзгөрүлмө резистор.

Arduino менен баарлашуу:

Arduino каршылыктарды окуй албайт, бирок аналогдук пин аркылуу чыңалууларды окуй алат. Ошентип, биз чыңалуу бөлүштүргүч схемасын түзөбүз.

Эстен чыгарбоо керек болгон бир нерсе - бул сенсорлор абдан морт, ошондуктан аларды коопсуз сактоого аракет кылыңыз жана аларды орой башкарбаңыз.

Ийкемдүү сенсорду жогорудагы сүрөттөгүдөй Arduino менен туташтырыңыз. Аларды туташтыргандан кийин, Arduino'ду ноутбукка жана компьютериңизге сайыңыз жана Arduino IDE ачыңыз. Максималдуу жана Минималдуу маанини алуу үчүн төмөнкү кодду колдонуңуз. Баштапкы абалында минималдуу бааны берет. Сенсорду 90 градустук бурчка бүгүп койсоңуз, максималдуу мааниге ээ болосуз. Кодду жүктөгөндөн кийин, бул баалуулуктарды табуу үчүн сериялык мониторду ачыңыз. Бул баалуулуктарга көңүл буруңуз.

int flexsensor = A0; int val;

жараксыз орнотуу () {

Serial.begin (9600);

}

void loop () {

val = analogRead (flexsensor);

Serial.println (val);

кечиктирүү (50);

}

Сүрөттөрдүн уруксаты: Google

3 -кадам: Servos:

Мен бул көрсөтмөдө серволордун кантип иштээри жөнүндө айтпайм. Буга жардам берүү үчүн онлайнда башка окуу куралдары бар.

Серводо үч терминал бар: GND (күрөң), Vcc (кызыл) жана сигнал (сары же кызгылт сары). Vccти 5V Arduino менен GND'ге Arduino жерге туташтырыңыз. Сигнал '~' (тильда) белгиси менен көрсөтүлгөн Arduino PWM казыктарына барат. Дагы бир нерсени билүү керек, сервопроводдор 0дон 180 градуска чейин жылат. Ошентип, Arduino IDEде серверлерге даражаларды жөнөтүүчү сигналдарды жөнөтө турган китепкана бар.

Flex сенсор манжаларыбызга бекитилет, ошондуктан манжаларыбызды жылдырганда Flex сенсорлору да кыймылдайт, демек каршылык өзгөрөт. Ушундан улам, Arduino аналогдук пинден ар кандай баалуулуктарды окуйт.

Акыркы кадамдан тартып сенсордон максималдуу жана минималдуу маанилерди алганыбызды унутпаңыз. Биз бул баалуулуктарды 0 ден 180 градуска чейин картага түшүрүү үчүн колдонобуз.

#includeServo x; // объектини аныктоо

int flexpin = A0;

int val;

int maxval = 870; // сенсорго ылайык maxvalды кайра аныктаңыз

int minval = 750; // сенсорго жараша минвалды кайра аныктаңыз

жараксыз орнотуу ()

{

x.attach (9); // Серво атташеси 9 -пинге

}

боштук цикл ()

{

val = analogRead (flexpin);

val = карта (val, maxval, minval, 180, 0); // 0дон 180ге чейинки маанилерди картага түшүрүү

x.write (val);

кечигүү (10);

}

Жогорудагы код 1 servo жана 1 flex sensor үчүн.

4 -кадам: Механикалык манжалар:

Механикалык манжалар
Механикалык манжалар

www.dropbox.com/s/m3jh0iiqwm2vx0e/robotic%…

Мен муну Science toymakerден алдым

sciencetoymaker.org/

Сүрөттү түшүрүп, басып чыгарыңыз жана жука картон баракчасына чаптаңыз.

Сызыктар боюнча кескиле (үзгүлтүксүз) жана чекит сызыктар боюнча бүктөмдөрдү жасаңыз. Муну жасагандан кийин, бармакка абдан окшош болгон тик бурчтуу кубоидди аласыз. Сүрөттүн эки бөлүгү бар, сол тарабы ийкемдүү жана оң бөлүгү туруктуулук үчүн. Мен туура колдонгон жокмун, бирок сиз кааласаңыз, балдар колдоно аласыз.

Калган төрт манжаңыз үчүн да ушуну кайталаңыз. Андан кийин, алаканды көрсөтүү үчүн аларды базага коюңуз. Манжанын жогору жагынан жипти көңдөй ичинде жана акырында түбүнө бекиңиз. Эгерде баары туура жасалган болсо, анда жипти тартсаңыз манжа кыймылдашы керек.

5 -кадам: Баарын тиркөө:

Баардык серволорду базага коюңуз. Серволорду алгач 0 градуска жылдырыңыз. Андан кийин, сервистер менен алган тиркемени коюңуз. Саптарды серволорго бекиңиз. Серво үчүн бардык байланыштарды кайталаңыз, калган төрт манжаңыз үчүн Flex сенсорлору.

Менде бир гана ийкемдүү сенсор бар болчу, ошондуктан мен аны 5 сервону көзөмөлдөө үчүн колдондум. Бул жерде мен аны ар бир ийкемдүү сенсор 5 көз карандысыз сервос көзөмөлдөй тургандай кылып өзгөрттүм.

#includeServo x;

Servo y;

Servo z;

Servo a;

Servo b;

int flexpin = A0;

int val;

int maxval = 850;

int minval = 700;

жараксыз орнотуу ()

{

Serial.begin (9600);

x.attach (9);

y.attach (10);

z.attach (11);

a.tachach (5);

b.tachach (6);

}

боштук цикл ()

{

val = analogRead (flexpin);

val = карта (val, maxval, minval, 180, 0);

Serial.println (val);

x.write (val);

y.write (val);

z.write (val);

a.write (val);

b.write (val);

кечигүү (10);

}

Сунушталууда: