Elektronika.lt
 2024 m. balandžio 16 d. Projektas | Reklama | Žinokite | Klausimai | Prisidėkite | Atsiliepimai | Kontaktai
Paieška portale
EN Facebook RSS

 Kas naujo  Katalogas  Parduotuvės  Forumas  Tinklaraščiai
 Pirmas puslapisSąrašas
 Forumas / + pokalbiai
 - Paieška forume
 - D.U.K. / Forumo taisyklės
 - Narių sąrašas
 - Registruotis
 - Prisijungti

Elektronika.lt portalo forumas

Jūs esate neprisijungęs lankytojas. Norint dalyvauti diskusijose, būtina užsiregistruoti ir prisijungti prie forumo. Prisijungę galėsite kurti naujas temas, atsakyti į kitų užduotus klausimus, balsuoti forumo apklausose.

Administracija pasilieka teisę pašalinti pasisakymus bei dalyvius, kurie nesilaiko forumo taisyklių. Pastebėjus nusižengimus, prašome pranešti.

Dabar yra 2024 04 16, 23:29. Visos datos yra GMT + 2 valandos.
 Forumas » Mikrovaldikliai » Roboto ranka
Jūs negalite rašyti naujų pranešimų į šį forumą
Jūs negalite atsakinėti į pranešimus šiame forume
Jūs negalite redaguoti savo pranešimų šiame forume
Jūs negalite ištrinti savo pranešimų šiame forume
Jūs negalite dalyvauti apklausose šiame forume
 
  
Puslapis 22
Pereiti prie Atgal  1, 2
Pradėti naują temą  Atsakyti į pranešimą Rodyti ankstesnį pranešimą :: Rodyti kitą pranešimą 
 Roboto ranka
PranešimasParašytas: 2016 05 16, 23:25 Pranešti apie taisyklių pažeidimą Atsakyti su citata
Socrates
Senbuvis
Senbuvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
altair rašo:
Gal, kasnos padėdumėte parašyti visa kodą? Labai būčiau dėkingas Smile


Idek savo koda cia, o mes padesim paziuret, pirstu pabadyt ir pan. Smile
 Roboto ranka
PranešimasParašytas: 2016 05 17, 07:22 Pranešti apie taisyklių pažeidimą Atsakyti su citata
Babajuss
Senbuvis
Senbuvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
Socrates rašo:
altair rašo:
Gal, kasnos padėdumėte parašyti visa kodą? Labai būčiau dėkingas Smile


Idek savo koda cia, o mes padesim paziuret, pirstu pabadyt ir pan. Smile


Aš tai tokiu atveju sakau pasijuoksim kartu. Very Happy na aišku ne iš piktumo.

_________________
Do not argue with an idiot. He will drag you down to his level and beat you with experience.
mane rasite: mano profilyje
 Roboto ranka
PranešimasParašytas: 2016 05 23, 00:00 Pranešti apie taisyklių pažeidimą Atsakyti su citata
altair
Dažnas dalyvis
Dažnas dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Siųsti el. laišką
Sveiki visi! Nenoriu, kadkas nors baksnotumėte Very Happy bet tiesiog padėkite, taigi, aš įkėliau savo video kaip kas atrodo pas mane

https://youtu.be/qBLS0X_9Vks


Ir tame video, viskas veikia su šiem dviem kodais --->
----------------------------------------------
GLOVE:
int Finger1 = 1;
int Finger2 = 2;
int Finger3 = 3;
int Finger4 = 3;
int Finger5 = 5;

void setup()
{
Serial.begin(9600);
}

void loop()
{
byte servoValue1;
byte servoValue2;
byte servoValue3;
byte servoValue4;
byte servoValue5;

int FingerV1 = analogRead(Finger1);
int FingerV2 = analogRead(Finger2);
int FingerV3 = analogRead(Finger3);
int FingerV4 = analogRead(Finger4);
int FingerV5 = analogRead(Finger5);

byte servoVal1 = map(FingerV1,0, 1023, 0, 179);
byte servoVal2 = map(FingerV2,0, 1023, 0, 179);
byte servoVal3 = map(FingerV3,0, 1023, 0, 179);
byte servoVal4 = map(FingerV4,0, 1023, 0, 179);
byte servoVal5 = map(FingerV5,0, 1023, 0, 179);

Serial.println(servoVal1);
Serial.println(servoVal2);
Serial.println(servoVal3);
Serial.println(servoVal4);
Serial.println(servoVal5);

delay(1000);
}
---------------------------------------------------
AND HAND:
#include <Servo.h>

