Cuprins:

Clockwork: 7 pași
Clockwork: 7 pași

Video: Clockwork: 7 pași

Video: Clockwork: 7 pași
Video: Основные ошибки при возведении перегородок из газобетона #5 2024, Noiembrie
Anonim
Clockwork
Clockwork

Acest instructable a fost creat pentru a îndeplini cerințele proiectului Makecourse de la Universitatea din Florida de Sud (www.makecourse.com).

Pasul 1: Concept

În timp ce încerc să creez o idee pentru acest proiect, am decis să fac ceva care să fie utilizabil și să fie util pentru viața mea de zi cu zi. Nu multe lucruri de acest gen pot avea o cerință de două grade de libertate, așa că am decis să fac un ceas simplu pentru a îndeplini cerința, precum și să-l afișez pe biroul meu pentru a arăta ora. Inițial, ideea a fost de a face un ceas de mână, dar partea imprimată 3D ar fi prea mică, iar motoarele care conduc ceasul ar fi în continuare prea mari pentru un ceas de mână.

De aici, acest proiect, am găsit piese de schimb în jurul apartamentului meu și am decis să lucrez la asta.

Pasul 2: Piese

- Piese imprimate 3D

- 2 28BYJ-48 5V DC Motor pas cu pas

- 2 plăci de conducere a motorului pas cu pas ULN2003

- Arduino Uno

- Modul Bluetooth HC-05

Toate aceste părți sunt făcute de mine, cu excepția mâinilor ceasului. Nu sunt foarte creativă. Mai jos este linkul către creatorul său.

www.thingiverse.com/thing:1441809

Pasul 3: Asamblarea pieselor

Asamblarea pieselor
Asamblarea pieselor

(1) - Trebuie să puneți Gear_1 și 2 la motoarele pas cu pas. Se vor potrivi bine, așa că este nevoie de puțină forță pentru a rămâne pe loc.

(2) - Base_0 va rămâne în partea de jos a ansamblului.

(3) - Baza_1 va fi plasată deasupra SpurGear_1, aceasta este componenta principală pentru așteptarea minutelor. Puteți lipi aceste două componente împreună, asigurați-vă că baza este deasupra angrenajului.

(4) - Baza_2 va fi plasată deasupra SpurGears_2, aceasta este componenta principală pentru ora orală. Același lucru se aplică acestei părți ca și pasul (3)

(5) - Mâinile ceasurilor pot fi lipite deasupra bazei_1 și a bazei_2 sau puteți face o gaură mică pentru a le pune în poziție.

(6) - Pentru ca treapta de viteze a minutelor să se potrivească cu treapta de viteze, aveți nevoie de o platformă de 1 cm pentru a pune întregul ansamblu deasupra cu unul dintre motoarele pas cu pas.

Motivul pentru aceasta este că baza principală nu poate fi prea mare, deoarece celălalt motor pas cu pas nu ar putea ajunge la treapta de viteză înaltă. Oricum ar fi, este necesară o platformă pentru unul dintre motoarele pas cu pas.

Pasul 4: Biblioteca pentru Arduino IDE

Codul pentru acest proiect se bazează pe o bibliotecă de tyhenry numită CheapStepper.h

github.com/tyhenry/CheapStepper

Pentru a instala această bibliotecă pentru arduino. Faceți clic pe clonați sau descărcați pe linkul de mai sus și descărcați-l ca fișier zip.

În IDE-ul Arduino. Sketch -> Include Library -> Add. ZIP Library

Din toată biblioteca care funcționează, aceasta a folosit motorul pas cu pas cel mai bun și extrem de ușor de utilizat.

Pasul 5: Configurarea Breadboard

Configurare Breadboard
Configurare Breadboard
Configurare Breadboard
Configurare Breadboard

Am folosit un scut Arduino pentru a merge cu Arduino UNO. Arată mai curat, dar puteți obține un mic panou și îl așezați deasupra Arduino UNO. Urmați culoarea din schemă, deoarece unele fire sunt una peste alta. Pinii 4-7 sunt pentru un pas cu pas și pinii 8-11 sunt pentru al doilea pas cu pas.

Modulul Bluetooth trebuie să fie conectat RX -> TX și TX -> RX la placa Arduino.

Sârmele albastre sunt conexiuni de la Drivere la Arduino UNO

Sârmele verzi sunt conexiunile RX și TX

Sârmele negre sunt împământate.

Firele roșii sunt de 5V.

Pasul 6: Cod

Mai jos este codul pentru acest proiect.

