Operácie

Bluetooth Wolverine claws

Zo stránky SensorWiki

Autor: Martin Hrebeňák, Filip Furtkevič
Študijný odbor: Aplikovaná informatika 3. Bc. (2019)

Opis projektu

Cieľom projektu, bolo vytvoriť automaticky vysúvané Wolverinove pazúry.
Pôvodný plán bolo ovládanie pazúrov pomocou čerelnky Mindwave Mobile. Z tohto plánu však vzišlo z dôvodu chorobnej lenivosti a následnej časovej tiesni autorov, a tak su pazúry ovládané telefónom, pomocou technológie bluetooth.


Prečo?

  • Nápad je naším srdciam blízky
  • Marvel tématika hýbe dnešným svetom
  • Wolverine je cool

Čo potrebujeme?

  • Arduino nano
  • 6xAA batéria
  • Holder pre 6 AA batérií
  • l298n motor driver
  • HC-05 bluetooth module
  • kábliky
  • 3D tlačiareň

Ako?

  • Najprv sme si rozplánovali princíp vysúvania pazúrov. Pôvodný plán bol pripevniť na motorček, ktorý by poháňal závitnicovú tyč.


Následne sme však, kvôli rýchlosti presedlali na nápad s ozubeným kolieskom a koľajničkou.

  • Základ bol vymodelovať všetky komponenty. Na modelovanie sme používali začiatočnícky prehliadačový program Tinkercad. Schránka pazúrov sa zväčšovala s pribúdajúcimi komponentami, a taktiež s nápadom, že motorček s ozubeným kolesom bude prilepený o spodnu stranu strednej časti schránky, na druhej strane ktorej budú pazúry s koľajničkou.

Použité modely: Médiá:Case1.stl Médiá:Case2.stl Médiá:Case3.stl Médiá:Claws.stl Médiá:Pinion.stl

  • Ďalšie v poradí je správne zapojenie jednotlivých komponentov ako na obrázku (alebo krajšie), podľa nákresu nižšie:


  • Prilepenie motorčeka o spodnú stranu strednej časti caseu:


  • Zloženie caseu a vloženie drápov do vybrúsenej a namazanej drážky:

Analýza

  • Problém nastal pri zisťovaní data rateu modulu HC-05, ktorý potrebuje pre správny prenos informácií, pretože iné modely ho majú rôzne. Nakoniec sa ukázala byť funkčná hodnota 9600 baud.

Popis riešenia

Využívali sme Rx a Tx pin pre komunikáciu s HC-05 a iné digitálne piny, ktoré sme si v kóde nakonfigurovali.

Schéma zapojenia snímača

Na vyslanie signálu z telefónu som použil aplikáciu Android bluetooth controller, kde som nastavil výstupnú hodnotu tlačidla na "a".

Algoritmus a program

void setup()
{
  pinMode(enB, OUTPUT);
  pinMode(in3, OUTPUT);
  pinMode(in4, OUTPUT);
  Serial.begin(9600);         //Nastavenie data rateu v bitoch za sekundu (baud) pre sériový prenos dát

void eject()
{
  analogWrite(enB, 255);
  // Nastavenie rýchlosti motorčeka na 255 z možných 0~255
  digitalWrite(in3, HIGH);
  digitalWrite(in4, LOW);
  delay(1000);
  // now turn off motors
  digitalWrite(in3, LOW);
  digitalWrite(in4, LOW);
}

void back(){
  analogWrite(enB, 255);
  // Nastavenie rýchlosti motorčeka na 255 z možných 0~255
  digitalWrite(in3, LOW);
  digitalWrite(in4, HIGH);
  delay(1000);
  // now turn off motors
  digitalWrite(in3, LOW);
  digitalWrite(in4, LOW); 
}
 
void loop()
{
  if(Serial.available() > 0)  
  {
    Incoming_value = Serial.read();      //Čítanie dát z telefónu
    Serial.print(Incoming_value);        //Výpis do serial monitoru
    Serial.print("\n");                  
    if(Incoming_value == 'a'){           //Pri získaní vstupu "a" z telefónu sa striedavo vykonávajú funkcie eject() a back()
      if(count % 2 != 0){
        eject();
      }
      else{
        back();
      }
      count++;
    }
  }
}

Zdrojový kód: clawKod.c


Výsledok

Ukážka výsledného produktu na platenom modelovi:



S celkovým výsledkom sme celkom spokojný, aj keď sme museli privrieť oči pri veľa nedostatkoch ktoré vznikali počas procesu tvorby, ako napríklad nedoliehanie ozubeného kolieska na koľajničku, taktiež ich rozdielne veľkosti. Sú to problémy, ktoré by sa dali odstrániť jednoduchým znovavytlačením niektorých dielov, no kvôli časovej tiesni (ktorej predchádzala masívna prokrastinácia) sme to nestíhali. Každopádne, to vyzeralo skoro ako podľa mojich počiatočných predstáv a to je to, pre čo sa to oplatí robiť. Pocit z vytvorenia funkčného produktu podľa počiatočnej predstavy od základov.