Servo myservo1; // create servo object to control a servo
Servo myservo2;
Servo myservo3;
Servo myservo4;
Servo myservo5;

void setup()
{
Serial.begin(9600);

myservo1.attach(11); // attaches the servo on pin 9 to the servo object
myservo2.attach(10);
myservo3.attach(9);
myservo4.attach(6);
myservo5.attach(5);
}

void loop()
{
if(Serial.available() >=5)
{
byte servoVal1 = Serial.read();
byte servoVal2 = Serial.read();
byte servoVal3 = Serial.read();
byte servoVal4 = Serial.read();
byte servoVal5 = Serial.read();


// Send the servo to the position read... (note: you get to make this happen)
myservo1.write(servoVal1);
myservo2.write(servoVal2);
myservo3.write(servoVal3);
myservo4.write(servoVal4);
myservo5.write(servoVal5);
}
}
-----------------------------------------------------

Viską noriu padaryti pagal:
http://www.instructables.com/id/Arduino-Wireless-Animatronic-Hand/?ALLSTEPS

Bet kas gali būti blogai? Gal kad vietoje flex sensoriu naudoju LDR?
 Roboto ranka
PranešimasParašytas: 2016 05 24, 22:41 Pranešti apie taisyklių pažeidimą Atsakyti su citata
altair
Dažnas dalyvis
Dažnas dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Siųsti el. laišką
Radau problemą...
vietoj println reikėjo parašyti write:

Kodas:

Serial.println(servoVal1);
Serial.println(servoVal2);
Serial.println(servoVal3);
Serial.println(servoVal4);
Serial.println(servoVal5);

----->

Serial.write(servoVal1);
Serial.write(servoVal2);
Serial.write(servoVal3);
Serial.write(servoVal4);
Serial.write(servoVal5);


Tokiu būdu veikia sujungus abu arduino, dviem laidais RX -> TX ; TX -> RX

bet kai pajungiu bluetooth, krečia tas pačias nesamones kaip ir video rodžiau[/code]
 Roboto ranka
PranešimasParašytas: 2016 05 24, 22:53 Pranešti apie taisyklių pažeidimą Atsakyti su citata
Socrates
Senbuvis
Senbuvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
O tu pabandyk pradzioj per bluetooth nusiusti penkias fiksuotas reiksmes, pvz.: 1,2,3,4,5. Tada paziurek ar priimi viska teisingai.
 Roboto ranka
PranešimasParašytas: 2016 05 24, 23:24 Pranešti apie taisyklių pažeidimą Atsakyti su citata
AlgisL
Senbuvis
Senbuvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
Todel, kad piktybiskai ignoruoji duomenu sinchronizacija.

trumpai uzvedu ant temos:
duomenys pas tave [0..179] ribose
kanalai/sensoriai [1..5], tad...

siustuve:
Kodas:

byte a[5]={-1,-1,-1,-1,-1};

for (int n=0; n<5; n++){
  byte value=map(analogRead(n), 0, 1023, 0, 179));
  // jei reikia, papildomai pafiltruoji del trikziu ir t.t.
  if(value != a[n]){
    Serial.write(value);
    Serial.write(n+181);
    a[n]=value;
  }// if
}// for


imtuve:
Kodas:


byte a[5]={-1, -1, -1, -1, -1};

void loop(void){
  static byte tmp, sensor-1, value=-1;

  if(Serial.available()){
    tmp=Serial.read();
    if(tmp < 180) value=tmp;
    else
      if(tmp >= 181 && tmp <= 185){
        if(value < 180) sensor=tmp-181;
        a[sensor]=value;
        sensor=-1;
      }
      else value=-1;
  }// available

  for(int n=0; n<5; n++){
    if(a[n] != -1){
      tmp=a[n];
      switch (n+1) {
      case 1: Servo_1.write(tmp); break;
      case 2: Servo_2.write(tmp); break;
      case 3: Servo_3.write(tmp); break;
      case 4: Servo_4.write(tmp); break;
      case 5: Servo_5.write(tmp); break;
      }// switch
      a[n]=-1;
    }// if
  }// for

  // kiti veiksmai

}// loop