Explicația codului va fi aici.

CheapStepper stepper (8, 9, 10, 11); CheapStepper stepper_2 (4, 5, 6, 7);

boolean moveClockwise = true;

//37,5 min = 4096;

// 1 min = 106,7;

// 5 min = 533,3;

// 15 min = 1603;

// 30 min = 3206;

// 60 min = 6412;

int full = 4096;

int jumătate = plin / 2; // 2048

float full_time = 6412; // 1 oră

float half_time = full_time / 2; // 30 min 3026

float fif_time = half_time / 2; // 15 min 1603

float one_time = full_time / 60; // 1 min 106

float five_time = one_time * 5; // 5 min 534,3

float one_sec = one_time / 60; // 1 sec 1,78

// putem face câte 30 de minute fiecare prin rotirea motorului 3206 și resetare

Acesta este calculul principal pentru acest proiect. Pasul trebuia să facă 4096 de pași pentru a roti 360 de grade, dar pentru că angrenajele cu angrenaj sunt mai mari decât angrenajele atașate pasului, deci este nevoie de mai mulți pași pentru o rotație completă. Întrucât angrenajul cu vârf este componenta principală care învârte mâinile. Trebuie să fac diferite teste pentru a mă asigura că valorile sunt corecte.

full_time este variabila pe care am alocat-o pentru o rotație completă a mâinii. Acest lucru este destul de consecvent, dar pe măsură ce pașii sunt împărțiți la 2 pentru a obține o mișcare specifică, valoarea de flotare devine mai mică, ceea ce a făcut mai greu pentru șofer să-și facă treaba.

Muta în sensul acelor de ceasornic = adevărat; este de a face ca motorul pas cu pas să se miște în sensul acelor de ceasornic, dar pentru că se rotește roata dințată în sens invers acelor de ceasornic, trebuie să facem falsul boolean în configurare. Puteți, de asemenea, să o declarați falsă la început, dar aceasta este pentru a explica modul în care funcționează.

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

Serial.println („Gata să începi să te miști!”);

pos = one_time; del = 900; raport = 60;

moveClockwise = false; }

Aici declar declarația booleană moveClockwise în sensul acelor de ceasornic. poz va fi numărul de pași, del va fi întârzierea, iar raportul este fie pentru minut / sec = 60, fie pentru oră / min = 12

Controlăm mâinile cu modulul Bluetooth. Mai întâi, aveți nevoie de un terminal Bluetooth serial de pe dispozitivul dvs. Android. Conectați-vă la Hc-05 cu PIN-ul 0000 sau 1234. Puteți utiliza un exemplu de cod din Arduino IDE pentru a vedea dacă funcționează corect. Când este conectat, ar trebui să clipească foarte lent, în loc de rapid, atunci când nu este conectat.

bucla void () {stare = 0;

if (Serial.available ()> 0) {

state = Serial.read (); }

for (float s = 0; s <(pos); s ++) {

stepper.step (mutați în sensul acelor de ceasornic); }

for (float s = 0; s <(pos / ratio); s ++) {

stepper_2.step (mutați în sensul acelor de ceasornic); }

întârziere (del);

Serial.available ()> 0 este important deoarece funcționează modulul Bluetooth. Această afirmație if va fi adevărată atunci când există comunicații între Arduino și dispozitivul dvs. Variabila de stare va determina celelalte 3 variabile pe care le-am declarat în partea de sus a configurării (), va imprima și ce operațiune rulează codul. Cea două pentru buclă este funcția principală care conduce modul în care se va deplasa motorul pas cu pas.

if (state == '1') {

pos = one_time; del = 0; raport = 12;

Serial.println ("Operațiunea 1: fără întârziere"); }

Acesta este un exemplu de utilizare a intrării de pe dispozitivul dvs. Bluetooth pentru a schimba modul în care funcționează sistemul. Puteți edita aceste variabile oricum doriți să controlați mâinile.

Pasul 7: Demo și concluzie

Image
Image
Demo și concluzie
Demo și concluzie

Aceasta este o demonstrație a sistemului, care arată cum funcționează. Pentru carcasă puteți utiliza orice lucru care s-ar potrivi tuturor componentelor din interior. Acest proiect a fost simplu și distractiv de realizat, deoarece este prima dată când am tipărit 3D. Modulul Bluetooth a fost distractiv pentru a afla și utiliza. Sunt câteva greșeli pe care le-am făcut, care a fost prea târziu pentru a fi schimbate, dar produsul final este în regulă.

Recomandat: