Samogradnja zipline robota z Arduino, Lego gradniki in 3D tiskanimi deli

ha 300x80 - Samogradnja zipline robota z Arduino, Lego gradniki in 3D tiskanimi deliHackster Inc.
Avtor: Abhiemanyu Pandit
2020_289_52

Robota preprosto obesite na zipline vrv, ki je napeta v dvorani in nato prek mikrofonskega senzorja s ploskanjem upravljate delovanje robota, ki ga krmili Arduino.
Projekt izdelave zipline robota je primeren za začetnike, ima popolna navodila in ga je mogoče dokončati v dveh urah!

Kaj potrebujemo za ta projekt?
Strojna oprema in mehanski sestavni deli

  • Arduino Nano R3 ploščica … 1x
  • Adafruit ploščica z mikrofonskim ojačevalnikom … 1x
  • SparkFun gonilnik motorja – Dual TB6612FNG s priključki … 1x
  • TT DC 1:120 motor z zobniškim prenosom … 1x
  • Vijak M3 30mm … 1x
  • VijakM3 16mm … 2x
  • matice M3 … 3x
  • Majhna prototipna povezovalna ploščica … 1x
  • Povezovalne žice … 1x
  • Preklopno stikalo (On)-Off-(On) … 1x
  • TaydaElectronics DC napajalni vtič 2.1 mm za montažo na TIV … 1x

Programska oprema
Arduino IDE integrirano razvojno okolje

Ročno orodje in stroji za izdelavo
Spajkalnik in 3D tiskalnik

Zgodba

Ste že kdaj razmišljali o robotih, ki bi se ukvarjali s športnimi in rekreacijskimi dejavnostmi? Roboti, ki bi lahko posnemali dejavnosti športnikov, kot so tekači in telovadci. Takšni roboti so izjemno zanimivi za ljubitelje samogradenj, robotike ter inovatorje in izumitelje. Ena izmed športnih in rekreacijskih dejavnosti, ki privablja dekleta in fante, mladino in odrasle, je zipline, spust po jekleni vrvi.

Zipline je namenjen prevozu tovora ali oseb od vrha do dna nagnjenega kabla. Tovor ali osebo poganja gravitacija in po jeklenici se premika s pomočjo prosto vrteče jermenice, ki teče po njej. Zipline robot, ki ga bomo naredili, pa je bolj podoben opici, ki se po vrvi premika po z obema rokama. Izdelati takšno bitje, ki za gibanje po vrvi uporablja roke, je zahtevna naloga. V tem projektu bomo naredili zabavnega zipline robota, ki je preprost za izdelavo, uporabili pa bomo vsem dostopne komponente, gradnike sestavljank Lego Technic, Arduino Nano ploščico za krmiljenje njegovega delovanja in še nekaj elektromehanskih komponent (slika A). Navodila so pripravljena tako, da lahko robota sestavite doma.

Kot je prikazano na sliki A, je robot obešen na napeto vrv in za premikanje po njej uporablja dve »roki«. Predstavljeni zipline robot je v svoji najpreprostejši izvedbi sestavljen iz komponent Lego Technic, pogonskega enosmernega motorja, delov, ki so bili natisnjeni s 3D tiskalnikom in preklopnega ON/OFF stikala (slika B).
Za bolj izpopolnjene aplikacije je zipline robotu dodana ploščica Arduino NANO, ki bistveno poveča razširljivost projekta in možnost dodajanja inovativnih programskih elementov (slika C). Kot veste, lahko na katero koli Arduino ploščico dodajamo različne dodatne razširitvene ploščice (shields) za povečanje zmogljivosti nekega izbranega projekta.

V tem projektu je na primer zipline robotu dodan mikrofon podjetja Adafruit, ki uporabniku omogoča upravljanje gibanja robota s ploskanjem (slika D). Ta funkcija zipline robotu doda veliko mero interaktivnosti. Hitrost robota lahko v tem primeru določate s ploskanjem in hitreje boste ploskali, hitreje se bo premikal. Vznemirljivo, mar ne?!

V tem projektu bomo po navodilih izdelali nosilno ogrodje zipline robota iz sestavnih delov Lego Technic in nato mehanski mehanizem roke poganjali z enosmernim motorjem, ki ima dodan zobniški prenos – reduktor in ki je na nosilno ogrodje pritrjen prek 3D-natisnjenega ohišja. Navor motorja z zobniškim reduktorjem se prek para stožčastega in polžastega zobnika prenaša na oba mehanizma za premikanje rok.

Sestavljanje mehanskih delov