algoritmo paaiskinimas:
kai pasikeicia kanalo reiksme
siustuvas siuncia kanalo reiksme, paskui kanalo numeri+max reiksmes verte

imtuvas gaves simboli ivertina kurias ribas jis atitinka (reiksmiu [0...179] ar kanalo [1..5])
jei tai reiksme - isaugo value
jei tai kanalo numeris, tada tikrina kokia anksciau priimta reiksme
jei reiksme savo ribose, tai issaugo masyve tolesniam apdorojimui
toliau gali iskarto siusti reiksmes i servas, jei buvo atnaujiti duomenys

-1 inicijuojant nurodo kad duomenys dar nebuvo atnaujinti arba jie yra neteisingi arba jie pirma karta turi buti ne [0..179] ribise

tam kartui tiek, nors dar reiktu daryti ir bent kazkokia CRC, o jai turi reiksmes [180,186..255], jei nezadi transliuoti kazkokiu kitu komandu
beje, komandas gali perduoti per papildoma/us kanalus ir kiekvienos
servos kanalas galetu perduoti komandas [0..179]

P.S. dar tau uzduotele pasidaryti adaptyvini reiksmiu filtra ivedant masyvus map reiksmems, pvz:
int mAnalogMin[5]={0,0,0,0,0};
int mAnalogMax[5]={1023,1023,1023,1023,1023};
int mAngleMin[5]={0,0,0,0,0};
int mAngleMax[5]={179,179,179,179,179};
ir pritaikyti praktikoje
 Roboto ranka
PranešimasParašytas: 2016 05 27, 03:34 Pranešti apie taisyklių pažeidimą Atsakyti su citata
altair
Dažnas dalyvis
Dažnas dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Siųsti el. laišką
Ką reikštų šis dalykas?, kai visai į potenciometra nereaguoja ir išveda servo štai ką... Very Happy

 Roboto ranka
PranešimasParašytas: 2016 05 27, 07:52 Pranešti apie taisyklių pažeidimą Atsakyti su citata
AlgisL
Senbuvis
Senbuvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
nieko, tik tai, kad nemoki debugint ir galbut potensus bala zino kur pajungei Very Happy

P.S. nezinau ar 1.6.0 turi kokiu keistenybiu su analogRead(), bet jei neprijima numeracijos nuo nulio, tai pakeisk i analogRead(A0+n)

P.S Jei zydras dantis pagadina duomenu srauta, tai pakoreguok taip, kad siustu tik 7-bit simbolius, arba tikslinkis zydradancio specifikacijas del 8-bit srauto.
siustuve
Kodas:

void setup(){
  Serial.begin(9600);
}

byte a[5]={-1,-1,-1,-1,-1};

void loop(){
  for (int n=0; n<5; n++){
    byte servoVal1=map(analogRead(n), 0, 1023, 0, 179);
    // jei reikia, papildomai pafiltruoji del trikziu ir t.t.
    if(servoVal1 != a[n]){
      Serial.print(servoVal1, HEX); Serial.write(n + 'G');
      a[n]=servoVal1;
    }// if
  }// for
  delay(30);
}

imtive:
Kodas:

#include <Servo.h>

Servo myservo1;
Servo myservo2;
Servo myservo3;
Servo myservo4;
Servo myservo5;

void setup(){
  Serial.begin(9600);
  myservo1.attach(11);
  myservo2.attach(10);
  myservo3.attach(9);
  myservo4.attach(6);
  myservo5.attach(5);
}


byte a[5]={-1, -1, -1, -1, -1};

