Satura rādītājs:
- 1. darbība. Kritēriji
- 2. solis: apvalks
- 3. solis: elektronika
- 4. solis: rēķinu akceptētājs
- 5. darbība: pārbaude
- 6. darbība: elektronika līdz korpusam
- 7. solis: galīgā pārbaude
- 8. solis: Arduino kods + saites
Video: 1 USD tirdzniecības automāts uz Arduino: 8 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:57
Ideju ieguvām no mūsu inženierzinātņu skolotājas - mēs visi domājām, ka būtu laba ideja, ja mūsu klasei būtu tirdzniecības automāts, un viņš teica - "forši, uztaisi". Izrādījās, ka tirdzniecības automāts būtu lielisks vecākais projekts, un, kad tas būs pabeigts, tas darbotos kā līdzekļu vākšanas līdzeklis mūsu inženierzinātņu programmai.
To sauc par 1 USD tirdzniecības automātu nevis tāpēc, ka tā izgatavošana maksā 1 USD, bet vienkārši tāpēc, ka rēķinu pieņemšanas iestāde ir vecāks modelis, kas aizņem tikai 1 USD rēķinus:)
1. darbība. Kritēriji
Mēs gribējām tirdzniecības automātu, kas ietilptu uz galda un nebūtu pārāk garš. Mēs izvēlējāmies galda platuma izmērus, lai pārliecinātos, ka pie galda nav karājies tirdzniecības automāts.
2. solis: apvalks
Mēs izgatavojām kastīti 19 collas platas un 17 collas garas un 25 collas garas. Koka griešanai mēs izmantojām CNC mašīnu. Mēs izmantojām solidworks, lai izstrādātu sejas, un pēc tam pārveidojām tās zīmēšanas failu tipiem mūsu CNC programmatūrai. Mēs slīpējām malas un pēc tam ieskrūvējām ar 1 ¼”. Mēs piestiprinājām priekšējo paneli ar eņģēm un izmantojām screws “skrūves, lai skrūves netiktu cauri otrai pusei. Mēs izmantojām arī akrila stiklu, ko sagriezām plauktos un priekšējā panelī.
3. solis: elektronika
Arduino
Mēs izmantojām Arduino Mega 2560 dēli. Mēs izmantojām arī Adafruit motorplates, lai tās varētu darbināt pakāpju motorus. Mēs pievienojām tapas adafruit, lai tie varētu savienoties viens ar otru. Tie tika ievietoti viens virs otra. Katrs var darbināt 2 motorus. Lūdzu, ņemiet vērā arī to, ka džemperis ir jāpievieno.
Darbvirsmas barošanas avots
Bestek ATX barošanas avots, izmantojot adapteri, lai saglabātu strāvas padevi. Adapteris ir no sparkfun.com un nodrošina dažādus spriegumus.
Spoles uz Motors
Mēs izgatavojām solidworks modeļus, lai turētu motoru, satvertu spoli un vadītu spoli gar plauktu. Mēs bijām sasnieguši spoles no ebay un sagriezuši tās izmēros. Mums arī vajadzēja saliekt 3 no tiem, jo mēs nesaņēmām 6 ar taisniem galiem, lai izveidotu savienojumu ar spoles stiprinājumu. Pēc tam mēs tos 3D izdrukājām un pievienojām spolei un motoram. Pakāpju motorus, kas mums bija, mēs ievietojām stiprinājumā. Tas turētu motoru un virzītu spoli pa taisnu ceļu.
LCD un tastatūra
Barošanai mēs izmantojām Arduino tastatūru un LCD ekrānu, kas savienots ar 5V vadu barošanas avota adapterī un pēc tam tajā pašā Arduino panelī
Elektroinstalācija
Mēs iesakām izmantot 18 gabarītu vadus. Mūsu gadījumā nācās panākt kompromisu, izmantojot dažādus mērinstrumentus, jo mums beidzās 18 mērinstrumenti
LED sloksne
Iekārtas iedegšanai mēs izmantojām LED sloksni. Mēs to pievienojām barošanas avota adaptera 12V vadam. Par laimi mūsu izmantotajai LED sloksnei bija + un -, kas atviegloja savienošanas procesu.
4. solis: rēķinu akceptētājs
Mēs izmantojām Coinco BA30B kā rēķinu akceptētāju. Tas bija jāpievieno tieši pie sienas kā strāvas avots. Mēs to apvienojām ar 24 kontaktu adapteri no atx barošanas avota, lai pievienotu elektrotīklam un atvieglotu elektroinstalāciju. Punkti, kuriem sekojām, ir atrodami šajā saitē:
techvalleyprojects.blogspot.com/2011/07/ard…
Mūsu gadījumā mums bija jāizveido stiprinājums, lai paceltu rēķinu akceptētāju, jo pretējā gadījumā tas būtu pārāk zems mūsu korpusam.
5. darbība: pārbaude
Vispirms pārbaudiet elektroniku ārpus korpusa, lai pārliecinātos, ka sastāvdaļas darbojas. Visas radušās problēmas ir jānovērš pirms to ievietošanas korpusā.
6. darbība: elektronika līdz korpusam
Kad esat pārbaudījis elektroniku un esat apmierināts ar to rezultātiem, sāciet to ievietot korpusā. Pielāgojiet vadu garumu tā, lai tie ērti ietilptu iekšpusē.
7. solis: galīgā pārbaude
Kad tas ir ievietots korpusā, vēlreiz pārbaudiet visu. Ja viss darbojas tā, kā jūs gaidījāt, apsveicam! Jūs izveidojāt tirdzniecības automātu.
8. solis: Arduino kods + saites
Lejupielādes:
Arduino kods
drive.google.com/drive/folders/1oC4MhOcMFy…
SolidWorks mape ar detaļu failiem un montāžu
drive.google.com/drive/folders/1amZoypiWcZ…
Tikai gadījumā, ja kaut kas ir noticis ar saiti, šeit ir pilnībā parādīts arduino kods. Arduino kods <<
#include #include #include "Arduino.h" #include #include #include "lietderība/Adafruit_MS_PWMServoDriver.h" #include
const int soļiPerRevolution = 200; const baits ROWS = 4; // četras rindas const baits COLS = 3; // trīs kolonnu simbolu taustiņi [ROWS] [COLS] = {{'1', '2', '3'}, {'4', '5', '6'}, {'7', '8', '9'}, {'*', '0', '#'}}; baits rowPins [ROWS] = {5, 6, 7, 8}; // pieslēgties tastatūras rindu pinouts baitiem colPins [COLS] = {2, 3, 4}; // izveidot savienojumu ar tastatūras kolonnu pinouts Tastatūras tastatūra = Tastatūra (makeKeymap (taustiņi), 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); // Digitālās tapas, kurām LCD ir pievienots // Konstantes // // pin rēķina validētāja kredīta (-) līnijai const int billValidator = 22;
// Mainīgie /
/ ierakstot impulsa ilgumu (milisekundes) neparakstītu ilgu laiku;
// turot kopā reģistrētos dolārus int dollarCounter = 0; void setup () {lcd.begin (16, 1); // iestatiet lcd teksta koordinātas lcd.print ("Ievietot tikai $ 1"); // Iestatīt tekstu Serial.begin (9600); // Inicializēt seriālos portus saziņai. Serial.println ("Stepper tests!"); // Sērijas monitorā ierakstiet Stepper Test, lai mēs zinātu, kurš pakāpju motors ir nospiests. AFMS1.sākas (); AFMS2.begin (); AFMS3.sākas (); AFMS4.begin (); myMotor1-> setSpeed (100); // Iestatiet motora ātrumu, ar kādu viņi darbosies myMotor2-> setSpeed (100); myMotor3-> setSpeed (100); myMotor4-> setSpeed (100); myMotor5-> setSpeed (100); myMotor6-> setSpeed (100); myMotor7-> setSpeed (100); myMotor8-> setSpeed (100); // Pin iestatījumi rēķinu validatoram un pogai pinMode (billValidator, INPUT); // Iestata bilaceptors
// Inicializēt seriālos portus saziņai. Sērijas sākums (9600); Serial.println ("Gaida dolāru …"); } void loop () {{duration = pulseIn (billValidator, HIGH); // Sāk meklēt no rēķina pieņēmēja saņemto impulsa garumu, ja (ilgums> 12000) // Vērtība, kas tai ir jāpārsniedz, lai apstiprinātu to kā apstrādātu un autentisku dolāru {// Count dollar dollarCounter ++; // Pārbaude, lai saprastu Serial.print ("Atklāts dolārs. / N Kopā:"); // Parādīt jaunu dolāru skaitu Serial.println (dollarCounter); // cilpa, lai gaidītu, kamēr tiek nospiesta poga, kamēr (ilgums> 12000) {char key = keypad.getKey (); // pieslēdz atslēgas slodzi un sāk redzēt, kurš no tiem ir nospiests, ja (taustiņš! = NO_KEY) {// meklēs taustiņu nospiestu Serial.println (taustiņš); // ļauj mums uzzināt, kurš no tiem tika nospiests sērijas monitorā} {{if (key == '1') {// Ja tiek nospiests taustiņš 1, rīkojieties šādi: int keyPressed = key - '1'; myMotor8-> solis (580, uz priekšu, DUBULTI); // iedarbina motoru un griežas 350 grādus uz priekšu. myMotor8-> atbrīvošana (); // Atbrīvo motoru no stāvokļa, kad tas notur sevi vietā. atgriešanās; // Atgriežas cilpas koda sākumā}
ja (taustiņš == '2') {// Ja tiek nospiests taustiņš 2, rīkojieties šādi: int taustiņšNospiests = taustiņš - '2'; myMotor7-> solis (400, uz priekšu, DUPLĀ); // iedarbina motoru un griežas 350 grādus uz priekšu. myMotor7-> atbrīvošana (); // Atbrīvo motoru no stāvokļa, kad tas notur sevi vietā. atgriešanās; // Atgriežas cilpas koda sākumā}, ja (taustiņš == '3') {// Ja tiek nospiests taustiņš 3, rīkojas šādi: int keyPressed = taustiņš - '3'; myMotor6-> solis (400, uz priekšu, DUPLĀ); // iedarbina motoru un griežas 350 grādus uz priekšu. myMotor6-> atbrīvošana (); // Atbrīvo motoru no stāvokļa, kad tas notur sevi vietā. atgriešanās; // Atgriežas cilpas koda sākumā}, ja (taustiņš == '4') {// Ja tiek nospiests taustiņš 4, rīkojas šādi: int keyPressed = taustiņš - '4'; myMotor5-> solis (180, uz priekšu, DUPLĀ); // iedarbina motoru un griežas 350 grādus uz priekšu. myMotor5-> atbrīvošana (); // Atbrīvo motoru no stāvokļa, kad tas notur sevi vietā. atgriešanās; // Atgriežas cilpas koda sākumā}, ja (taustiņš == '5') {// Ja tiek nospiests taustiņš 5, rīkojieties šādi: int keyPressed = taustiņš - '5'; myMotor4-> solis (6900, uz priekšu, DUBULTI); // iedarbina motoru un griežas 350 grādus uz priekšu. myMotor4-> atbrīvošana (); // Atbrīvo motoru no stāvokļa, kad tas notur sevi vietā. atgriešanās; // Atgriežas cilpas koda sākumā}, ja (taustiņš == '6') {// Ja tiek nospiests taustiņš 6, rīkojas šādi: int keyPressed = taustiņš - '6'; myMotor3-> solis (400, uz priekšu, DUPLĀ); // iedarbina motoru un griežas 350 grādus uz priekšu. myMotor3-> atbrīvošana (); // Atbrīvo motoru no stāvokļa, kad tas notur sevi vietā. atgriešanās; // Atgriežas cilpas koda sākumā}, ja (taustiņš == '7') {// Ja tiek nospiests taustiņš 7, rīkojas šādi: int keyPressed = taustiņš - '7'; myMotor7-> solis (400, uz priekšu, DUPLĀ); // iedarbina motoru un griežas 350 grādus uz priekšu. myMotor7-> atbrīvošana (); // Atbrīvo motoru no stāvokļa, kad tas notur sevi vietā. atgriešanās; // Atgriežas cilpas koda sākumā}, ja (taustiņš == '8') {// Ja tiek nospiests taustiņš 8, rīkojas šādi: int keyPressed = taustiņš - '8'; myMotor8-> solis (400, uz priekšu, DUPLĀ); // iedarbina motoru un griežas 350 grādus uz priekšu. myMotor8-> atbrīvošana (); // Atbrīvo motoru no stāvokļa, kad tas notur sevi vietā. atgriešanās; // Atgriežas cilpas koda sākumā}}}}}} >>
Ieteicams:
DIY tirdzniecības automāts: 8 soļi
DIY tirdzniecības automāts: Pirms trim gadiem es sāku studēt elektroniskajā tehniskajā koledžā. Viens no faktiem, kas mani tajā laikā pārsteidza, bija smēķētāju skaits, jo pārtraukumos puse skolēnu atstāja skolas sienas, lai izlādētu savas emocijas pēc
Arduino kontrolēts mini tirdzniecības automāts: 9 soļi
Arduino kontrolēts mini tirdzniecības automāts: Šis ir mūsu tirdzniecības automāts, kas pārdod trīs jautru izmēru konfekšu batoniņus. Kopējie izmēri ir aptuveni 12 " x 6 " x 8 ". Šo tirdzniecības automātu kontrolē arduino ar maizes dēli un servomotoru
Melu detektors+tirdzniecības automāts: ar Arduino Leonardo: 6 soļi
Melu detektors+tirdzniecības automāts: ar Arduino Leonardo: Šis melu detektors nav jūsu parastais vidējais melu detektors, tas ir melu detektors, kuram ir pievienots tirdzniecības automāts. Būtībā tas darbojas šādi. Sākumā spēlētājs nospiedīs pogu, kas iedarbinās mašīnu, un pirms meliem
Servo Arduino tirdzniecības automāts: 8 soļi
Servo Arduino tirdzniecības automāts: šajā tirdzniecības automātā ir trīs jautra izmēra snickers stieņi, un tas tiks pārdots pa vienam, izmantojot Arduino Uno un servomotoru
Tirdzniecības automāts -- konfekšu dozators -- Arduino Bluetooth vadāms -- DIY: 11 soļi (ar attēliem)
Tirdzniecības automāts || konfekšu dozators || Arduino Bluetooth kontrolēts || DIY: Šajā pamācībā es parādīju, kā izveidot tirdzniecības automātu, izmantojot Arduino. PIEZĪMĒJIET, KO JŪS DOMĀJAT PAR ŠO INSTRUKCIJU, lai es varētu uzlabot savas turpmākās instrukcijas. kopumā