Talaan ng mga Nilalaman:
- Hakbang 1: Pamantayan
- Hakbang 2: Casing
- Hakbang 3: Elektronika
- Hakbang 4: Tagatanggap ng Bill
- Hakbang 5: Pagsubok
- Hakbang 6: Electronics sa Casing
- Hakbang 7: Pangwakas na Pagsubok
- Hakbang 8: Arduino Code + Mga Link
Video: $ 1 na Vending Machine na nakabatay sa Arduino: 8 Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:14
Nakuha namin ang aming ideya mula sa aming guro sa engineering - naisip naming lahat na isang magandang ideya na magkaroon ng isang vending machine para sa aming klase at sinabi niya - "cool, make one". Ito ay naka-out na ang isang vending machine ay magiging isang mahusay na proyekto ng senior at kung kumpleto ay gagana bilang isang fundraiser para sa aming programa sa engineering.
Tinatawag itong $ 1 Vending Machine hindi dahil nagkakahalaga ito ng $ 1 upang makamit, ngunit dahil lamang sa ang tumatanggap ng bill ay isang mas matandang modelo na tumatagal lamang ng $ 1 bill:)
Hakbang 1: Pamantayan
Gusto namin ng isang vending machine na magkakasya sa tuktok ng isang desk at hindi masyadong matangkad. Kinuha namin ang mga sukat ng lapad ng talahanayan upang matiyak na wala kaming vending machine na nakabitin sa mesa.
Hakbang 2: Casing
Ginawa namin ang aming kahon na 19 pulgada ang lapad ng 17 pulgada ang haba ng 25 pulgada ang taas. Gumamit kami ng isang CNC Machine upang putulin ang aming kahoy. Gumamit kami ng mga solidworks upang idisenyo ang mga mukha at pagkatapos ay i-convert ito sa pagguhit ng mga uri ng file para sa aming software na CNC. Inilagay namin ang mga gilid at pagkatapos ay inirintas ito gamit ang 1 ¼”. Ikinabit namin ang front panel gamit ang isang bisagra at ginamit ang screw “mga turnilyo, upang ang mga turnilyo ay hindi dumaan sa kabilang panig. Gumamit din kami ng Acrylic Glass na pinutol namin para sa mga istante at front panel.
Hakbang 3: Elektronika
Arduino
Gumamit kami ng isang Arduino Mega 2560 Board. Gumamit din kami ng Adafruit Motor Boards upang mapatakbo nila ang mga stepper motor. Nagdagdag kami ng mga pin sa adafruit's upang magkonekta sila sa bawat isa. Ipinasok ang mga ito sa isa't isa. Ang bawat isa ay maaaring magpatakbo ng 2 mga motor. Gayundin, mangyaring tandaan na ang jumper ay kailangang ikonekta.
Desktop Power Supply
Bestek ATX Power supply gamit ang isang adapter upang mapanatili ang power supply. Ang adapter ay mula sa sparkfun.com at nagbibigay ng iba't ibang mga voltages.
Mga Coil sa Motors
Gumawa kami ng mga modelo ng solidworks upang hawakan ang motor, kunin ang likaw, at gabayan ang likaw sa istante. Nakamit namin ang aming mga coil mula sa ebay at pinutol ito sa laki. Kailangan din nating yumuko ang 3 sa kanila dahil hindi kami nakakuha ng 6 na may tuwid na mga dulo upang kumonekta sa coil mount. Pagkatapos ay naka-print namin ang mga ito sa 3D at ikinabit ang mga ito sa likid at motor. Ang mga stepper motor na mayroon kami, inilagay namin sa isang bundok. Hahawak nito ang motor at gagabay sa coil kasama ang isang tuwid na landas.
LCD at Keypad
Gumamit kami ng isang Arduino Keypad at LCD screen na konektado sa isang 5V lead sa power supply adapter para sa lakas at pagkatapos ay sa parehong Arduino Board
Kable
Inirerekumenda namin ang paggamit ng 18 mga gauge wires. Sa aming kaso, kinailangan naming makompromiso sa pamamagitan ng paggamit ng iba't ibang mga gauge dahil naubusan kami ng 18 mga gauge
LED Strip
Gumamit kami ng isang LED strip upang magaan ang makina. Ikinonekta namin ito sa isang 12V lead sa power supply adapter. Ang LED strip na ginamit namin nang mabuti ay nagkaroon ng isang + at - dito na ginawang madali ang proseso ng pagkonekta nito.
Hakbang 4: Tagatanggap ng Bill
Gumamit kami ng isang Coinco BA30B bilang aming tagatanggap ng singil. Kailangan itong konektado direkta sa dingding bilang isang mapagkukunan ng kuryente. Pinagsama namin ito sa isang 24-pin adapter mula sa isang supply ng lakas na atx upang mai-plug in at payagan ang mas madaling mga kable. Ang mga sinusundan naming pinout ay matatagpuan sa sumusunod na link:
techvalleyprojects.blogspot.com/2011/07/ard…
Sa aming kaso, kinailangan naming lumikha ng isang bundok upang itaas ang tatanggap ng singil dahil kung hindi man ay napakababa para sa aming pambalot.
Hakbang 5: Pagsubok
Subukan muna ang electronics sa labas ng pambalot upang matiyak na gumagana ang mga sangkap. Ang anumang mga isyu na lumitaw ay dapat na maayos bago ilagay ang mga ito sa loob ng pambalot.
Hakbang 6: Electronics sa Casing
Kapag nasubukan mo na ang electronics at nasiyahan ka sa kanilang mga resulta, simulang ilagay ang mga ito sa iyong pambalot. Ayusin ang mga haba ng kawad upang magkasya silang kumportable sa loob.
Hakbang 7: Pangwakas na Pagsubok
Sa sandaling mailagay sa pambalot, subukang muli ang lahat. Kung ang lahat ay gumagana tulad ng iyong inaasahan, binabati kita! Gumawa ka ng isang vending machine.
Hakbang 8: Arduino Code + Mga Link
Mga Pag-download:
Code ng Arduino
drive.google.com/drive/folders/1oC4MhOcMFy…
SolidWorks Folder na may mga bahagi ng file at pagpupulong
drive.google.com/drive/folders/1amZoypiWcZ…
Kung sakali may nangyari sa link, narito ang code ng arduino na buong ipinakita. Arduino Code <<
#include #include #include "Arduino.h" #include #include #include "utility / Adafruit_MS_PWMServoDriver.h" #include
Const int stepsPerRevolution = 200; const byte ROWS = 4; // four row const byte COLS = 3; // three columns char keys [ROWS] [COLS] = {{'1', '2', '3'}, {'4', '5', '6'}, {'7', '8', '9'}, {'*', '0', '#'}}; byte rowPins [ROWS] = {5, 6, 7, 8}; // kumonekta sa mga row ng pinout ng keypad byte colPins [COLS] = {2, 3, 4}; // kumonekta sa mga pinout ng haligi ng keypad Keypad keypad = Keypad (makeKeymap (key), 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); // Digital Pins ang lcd ay konektado sa // Constants // // pin para sa credit validator ng bill (-) line const int billValidator = 22;
// Variable /
/ pagtatala ng tagal ng pulso (milliseconds) na hindi pirmahan ng mahabang tagal;
// hawak ang kabuuang dolyar na naitala int dollarCounter = 0; void setup () {lcd.begin (16, 1); // set lcd text coordinate lcd.print ("Ipasok ang $ 1 Lamang"); // Set text Serial.begin (9600); // Initialize serial port para sa komunikasyon. Serial.println ("Stepper test!"); // Type Out Stepper Test sa serial monitor upang malaman namin kung aling stepper motor ang pinindot. AFMS1.begin (); AFMS2.begin (); AFMS3.begin (); AFMS4.begin (); myMotor1-> setSpeed (100); // Itakda ang Bilis ng Motor kung saan tatakbo ang myMotor2-> setSpeed (100); myMotor3-> setSpeed (100); myMotor4-> setSpeed (100); myMotor5-> setSpeed (100); myMotor6-> setSpeed (100); myMotor7-> setSpeed (100); myMotor8-> setSpeed (100); // I-pin ang mga pag-setup para sa nagpapatunay ng bill at pinMode ng pindutan (billValidator, INPUT); // Itinatakda ang billaccepter
// Initialize serial port para sa komunikasyon. Serial.begin (9600); Serial.println ("Naghihintay para sa dolyar …"); } void loop () {{duration = pulseIn (billValidator, HIGH); // Nagsisimulang maghanap para sa haba ng pulso na natanggap mula sa tagatanggap ng singil kung (tagal> 12000) // Halaga na kailangan nitong malampasan upang mapatunayan bilang isang naproseso at tunay na dolyar {// Count dollar dollarCounter ++; // Checking for understand Serial.print ("Nakita ang dolyar. / N Kabuuan:"); // Ipakita ang bagong bilang ng dolyar na Serial.println (dollarCounter); // loop upang maghintay hanggang ang isang pindutan ay pinindot habang (tagal> 12000) {char key = keypad.getKey (); // nakakakonekta ang keyoad at nagsisimulang makita kung alin ang pinindot kung (key! = NO_KEY) {// ay naghahanap ng key na pinindot Serial.println (key); // ipaalam sa amin kung alin ang pinindot sa serial monitor} {kung (key == '1') {// Kung ang Key 1 ay pinindot, ginagawa ba ang sumusunod: int keyPressed = key - '1'; myMotor8-> hakbang (580, FORWARD, DOUBLE); // Nagsisimula ang Motor at umiikot para sa 350 degree sa pasulong na direksyon. myMotor8-> bitawan (); // Pinapalabas ang motor mula sa estado ng pagpigil sa sarili nito sa lugar. bumalik; // Bumabalik sa simula ng loop code}
kung (key == '2') {// Kung ang Key 2 ay pinindot, ginagawa ang sumusunod: int keyPressed = key - '2'; myMotor7-> hakbang (400, FORWARD, DOUBLE); // Nagsisimula ang Motor at umiikot para sa 350 degree sa pasulong na direksyon. myMotor7-> bitawan (); // Pinapalabas ang motor mula sa estado ng pagpigil sa sarili nito sa lugar. bumalik; // Bumalik sa simula ng loop code} kung (key == '3') {// Kung ang Key 3 ay pinindot, ginagawa ang sumusunod: int keyPressed = key - '3'; myMotor6-> hakbang (400, FORWARD, DOUBLE); // Nagsisimula ang Motor at umiikot para sa 350 degree sa pasulong na direksyon. myMotor6-> bitawan (); // Pinapalabas ang motor mula sa estado ng pagpigil sa sarili nito sa lugar. bumalik; // Bumalik sa simula ng loop code} kung (key == '4') {// Kung ang Key 4 ay pinindot, ginagawa ang sumusunod: int keyPressed = key - '4'; myMotor5-> hakbang (180, FORWARD, DOUBLE); // Nagsisimula ang Motor at umiikot para sa 350 degree sa pasulong na direksyon. myMotor5-> bitawan (); // Pinapalabas ang motor mula sa estado ng pagpigil sa sarili nito sa lugar. bumalik; // Bumalik sa simula ng loop code} kung (key == '5') {// Kung ang Key 5 ay pinindot, ginagawa ang sumusunod: int keyPressed = key - '5'; myMotor4-> hakbang (6900, FORWARD, DOUBLE); // Nagsisimula ang Motor at umiikot para sa 350 degree sa pasulong na direksyon. myMotor4-> bitawan (); // Pinapalabas ang motor mula sa estado ng pagpigil sa sarili nito sa lugar. bumalik; // Bumalik sa simula ng loop code} kung (key == '6') {// Kung ang Key 6 ay pinindot, ginagawa ang sumusunod: int keyPressed = key - '6'; myMotor3-> hakbang (400, FORWARD, DOUBLE); // Nagsisimula ang Motor at umiikot para sa 350 degree sa pasulong na direksyon. myMotor3-> bitawan (); // Pinapalabas ang motor mula sa estado ng pagpigil sa sarili nito sa lugar. bumalik; // Bumalik sa simula ng loop code} kung (key == '7') {// Kung ang Key 7 ay pinindot, ginagawa ang sumusunod: int keyPressed = key - '7'; myMotor7-> hakbang (400, FORWARD, DOUBLE); // Nagsisimula ang Motor at umiikot para sa 350 degree sa pasulong na direksyon. myMotor7-> bitawan (); // Pinapalabas ang motor mula sa estado ng pagpigil sa sarili nito sa lugar. bumalik; // Bumalik sa simula ng loop code} kung (key == '8') {// Kung ang Key 8 ay pinindot, ginagawa ang sumusunod: int keyPressed = key - '8'; myMotor8-> hakbang (400, FORWARD, DOUBLE); // Nagsisimula ang Motor at umiikot para sa 350 degree sa pasulong na direksyon. myMotor8-> bitawan (); // Pinapalabas ang motor mula sa estado ng pagpigil sa sarili nito sa lugar. bumalik; // Bumabalik sa simula ng loop code}}}}}} >>
Inirerekumendang:
DIY Vending Machine: 8 Hakbang
DIY Vending Machine: Tatlong taon na ang nakalilipas, nagsimula akong mag-aral sa isang elektronikong kolehiyo sa teknikal. Ang isa sa mga katotohanan na nagulat sa akin sa oras na iyon ay ang bilang ng mga naninigarilyo dahil sa mga break, kalahati ng mga mag-aaral ay umalis sa mga dingding ng paaralan upang maibaba ang kanilang emosyon pagkatapos
Kinokontrol ng Arduino Mini Vending Machine: 9 Mga Hakbang
Kinokontrol ng Arduino Mini Vending Machine: Ito ang aming vending machine, nagbibigay ito ng tatlong nakakatuwang laki ng mga snicker na candy bar. Ang pangkalahatang sukat ay tungkol sa 12 " x 6 " x 8 ". Ang vending machine na ito ay kinokontrol ng isang arduino, na may breadboard at isang servo motor
Lie Detector + vending Machine: With Arduino Leonardo: 6 Hakbang
Lie Detector + vending Machine: Sa Arduino Leonardo: Ang Lie detector na ito ay hindi iyong normal na average lie lie, ito ay isang lie detector na mayroong nakakabit na vending machine dito. Talaga, ito ay kung paano ito gumagana. Sa simula, pipindutin ng player ang isang pindutan na magsisimulang makina, at bago ang kasinungalingan
Servo Arduino Vending Machine: 8 Hakbang
Servo Arduino Vending Machine: Ang vending machine na ito ay nagtataglay ng tatlong mga bar ng snicker na masasayang at magbebenta ng isa-isa gamit ang Arduino Uno at isang servo motor
Vending Machine -- Dispenser ng kendi -- Kinokontrol ng Arduino Bluetooth -- DIY: 11 Mga Hakbang (na may Mga Larawan)
Vending Machine || Dispenser ng kendi || Kinokontrol ng Arduino Bluetooth || DIY: Sa itinuturo na ito ay ipinapakita ko kung paano bumuo ng isang vending machine gamit ang isang Arduino. GUMOMENTO NG ANO SA IYONG INIISIP TUNGKOL SA INSTRUCTABLE NA ITO, KAYA MAAARING MABUTI ANG AKING MAS DALING INSTRUCTABL Magtingin sa tutorial ng video para sa isang mas mahusay na pag-unawa ng enti