Innholdsfortegnelse:
- Trinn 1: Lag kretsen for å drive motorer og fjernkontroll
- Trinn 2: Lag en base for de to motorene
- Trinn 3: Legg servoen til bunnen av motorene
- Trinn 4: Skjær hull i den store beholderen
- Trinn 5: Røret
- Trinn 6: Hopper
- Trinn 7: Plassering av beholderen, røret og motorene
- Trinn 8: Den siste servoen
- Trinn 9: Legg til kode for å teste arbeidsdelene
2025 Forfatter: John Day | [email protected]. Sist endret: 2025-01-13 06:58
Materialer som trengs
1 x RFID -sensor/ fjernkontroll
1 x Arduino uno
2 x likestrømsmotorer
1 x 180 servo
1 x 360 servo
flere ledninger
Boks/container for byggeprosjekt
rør for å mate ballen gjennom
Trinn 1: Lag kretsen for å drive motorer og fjernkontroll
Å bygge kretsen
bygg kretsen ovenfor og koble til de samme pinnene for å bruke nøyaktig samme kode
Trinn 2: Lag en base for de to motorene
du må bruke skumplaten til å kutte 4, 5 tommer med 2 tommer rektangler for sidene. skjær deretter ut 2, 5 x 5 tommer firkanter som skal brukes som topp og bunn. Deretter trenger motorene et sted å sitte på, så kutt 2 hull som er 23 mm i diameter og 39 mm fra hverandre for å gi plass til ballen som skal skytes. lag deretter et sted eller et par hull på den nederste firkanten for å la ledningene fra motorene koble seg inn i kretsen.
Trinn 3: Legg servoen til bunnen av motorene
lim 180 eller 360 servoen forsiktig på bunnen (i midten) av torget. vi gjør dette slik at vi kan endre retningen manuelt med fjernkontrollen eller tilfeldig slik at ballen skyter i forskjellige retninger
Trinn 4: Skjær hull i den store beholderen
ta den store beholderen og skjær et hull foran og bak, det trenger ikke å være nøyaktig, men foran skal vi være ganske store som sett på bildet for å la ballen bli skutt i forskjellige retninger mens servoen beveger seg. og baksiden av beholderen kuttet et mindre hull for å la ledningene komme ut og plassere kretsdelene i eller endre kretsen om nødvendig. lim servoen på forsiden til lokket på en av beholderne og deretter på bunnen av beholderen for støtte, se det andre bildet for referanse
Trinn 5: Røret
lag eller kjøp et PVC -rør som er 1 fot langt, helst med en kurve for å la ballen rulle inn og skjær deretter et stykke 1,5 for å la ballen komme inn
Trinn 6: Hopper
kutt ut 4 like trapeser, kan være valgfri, men min var 5 høy og skråstilt litt når den ble satt på røret, så kuttet stykket med skumplate nederst et hull som var stort nok til at en pingpongkule kunne gå gjennom. lim dem deretter sammen og danner en hopping for alle ballene å sitte i. senere limer vi dette til toppen av røret der hullet er kuttet
Trinn 7: Plassering av beholderen, røret og motorene
du vil plassere røret inne i beholderen som ligger like på kanten av den hvite boksen som er laget for motorene, slik at ballen kommer ut og skyves av hjulene. du kan nå lime på beholderen til toppen av røret
Trinn 8: Den siste servoen
denne servoen limes på bunnen av beholderen/ der røret jeg kutter for å bare stikke ut nok til der pingballene ikke vil falle gjennom før knappen klikkes og servoen beveger seg
Trinn 9: Legg til kode for å teste arbeidsdelene
// Cat fixer
// importer biblioteker for å bruke kommandoer i hele koden, for eksempel å erklære pins som servoer og sette opp IR -fjernkontrollen #include #include
// sette opp variabler for å stille hastigheter for likestrømsmotorene int onspeed = 255; int lavhastighet = 100; int offspeed = 0;
// sette opp infared mottakerpinne og de to motorpinnene int IR_Recv = 2; int motor1 = 10; int motor2 = 11;
// deklarere variablene som servoer slik at programmet vet at det er en servo å bruke spesifikke kommandoer Servoklaff; Servovinkel;
// erklærer IR -pin for å motta innganger fra fjernkontroller // får resultatene fra den eksterne IRrecv irrecv (IR_Recv); resultater for dekoderesultater;
ugyldig oppsett () {
Serial.begin (9600); // starter seriell kommunikasjon irrecv.enableIRIn (); // Starter mottakeren
klaff. fest (7); // fester servoklaffen til pinne 7 slik at vi kan bruke den senere i programvinkelen. fest (4); // fester servovinkelen til pinne 4 slik at vi kan bruke den senere i programmet pinMode (motor1, OUTPUT); // sett motor1 til en utgang slik at vi kan sende hastighetene inn når knappen trykkes inn pinMode (motor2, OUTPUT); // sett motor2 til en utgang, slik at vi kan sende hastighetene inn når knappen trykkes inn
}
void loop () {
flap.write (0); // sett servoen som styrer ballmateren til 0 grader for ikke å slippe noen baller gjennom
if (irrecv.decode (& results)) {long int decCode = results.value; Serial.println (decCode); irrecv.resume ();
switch (results.value) {
sak 0xFFA25D: // strøm analogWrite (motor1, onspeed); analogWrite (motor2, onspeed); forsinkelse (7000); klaff. skrive (90); forsinkelse (500); flap.write (0); forsinkelse (2000); analogWrite (motor1, offspeed); analogWrite (motor2, offspeed); gå i stykker;
sak 0xFFE01F: // EQ
analogWrite (motor1, onspeed); analogWrite (motor2, lavhastighet); forsinkelse (7000); klaff. skrive (90); forsinkelse (500); flap.write (0); forsinkelse (2000); analogWrite (motor1, offspeed); analogWrite (motor2, offspeed);
gå i stykker;
sak 0xFF629D: // modus
analogWrite (motor1, lavhastighet); analogWrite (motor2, onspeed); forsinkelse (7000); klaff. skrive (90); forsinkelse (500); flap.write (0); forsinkelse (2000); analogWrite (motor1, offspeed); analogWrite (motor2, offspeed);
gå i stykker;
sak 0xFF30CF: // settng 1, 90 grader
vinkel.skrive (30);
gå i stykker;
sak 0xFF18E7: // innstilling 2, 0 grader
vinkel.skrive (90);
gå i stykker;
sak 0xFF7A85: // innstilling 3, 180 grader
vinkel.skrive (150);
gå i stykker;
} } }