Začnimo s sestavljanjem nosilnega okvirja zipline robota. Gre za konstrukcijo, ki vsebuje 4-členski mehanizem za povezavo ročice, ki ustvarja zahtevane gibe roke za premikanje po vrvi (slika G). Navor motorja se s pomočjo stožčastih zobnikov in polžjega pogona prenese na mehanizme obeh rok. Pripravite sestavne dele Lego Technic, kot je prikazano na sliki F in po korakih sledite video navodilom, ki jih najdete na spletni strani https://bit.ly/32E0IdM.

Navodila za sestavljanje mehanskih delov
3D tiskani sestavni deli
Lego Technic komponente se ujemajo samo z LEGO reduktorskimi motorji. Za prenos moči iz gonilnih gredi na Lego zobnike ali osi moramo natisniti ohišje za zobniški motor in sklopko (slika H) s 3D tiskalnikom. Ohišje služi kot vmesnik ali adapter med motorjem z reduktorjem in gradniki Lego Technic. Sklopka povezuje gred motorja z osjo Lego Technic. Te 3D tiskani deli se imenujejo Lego združljivo ohišje in gredi (slika I). Prenesite 3D datoteke za izdelavo in si 3D natisnite ohišje motorja, Lego združljivo spojko s svojim 3D tiskalnikom ali pa jih uporabite za izdelavo pri najbližjem ponudniku te storitve.

Elektronika in povezovanje
Pripravite si izvijač in spajkalnik ter natančno sledite video navodilom. Poskrbite, da boste pravilno izvedli povezovanje po shemi, ki je prikazana na sliki J, da zaradi nepazljivosti ne uničite Arduino ploščice in gonilnika motorja.

Programiranje

Seveda lahko vzamete LEGO gradnike in pustite svoji domišljiji neomejeno svobodo! Prav gotovo pa je ravno programiranje tisto področje, kjer se lahko najbolj zabavate in ste hkrati najbolj kreativni. Odprite Arduino IDE razvojno okolje in napišite svojo programsko kodo, s katero boste zipline robotu sporočili, kaj naj stori. Začnete lahko s predstavljeno osnovno programsko kodo, ki jo prav tako najdete na spletni strani tega projekta. Celotna programska koda:

/*
Zipline robot’s speed control with clapping
The idea: In this code, we want to control the speed of our zipline robot with clapping
so that the faster you clap the faster it goes. To do so, we added a microphone
to the project. By measuring the loudness of the environment’s sound, we determine
whether the robot must stop or go.
The circuit:
– In this circuit, an Arduino nano is used. Any other types of Arduino
can be used of course but do not forget to change the pin configurations
if you want to change the circuit on your preference.

Visit Tart Robotics blog for more information: https://www.tartrobotics.com/blog

*/

#define micPin A6
#define motorPinA 9
#define motorPinB 10
#define motorPinPWM 11

void setup() {
// Initialize Arduino pins to outputs
pinMode(motorPinA, OUTPUT);
pinMode(motorPinB, OUTPUT);
pinMode(motorPinPWM, OUTPUT);
}

unsigned int sample, clapTime = 0;

void loop() {
unsigned long samplingBeginning = millis();
unsigned int loudness = 0;

unsigned int signalMax = 0;
unsigned int signalMin = 1024;

// Sample microphone data
while (millis() - samplingBeginning < 100) {
sample = analogRead(micPin);

// Measure min and max value of the signal
if (sample > signalMax)
signalMax = sample;
else if (sample < signalMin)
signalMin = sample;
}
loudness = signalMax - signalMin;

// Referesh the clapTime if a clap is detected
if (peakToPeak > 300)
clapTime = millis();

// Run the motor if a clap is detected recently
if (millis() - clapTime < 200)runTheMotor();
else stopTheMotor();
}

// Motor driver pin configuration to run
void runTheMotor() {
digitalWrite(motorPinA, HIGH);
digitalWrite(motorPinB, LOW);
analogWrite(motorPinPWM, 255);
}

// Motor driver pin configuration to stop
void stopTheMotor() {
digitalWrite(motorPinA, HIGH);
digitalWrite(motorPinB, HIGH);
analogWrite(motorPinPWM, 0);
}

In to je vse, želimo vam obilo zabave pri sestavljanju, programiranju in preizkušanju delovanja tega robota! S komentarjem na spletni strani projekta nam lahko sporočite, kakšno mnenje imate o tem projektu in o navodilih za izdelavo. Vaše povratne informacije nam bodo pomagale izboljšati naše prihodnje delo.

Vir: https://bit.ly/33FHNyI

https://hackster.io