Cuprins:
- Pasul 1: Concept
- Pasul 2: Piese
- Pasul 3: Asamblarea pieselor
- Pasul 4: Biblioteca pentru Arduino IDE
- Pasul 5: Configurarea Breadboard
- Pasul 6: Cod
- Pasul 7: Demo și concluzie
Video: Clockwork: 7 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:44
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
(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
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
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:
Cum să faci 4G LTE dublă antenă BiQuade Pași simpli: 3 pași
Cum să fac 4G LTE Double BiQuade Antenna Pași simpli: De cele mai multe ori mă confrunt, nu am o putere de semnal bună pentru lucrările mele de zi cu zi. Asa de. Căut și încerc diferite tipuri de antenă, dar nu funcționează. După un timp pierdut, am găsit o antenă pe care sper să o fac și să o testez, pentru că nu se bazează pe principiul
Design de joc în Flick în 5 pași: 5 pași
Designul jocului în Flick în 5 pași: Flick este un mod foarte simplu de a crea un joc, în special ceva de genul puzzle, roman vizual sau joc de aventură
Sistemul de alertă pentru parcarea inversă a autovehiculului Arduino - Pași cu pași: 4 pași
Sistemul de alertă pentru parcarea inversă a autovehiculului Arduino | Pași cu pas: în acest proiect, voi proiecta un senzor senzor de parcare inversă Arduino Car Circuit folosind senzorul cu ultrasunete Arduino UNO și HC-SR04. Acest sistem de avertizare auto bazat pe Arduino poate fi utilizat pentru navigație autonomă, autonomie robotică și alte r
Detectarea feței pe Raspberry Pi 4B în 3 pași: 3 pași
Detectarea feței pe Raspberry Pi 4B în 3 pași: În acest instructabil vom efectua detectarea feței pe Raspberry Pi 4 cu Shunya O / S folosind Biblioteca Shunyaface. Shunyaface este o bibliotecă de recunoaștere / detectare a feței. Proiectul își propune să obțină cea mai rapidă viteză de detectare și recunoaștere cu
Robot Bionicle Clockwork: 4 pași
Robot Bionicle Clockwork: Cu acest tutorial (primul meu) puteți construi un robot din piese Bionicle cu mișcări controlabile ale brațelor