void loop(void){
  static byte tmp, sensor=-1, value=-1;

  if(Serial.available()){
    tmp=Serial.read(); Serial.write(tmp);
//    Serial.write('<'); Serial.print(tmp); Serial.write('>');
    if(tmp >= '0' && tmp <= '9'){
      value = (value << 4) + (tmp - '0');
    } else
    if (tmp >= 'A' && tmp <= 'F'){
      value = (value << 4) + (tmp - 'A') + 10;
    } else
    if(tmp >= 'G' && tmp <= 'K' && value < 180){
      sensor = tmp - 'G'; a[sensor] = value;
    } else {
      value=-1; sensor=-1;
    }
/*
    if(tmp < 180) value=tmp;
    else
      if(tmp >= 181 && tmp <= 185){
        if(value < 180) sensor=tmp-181;
        Serial.print("Sensor#"); Serial.print(sensor+1); Serial.write('='); Serial.println(value);
        a[sensor]=value;
        sensor= -1;
      }
      else value= -1;
*/
  }// available

  for(int n=0; n<5; n++){
    tmp=a[n];
    if(tmp < 180){
      Serial.print("Servo#"); Serial.print(n+1); Serial.print(" angle="); Serial.println(tmp);
      switch (n+1) {
      case 1: myservo1.write(tmp); break;
      case 2: myservo2.write(tmp); break;
      case 3: myservo3.write(tmp); break;
      case 4: myservo4.write(tmp); break;
      case 5: myservo5.write(tmp); break;
      }// switch
      a[n]= -1;
    }// if
  }// for

  // kiti veiksmai

}// loop
Pradėti naują temą  Atsakyti į pranešimą Pereiti prie Atgal  1, 2
 
Forumo sistema: phpBB
 „Google“ paieška forume
 Kas naujesnio?
 Naujos temos forume

Global electronic components distributor – Allicdata Electronics

Electronic component supply – „Eurodis Electronics“

LOKMITA – įvairi matavimo, testavimo, analizės ir litavimo produkcija

Full feature custom PCB prototype service

GENERAL FINANCING BANKAS

Mokslo festivalis „Erdvėlaivis Žemė

LTV.LT - lietuviškų tinklalapių vitrina

„Konstanta 42“

Technologijos.lt

Buitinė technika ir elektronika internetu žemos kainos – Zuza.lt

www.esaugumas.lt – apsaugok savo kompiuterį!

PriedaiMobiliems.lt – telefonų priedai ir aksesuarai

„Deinavos baldai“ — šeimos baldai

FS 22 Tractors
Farming Simulator 19 Mods, FS 22 Maps, FS22 Mods
ETS2 Mods
ETS2 Trucks, ETS2 Bus, Euro Truck Simulator 2 Mods
FS22 Tractors
Farming Simulator 22 Mods, FS22 Maps, FS22 Trucks
VAT calculator
VAT number check, What is VAT, How much is VAT
Paskola internetu
Vartojimo paskola, paskola automobiliui, paskola būsto remontui
Thermal monocular
Thermal vision camera,
Night vision ar scope,
Night vision spotting scope
FS22 Mods
FS22 Harvesters, FS22 Tractors Mods, FS22 Maps Mods
FS22 Mods
FS22 Maps,
FS22 Harvesters,
FS22 Tractors
Dantų protezavimas
All on 4 implantai,
Endodontija mikroskopu,
Dantų implantacija
Sims 4 Mods
Sims 4 CC Clothes,
Sims 4 Hair CC,
Sims 4 Skill Cheat
Optic sight
Binoculars for hunting elk,
Best compact binoculars,
Riflescope hunting
Reklama
‡ 1999– © Elektronika.lt | Autoriaus teisės | Privatumo politika | Atsakomybės ribojimas | Turinys | Reklama | Kontaktai LTV.LT - lietuviškų tinklalapių vitrina
Script hook v, Openiv, Menyoo
gta5mod.net
Farming Simulator 2019 Mods, FS22 Mods, FS22 Maps
farmingsimulator19mods.fr
Optical filters, UV optics, electro optical crystals
www.eksmaoptics.com
Reklamos paslaugos
SEO sprendimai

www.addad.lt
Elektroninių parduotuvių optimizavimas „Google“ paieškos sistemai
www.seospiders.lt
FS22 mods, Farming simulator 22 mods,
FS22 maps

fs22.com
Reklama


Reklama