Sisukord:
- Samm: looge vooluahel mootorite ja kaugjuhtimispuldi toiteks
- Samm: looge baas kahele mootorile
- Samm: lisage servo mootorite põhja
- Samm 4: lõigake avad suurde konteinerisse
- Samm: toru
- 6. samm: punker
- 7. samm: punkri, toru ja mootorite paigutamine
- 8. samm: viimane servo
- 9. toiming: tööosade testimiseks lisage kood
2025 Autor: John Day | [email protected]. Viimati modifitseeritud: 2025-01-13 06:57
Vajalikud materjalid
1 x RFID -andur/ kaugjuhtimispult
1 x Arduino uno
2 x alalisvoolumootorit
1 x 180 servo
1 x 360 servo
mitu juhtmest
Karp/konteiner projekti ehitamiseks
toru palli söötmiseks
Samm: looge vooluahel mootorite ja kaugjuhtimispuldi toiteks
Ringkonnakohtu ehitamine
ehitage ülaltoodud ahel ja ühendage samade tihvtidega, et kasutada täpselt sama koodi
Samm: looge baas kahele mootorile
peate vahtplaati kasutama, et lõigata külgedele 4, 5 tolli 2 tolli ristkülikuid. seejärel lõigake välja 2, 5 x 5 tolli ruudud, mida kasutada ülemise ja alumise osana. Järgmiseks vajavad mootorid kohta, kus istuda, nii et lõigake 2 auku läbimõõduga 23 mm ja üksteisest 39 mm kaugusel, et anda ruumi palli laskmiseks. seejärel tehke alumisele ruudule koht või paar auku, et mootorite juhtmed saaksid vooluahelasse ühenduda.
Samm: lisage servo mootorite põhja
liimige ettevaatlikult 180 või 360 servo ruudu põhja (keskele). me teeme seda, et saaksime puldiga suunda käsitsi muuta või juhuslikult, nii et pall laseb eri suundades
Samm 4: lõigake avad suurde konteinerisse
võtke suur konteiner ja lõigake auk ette ja taha, see ei pea olema täpne, kuid ees peaks see olema päris suur, nagu pildil näha, et palli saaks erinevates suundades servo liigutamisel lasta. ja konteineri tagakülg lõikasid väiksema augu, et juhtmed saaksid välja tulla ja vooluahela osad paigutada või vajadusel vooluringi muuta. eespool liimige servo ühe anuma kaane külge ja seejärel toe jaoks anuma alusele, vaadake viiteid teisel pildil
Samm: toru
tehke või ostke 1 meetri pikkune pvc -toru, eelistatavalt kõveraga, et pall saaks sisse veereda, seejärel lõigake 1,5 -tolline peice sisse, et pall sisse saaks
6. samm: punker
lõikasin välja 4 võrdset trapetsit, need võivad olla valikulised, kuid minu omad olid 5 tolli pikad ja torule pannes veidi viltu, siis lõikas vahtplaaditükk allservas piisavalt suure augu, et pingpongi pall läbi käia. seejärel liimige need kokku, moodustades hüppe, et kõik pallid saaksid sisse istuda. hiljem liimime selle toru ülaossa, kus auk lõigatakse
7. samm: punkri, toru ja mootorite paigutamine
soovite asetada toru mahuti sisse, mis asub mootorite jaoks valmistatud valge kasti serval, nii et pall tuleb välja ja ratastega surutakse. nüüd saate punkri liimida toru ülaossa
8. samm: viimane servo
see servo on liimitud punkri põhja/ sinna, kuhu toru lõikasin, et see jääks piisavalt väljapoole, kus pingipallid ei kukuks läbi enne, kui nuppu klõpsatakse ja servo liigub
9. toiming: tööosade testimiseks lisage kood
// Kassi fikseerija
// importige teegid, et kasutada käske kogu koodi ulatuses, näiteks nööpnõelte deklareerimine servodeks ja IR -puldi seadistamine #include #include
// muutujate seadistamine alalisvoolumootorite kiiruste määramiseks int onspeed = 255; int madalam kiirus = 100; int offpeed = 0;
// infrapuna vastuvõtja tihvti ja kahe mootori tihvti seadistamine int IR_Recv = 2; int mootor1 = 10; int mootor2 = 11;
// muutujate deklareerimine servodeks, et programm teaks, et see on servo kasutada konkreetseid käske Servo klapp; Servo nurk;
// IR -pin -i deklareerimine sisendite vastuvõtmiseks kaugjuhtimispultidelt // saab tulemused kaug -IRrecv irrecv (IR_Recv); decode_results tulemused;
tühine seadistus () {
Seriaalne algus (9600); // käivitab jadaühenduse irrecv.enableIRIn (); // Käivitab vastuvõtja
klapp.kinnitus (7); // kinnitab servoklapi tihvti 7 külge, et saaksime seda hiljem programmi nurgas kasutada.attach (4); // kinnitab servonurga tihvtile 4, et saaksime seda hiljem programmis pinMode (mootor1, OUTPUT) kasutada; // määrake mootor1 väljundiks, et saaksime nupule vajutamisel sisestada kiirused pinMode (motor2, OUTPUT); // seadistage mootor2 väljundiks, et saaksime nupule vajutamisel kiirused sisse saata
}
void loop () {
klapp.kirjutage (0); // seadistage pallisööturit juhtiv servo 0 kraadi, et mitte ühtegi palli läbi lasta
if (irrecv.decode (& results)) {long int decCode = results.value; Serial.println (decCode); irrecv.resume ();
lüliti (results.value) {
juhtum 0xFFA25D: // võimsus analoogWrite (mootor1, kiirus); analogWrite (mootor2, kiirus); viivitus (7000); klapp.kirjutada (90); viivitus (500); klapp.kirjutage (0); viivitus (2000); analogWrite (mootor1, teisaldamine); analoogkirjutamine (mootor2, teisendus); murda;
juhtum 0xFFE01F: // EQ
analogWrite (mootor1, kiirus); analogWrite (mootor2, aeglane kiirus); viivitus (7000); klapp.kirjutada (90); viivitus (500); klapp.kirjutage (0); viivitus (2000); analogWrite (mootor1, teisaldamine); analoogkirjutus (mootor2, teisendus);
murda;
juhtum 0xFF629D: // režiim
analogWrite (mootor1, aeglane kiirus); analogWrite (mootor2, kiirus); viivitus (7000); klapp.kirjutada (90); viivitus (500); klapp.kirjutage (0); viivitus (2000); analogWrite (mootor1, teisaldamine); analoogkirjutus (mootor2, teisendus);
murda;
korpus 0xFF30CF: // seadistus 1, 90 kraadi
nurk.kirjutada (30);
murda;
juhtum 0xFF18E7: // seadistus 2, 0 kraadi
nurk.kirjutada (90);
murda;
korpus 0xFF7A85: // seadistus 3, 180 kraadi
nurk.kirjutada (150);
murda;
} } }