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