Sisukord:
- 1. samm: kriteeriumid
- 2. samm: ümbris
- 3. samm: elektroonika
- 4. samm: arve vastuvõtja
- Samm: testimine
- 6. samm: elektroonika korpuse külge
- 7. etapp: lõplik testimine
- Samm: Arduino kood + lingid
Video: $ 1 Arduino-põhine müügiautomaat: 8 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:49
Saime oma idee oma inseneriõpetajalt - me kõik arvasime, et oleks hea mõte omada oma klassi automaat ja ta ütles - "lahe, tee üks". Selgus, et müügiautomaat oleks suurepärane vanemprojekt ja kui see on valmis, toimiks see meie inseneriprogrammi korjandusena.
Seda nimetatakse 1 -dollariliseks müügiautomaadiks mitte sellepärast, et selle tegemine maksab 1 dollarit, vaid lihtsalt sellepärast, et arvete vastuvõtja on vanem mudel, mis võtab ainult 1 -dollarilisi arveid:)
1. samm: kriteeriumid
Tahtsime müügiautomaati, mis mahuks laua peale ega oleks liiga pikk. Võtsime laua laiuse mõõtmed, et veenduda, et meil pole automaati laua küljes.
2. samm: ümbris
Tegime oma kasti 19 tolli laiuseks ja 17 tolli pikkuseks ja 25 tolli kõrguseks. Puidu lõikamiseks kasutasime CNC -masinat. Nägude kujundamisel kasutasime solidworksit ja teisendasime need seejärel oma CNC tarkvara jaoks joonistusfailideks. Lihvisime servad ja kruvisime need 1 ¼”sisse. Kinnitasime esipaneeli hingega ja kasutasime ¼ “kruvisid, nii et kruvid ei läheks teisele küljele. Kasutasime ka akrüülklaasi, mille lõikasime riiulite ja esipaneeli jaoks.
3. samm: elektroonika
Arduino
Kasutasime Arduino Mega 2560 plaati. Kasutasime ka Adafruit Motor Boards'i, et need saaksid samm -mootoreid käitada. Lisasime adafruitile nööpnõelad, et need üksteisega ühendust saaksid. Need pandi üksteise peale. Igaüks saab töötada 2 mootoriga. Samuti pidage meeles, et hüppaja tuleb ühendada.
Töölaua toiteallikas
Bestek ATX toiteplokk, mis hoiab toiteallika sisselülitamiseks adapterit kasutades. Adapter on pärit aadressilt sparkfun.com ja pakub erinevaid pingeid.
Rullid mootoriteks
Tegime solidworks mudelid mootori hoidmiseks, mähisest haaramiseks ja mähise juhtimiseks mööda riiulit. Olime ebayst oma mähised kätte saanud ja mõõtudeks lõiganud. Samuti pidime neist 3 painutama, kuna me ei saanud 6 sirgete otstega mähise kinnitusega ühendamiseks. Seejärel printisime need 3D -sse ja kinnitasime mähise ja mootori külge. Need samm -mootorid, mis meil olid, panime alusele. See hoiaks mootorit ja juhiks mähist mööda sirget rada.
LCD ja klaviatuur
Toiteallikaks kasutasime Arduino klaviatuuri ja LCD -ekraani, mis oli ühendatud toiteadapteri 5V juhtmega ja seejärel samasse Arduino plaati
Juhtmestik
Soovitame kasutada 18 gabariidiga juhtmeid. Meie puhul pidime tegema kompromisse erinevate näidikute abil, sest meil lõppes 18 näidikut
LED riba
Masina valgustamiseks kasutasime LED -riba. Ühendasime selle toiteadapteri 12V juhtmega. Õnneks kasutasime LED -ribal + ja -, mis hõlbustas selle ühendamist.
4. samm: arve vastuvõtja
Arve vastuvõtjana kasutasime Coinco BA30B. See tuli toiteallikana ühendada otse seinaga. Kombineerisime selle 24-kontaktilise adapteriga, mis oli ühendatud atx-toiteallikast, et ühendada pistikupesaga ja hõlbustada juhtmete ühendamist. Meie järgitud näpunäited leiate järgmiselt lingilt:
techvalleyprojects.blogspot.com/2011/07/ard…
Meie puhul pidime looma arve vastuvõtja tõstmiseks kinnituse, sest muidu oleks see meie korpuse jaoks liiga madal.
Samm: testimine
Kontrollige esmalt elektroonikat väljaspool korpust, veendumaks, et komponendid töötavad. Kõik tekkivad probleemid tuleks enne korpuse sisestamist lahendada.
6. samm: elektroonika korpuse külge
Kui olete elektroonikat testinud ja nende tulemustega rahul, alustage nende paigutamist oma ümbrisesse. Reguleerige traadi pikkused nii, et need mahuksid mugavalt sisse.
7. etapp: lõplik testimine
Kui olete korpuse sisse pannud, katsetage kõike uuesti. Kui kõik töötab ootuspäraselt, siis palju õnne! Tegite müügiautomaadi.
Samm: Arduino kood + lingid
Allalaadimised:
Arduino kood
drive.google.com/drive/folders/1oC4MhOcMFy…
SolidWorksi kaust koos osade failide ja kokkupanekuga
drive.google.com/drive/folders/1amZoypiWcZ…
Igaks juhuks, kui lingiga midagi juhtus, on siin arduino kood täielikult kuvatud. Arduino kood <<
#include #include #include "Arduino.h" #include #include #include "utiliit/Adafruit_MS_PWMServoDriver.h" #include
const int stepsPerRevolution = 200; const bait RIDA = 4; // neli rida const bait COLS = 3; // kolme veeru sümboliklahvid [ROWS] [COLS] = {{'1', '2', '3'}, {'4', '5', '6'}, {'7', '8', '9'}, {'*', '0', '#'}}; bait rowPins [ROWS] = {5, 6, 7, 8}; // ühenduda klaviatuuri ridade pistikutega bait colPins [COLS] = {2, 3, 4}; // ühenduda klahvistiku veergude otsikutega Klahvistiku klaviatuur = Klaviatuur (makeKeymap (võtmed), rowPins, colPins, ROWS, COLS); Adafruit_MotorShield AFMS1 = Adafruit_MotorShield (); Adafruit_StepperMotor *myMotor1 = AFMS1.getStepper (-200, 1); Adafruit_StepperMotor *myMotor2 = AFMS1.getStepper (-200, 2); Adafruit_MotorShield AFMS2 = Adafruit_MotorShield (0x61); Adafruit_StepperMotor *myMotor3 = AFMS2.getStepper (-200, 1); Adafruit_StepperMotor *myMotor4 = AFMS2.getStepper (-200, 2); Adafruit_MotorShield AFMS3 = Adafruit_MotorShield (0x62); Adafruit_StepperMotor *myMotor5 = AFMS3.getStepper (-200, 1); Adafruit_StepperMotor *myMotor6 = AFMS3.getStepper (-200, 2); Adafruit_MotorShield AFMS4 = Adafruit_MotorShield (0x63); Adafruit_StepperMotor *myMotor7 = AFMS4.getStepper (-200, 1); Adafruit_StepperMotor *myMotor8 = AFMS4.getStepper (-200, 2); LiquidCrystal LCD (1, 11, 9, 10, 12, 13); // Digitaalsed nööpnõelad, millega LCD on ühendatud // Konstantidega // // arve valideerija krediidipinge (-) rida const int billValidator = 22;
// Muutujad /
/ impulsi kestuse salvestamine (millisekundid) allkirjastamata pikk kestus;
// hoides salvestatud dollareid kokku int dollarCounter = 0; void setup () {lcd.begin (16, 1); // määrake lcd teksti koordinaadid lcd.print ("Insert $ 1 Only"); // Määra tekst Serial.begin (9600); // Initsialiseeri jadapordid suhtlemiseks. Serial.println ("Stepper test!"); // Sisestage seeriamonitorile samm -sammutest, et saaksime teada, millist samm -mootorit vajutatakse. AFMS1.algus (); AFMS2.begin (); AFMS3.algus (); AFMS4.begin (); myMotor1-> setSpeed (100); // Määra mootori kiirus, millega nad töötavad myMotor2-> setSpeed (100); myMotor3-> setSpeed (100); myMotor4-> setSpeed (100); myMotor5-> setSpeed (100); myMotor6-> setSpeed (100); myMotor7-> setSpeed (100); myMotor8-> setSpeed (100); // Arve valideerija ja nupu pinMode pin seadistused (billValidator, INPUT); // Seab billaccepteri
// Initsialiseerige jadapordid suhtlemiseks. Seriaalne algus (9600); Serial.println ("Ootan dollarit …"); } void loop () {{duration = pulseIn (billValidator, HIGH); // Hakkab otsima arve vastuvõtjalt saadud impulsi pikkust, kui (kestus> 12000) // Väärtus, mille ta peab ületama, et seda töödeldava ja autentse dollarina kinnitada {// Count dollar dollarCounter ++; // Serial.print mõistmise kontrollimine ("Dollar tuvastatud. / N Kokku:"); // Kuva uus dollarite arv Serial.println (dollarCounter); // silmus, et oodata, kuni nuppu vajutatakse (kestus> 12000) {char key = keypad.getKey (); // ühendab võtmekoormuse ja hakkab vaatama, kumba vajutatakse, kui (võti! = NO_KEY) {// otsib klahvi vajutamist Serial.println (võti); // annab meile teada, millist neist jadamonitoris vajutati} {{(key == '1') {// Kui klahvi 1 vajutatakse, teeb see järgmist: int keyPressed = key - '1'; myMotor8-> samm (580, ETTE, KAKS) // Käivitab mootori ja pöörleb 350 kraadi edasi. myMotor8-> release (); // Vabastab mootori seisukorrast. tagasipöördumine; // Liigub tagasi silmuse koodi algusesse}
if (võti == '2') {// Kui klahvi 2 vajutatakse, teeb see järgmist: int keyPressed = võti - '2'; myMotor7-> samm (400, ETTE, KAKS) // Käivitab mootori ja pöörleb 350 kraadi edasi. myMotor7-> release (); // Vabastab mootori seisukorrast. tagasipöördumine; // Liigub tagasi silmuse koodi algusesse}, kui (võti == '3') {// Kui klahvi 3 vajutatakse, teeb see järgmist: int keyPressed = võti - '3'; myMotor6-> samm (400, ETTE, KAKS) // Käivitab mootori ja pöörleb 350 kraadi edasi. myMotor6-> release (); // Vabastab mootori seisukorrast. tagasipöördumine; // Liigub tagasi silmuse koodi algusesse}, kui (võti == '4') {// Kui klahvi 4 vajutatakse, teeb see järgmist: int keyPressed = võti - '4'; myMotor5-> samm (180, EDASI, KAHEKORDNE); // Käivitab mootori ja pöörleb 350 kraadi edasi. myMotor5-> release (); // Vabastab mootori seisukorrast. tagasipöördumine; // Liigub tagasi silmuse koodi algusesse}, kui (võti == '5') {// Kui klahvi 5 vajutatakse, teeb see järgmist: int keyPressed = võti - '5'; myMotor4-> samm (6900, EDASI, DOUBLE); // Käivitab mootori ja pöörleb 350 kraadi edasi. myMotor4-> release (); // Vabastab mootori seisukorrast. tagasipöördumine; // Liigub tagasi silmuse koodi algusesse}, kui (võti == '6') {// Kui klahvi 6 vajutatakse, teeb see järgmist: int keyPressed = võti - '6'; myMotor3-> samm (400, EDASI, DOUBLE); // Käivitab mootori ja pöörleb 350 kraadi edasi. myMotor3-> release (); // Vabastab mootori seisukorrast. tagasipöördumine; // Liigub tagasi silmuse koodi algusesse}, kui (võti == '7') {// Kui klahvi 7 vajutatakse, teeb see järgmist: int keyPressed = võti - '7'; myMotor7-> samm (400, ETTE, KAKS) // Käivitab mootori ja pöörleb 350 kraadi edasi. myMotor7-> release (); // Vabastab mootori seisukorrast. tagasipöördumine; // Liigub tagasi silmuse koodi algusesse}, kui (võti == '8') {// Kui klahvi 8 vajutatakse, teeb see järgmist: int keyPressed = võti - '8'; myMotor8-> samm (400, ETTE, KAKS) // Käivitab mootori ja pöörleb 350 kraadi edasi. myMotor8-> release (); // Vabastab mootori seisukorrast. tagasipöördumine; // Liigub tagasi silmuse koodi algusesse}}}}}} >>
Soovitan:
DIY müügiautomaat: 8 sammu
DIY müügiautomaat: kolm aastat tagasi hakkasin õppima elektroonilises tehnikakõrgkoolis. Üks fakt, mis mind toona üllatas, oli suitsetajate arv, sest vahetundide ajal lahkusid pooled õpilased kooli seintelt, et pärast emotsioone maha laadida
Müügiautomaat kaaluga, et kinnitada kauba tilk (Raspberry Pi): 5 sammu
Müügiautomaat kaaluga kinnitamiseks (Raspberry Pi): Tere tulemast kaastegija, kooliprojekti jaoks otsustasin teha suupistete müügiautomaadi. Meie ülesanne oli luua taasloodav seade, mis kasutas vähemalt 3 andurit ja 1 täiturmehhanismi. Läksin müügiautomaati tegema osaliselt seetõttu, et mul oli juurdepääs mõnele
Valedetektor+müügiautomaat: koos Arduino Leonardoga: 6 sammu
Valedetektor+müügiautomaat: Arduino Leonardo puhul: see valeandur ei ole teie tavaline keskmine valedetektor, see on valedetektor, mille külge on kinnitatud müügiautomaat. Põhimõtteliselt see toimib nii. Alguses vajutab mängija masina käivitamiseks nuppu ja enne valetamist
Servo Arduino müügiautomaat: 8 sammu
Servo Arduino müügiautomaat: selles müügiautomaadis on kolm lõbusas suuruses snickers-baari ja müüakse ükshaaval, kasutades Arduino Unot ja servomootorit
Müügiautomaat -- kommide dosaator -- Arduino Bluetooth -juhitav -- DIY: 11 sammu (piltidega)
Müügiautomaat || kommide dosaator || Arduino Bluetooth -juhitav || DIY: Selles juhendis näitan, kuidas Arduino abil müügiautomaati ehitada. KOMMENTEERI, MIDA SINU JUHENDI KOHTA MÕTLED, ET MA saaksin oma täiendavaid juhendeid täiustada. Vaadake videoõpetust, et paremini mõista tervikuna