Robotic Arm

Robotická ruka je mechanické zařízení navržené k imitaci lidské ruky a jejích pohybů. Běžně se používá v průmyslových prostředích, zdravotnictví, výzkumu a brzy i v domácnostech.

Základna: Základna slouží jako pevný bod, ke kterému je robotická ruka připevněna. Poskytuje stabilitu a umožňuje pohyb ruky.

Klouby: Robotická ruka obsahuje několik kloubů, které umožňují pohyb v různých směrech. Například rotační klouby, otočné klouby a lineární klouby.

Efektory: Efektory jsou koncové nástavce na konci robotické ruky, které slouží k provedení určitých úkolů. Mohou to být například chňapky, nástroje, senzory nebo jiná zařízení, která umožňují interakci s prostředím nebo objekty.

Ovládací systém: Ovládací systém řídí pohyb a akce robotické ruky na základě vstupních signálů, jako jsou příkazy od operátora, senzorická data nebo programové instrukce.

Senzory: Senzory jsou integrovány do robotické ruky pro získávání informací o okolním prostředí, poloze a stavu ruky. Tyto informace se používají k plánování a řízení pohybů ruky a k přizpůsobení se změnám v prostředí.

 

Kód:

#include<Arduino.h>

 

#include<Servo.h>

 

Servo myservo;  

 

Servo treti_kloub;

Servo druhy_kloub;

Servo prvni_kloub;

Servo tocna;

 

voidsetup() {

  treti_kloub.attach(11);  

  druhy_kloub.attach(9);

  prvni_kloub.attach(10);

  tocna.attach(8);

  prvni_kloub.write(90);

  druhy_kloub.write(90);

  treti_kloub.write(90);

  tocna.write(90);

  delay(2000);

 

}

// 130, 0, 150, 180 tocna, poradi kloubu je od prvniho

// 100, 30, 180, 0 tocna, poradi kloubu je od prvniho

 

voidloop() {

/*

prvni_kloub.write(130);

druhy_kloub.write(0);

treti_kloub.write(150);

tocna.write(180);

delay(2000);

prvni_kloub.write(100);

druhy_kloub.write(30);

treti_kloub.write(180);

tocna.write(0);

delay(2000);

*/

for (int i =0; i<180; i++)

{

  if(90+i<130)

  {

    prvni_kloub.write(90+i);

  }

  if(90-i<0)

  {

    druhy_kloub.write(90-i);

  }

  if(90+i<150)

  {

    treti_kloub.write(90+i);

  }

  if (90+i<180)

  {

    tocna.write(90+i);

  }

  delay(8);

}

delay(1000);

 

for (int j =0; j >-180; j--)

{

  if(130+j>100)

  {

    prvni_kloub.write(130+j);

  }

  if(0-j<30)

  {

    druhy_kloub.write(0-j);

  }

  if(150-j<180)

  {

    treti_kloub.write(150-j);

  }

  if(180+j>0)

  {

    tocna.write(180+j);

  }

  delay(8);

}

 

delay(1000);

}

#include<Arduino.h>

 

#include<Servo.h>

 

Servo myservo;  

 

Servo treti_kloub;

Servo druhy_kloub;

Servo prvni_kloub;

Servo tocna;

 

voidsetup() {

  treti_kloub.attach(11);  

  druhy_kloub.attach(9);

  prvni_kloub.attach(10);

  tocna.attach(8);

  prvni_kloub.write(90);

  druhy_kloub.write(90);

  treti_kloub.write(90);

  tocna.write(90);

  delay(2000);

 

}

// 130, 0, 150, 180 tocna, poradi kloubu je od prvniho

// 100, 30, 180, 0 tocna, poradi kloubu je od prvniho

 

voidloop() {

/*

prvni_kloub.write(130);

druhy_kloub.write(0);

treti_kloub.write(150);

tocna.write(180);

delay(2000);

prvni_kloub.write(100);

druhy_kloub.write(30);

treti_kloub.write(180);

tocna.write(0);

delay(2000);

*/

for (int i =0; i<180; i++)

{

  if(90+i<130)

  {

    prvni_kloub.write(90+i);

  }

  if(90-i<0)

  {

    druhy_kloub.write(90-i);

  }

  if(90+i<150)

  {

    treti_kloub.write(90+i);

  }

  if (90+i<180)

  {

    tocna.write(90+i);

  }

  delay(8);

}

delay(1000);

 

for (int j =0; j >-180; j--)

{

  if(130+j>100)

  {

    prvni_kloub.write(130+j);

  }

  if(0-j<30)

  {

    druhy_kloub.write(0-j);

  }

  if(150-j<180)

  {

    treti_kloub.write(150-j);

  }

  if(180+j>0)

  {

    tocna.write(180+j);

  }

  delay(8);

}

 

delay(1000);

}

 

Autor:

Jan Matoušek
janmatousek2002sro@gmail.com

Další podobné články

OVLÁDÁNÍ VÍCE RELÉ S NEOPIXEL RGB ARDUINEM

Kamarád mi poprosil o pomoc s tím že v současnosti potřebuje v jednom projektu ovládat čtyři reléové moduly, kdy jeden obsahuje šestnáct relátek které zakoupil v [1] a již má hotovou část zapojení přípravku, s tím že časem by chtěl ovládání z PC „po otestování“, ovládat diody pomocí tabletu nebo chytrého telefonu. Na tento počet ovládání relé je potřeba 64 ovládacích pinů, což ani ARDUINO MEGA 2560 s potřebou dalších vstupů které budou potřeba není možné použít. Po návrzích s posuvnými registry kterých by bylo potřeba osm kusů a složitosti zapojení mi napadlo použít pásek NEOPIXEL  s RGB led diodami kdy na ovládání stačí jeden výstup z ARDUINA. Tak že pro pokusy co a jak půjde použít, jsem použil modul relátek osazený dvěma relátky, modul s MOSFET tranzistorem, Neopixel pásek s osmi RGB led diodami WS2812B, fototranzistor GL5528 a bluetooth JDY-33 pro komunikaci s tabletem chytrým telefonem vše zakoupené v [1]. Napsané programy jsou celkem dva jeden pouze pro ovládání Neopixel s osmi RGB led diodami, druhý pak umožňuje ovládat maximálně 255 RGB led použitých v Neopixel pásku. Oba programy umožňují ovládat libovolnou RGB diodu nebo více RGB led diod na Neopixel pásku včetně barev a dají se upravit dle potřeby. Přípravek může posloužit při vlastních pokusech s RGB LED Neopixel pásky a zároveň doplňuje články v [2]. Ovládání RGB diod je zde řešeno s ARDUINO NANO je možné použít i ARDUINO UNO. Programové ovládání RGB led diod na Neopixel pásku je dle požadavků kamaráda.