INHOUDSOPGAWE:
- Stap 1: Kriteria
- Stap 2: Omhulsel
- Stap 3: Elektronika
- Stap 4: Bill Acceptor
- Stap 5: Toets
- Stap 6: Elektronika na omhulsel
- Stap 7: Finale toetsing
- Stap 8: Arduino -kode + skakels
Video: $ 1 Arduino-verkoopautomaat: 8 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:27
Ons het ons idee van ons ingenieursonderwyser gekry - ons het almal gedink dat dit 'n goeie idee sou wees om 'n automaat vir ons klas te hê, en hy het gesê: 'cool, make one'. Dit het geblyk dat 'n verkoopautomaat 'n uitstekende senior projek sou wees en as dit klaar was, sou funksioneer as 'n geldinsameling vir ons ingenieurswese -program.
Dit word 'n verkoopautomaat van $ 1 genoem, nie omdat dit $ 1 kos om te maak nie, maar bloot omdat die rekeningontvanger 'n ouer model is wat slegs $ 1 -rekeninge kos:)
Stap 1: Kriteria
Ons wou 'n automaat hê wat bo -op 'n lessenaar sou pas en nie te lank was nie. Ons het die afmetings van die breedte van die tafel geneem om seker te maak dat die automaat nie aan die tafel hang nie.
Stap 2: Omhulsel
Ons het ons boks 19 cm breed, 17 cm lank en 25 cm lank gemaak. Ons het 'n CNC -masjien gebruik om ons hout te sny. Ons het solidworks gebruik om die gesigte te ontwerp en dit toe omgeskakel na tekenlêertipes vir ons CNC -sagteware. Ons skuur die rande en skroef dit dan vas met 1 ¼”. Ons het die voorpaneel met 'n skarnier vasgemaak en ¼ skroewe gebruik sodat die skroewe nie na die ander kant toe kan gaan nie. Ons het ook akrielglas gebruik wat ons vir die rakke en voorpaneel gesny het.
Stap 3: Elektronika
Arduino
Ons het 'n Arduino Mega 2560 Board gebruik. Ons het ook Adafruit -motorborde gebruik sodat hulle die stepper -motors kan bestuur. Ons het penne by die adafruit gevoeg sodat hulle met mekaar kon skakel. Hulle is op mekaar geplaas. Elkeen kan 2 motors dryf. Let ook daarop dat die jumper gekoppel moet word.
Desktop kragbron
Bestek ATX -kragtoevoer met behulp van 'n adapter om die kragtoevoer aan te hou. Die adapter is van sparkfun.com en bied verskillende spannings.
Spoel in motors
Ons het soliede modelle gemaak om die motor vas te hou, die spoel te gryp en die spoel langs die rak te lei. Ons het ons spoel van ebay af gekry en in maat gesny. Ons moes ook 3 van hulle buig, aangesien ons nie 6 met die reguit ente gekry het om aan te sluit op die spoelhouer nie. Ons het dit dan in 3D gedruk en aan die spoel en motor vasgemaak. Die stepper motors wat ons gehad het, het ons in 'n houer gesit. Dit hou die motor vas en lei die spoel op 'n reguit pad.
LCD en klavier
Ons gebruik 'n Arduino -bedieningspaneel en 'n LCD -skerm wat gekoppel is aan 'n 5V -aansluiting op die voedingsadapter vir krag en dan in dieselfde Arduino -bord
Bedrading
Ons beveel aan dat u 18 gauge drade gebruik. In ons geval moes ons 'n kompromie aangaan deur verskillende meters te gebruik, want ons het nie meer as 18 meters gehad nie
LED strook
Ons het 'n LED -strook gebruik om die masjien te verlig. Ons het dit gekoppel aan 'n 12V -kabel op die kragadapter. Die LED -strook wat ons gebruik het, het gelukkig 'n + en - op wat die proses om dit aan te sluit makliker gemaak het.
Stap 4: Bill Acceptor
Ons het 'n Coinco BA30B as ons rekeningaannemer gebruik. Dit moes as 'n kragbron direk aan die muur gekoppel word. Ons het dit gekombineer met 'n 24-pins adapter van 'n atx-kragtoevoer om aan te sluit en makliker bedrading moontlik te maak. Die pinouts wat ons gevolg het, word gevind in die volgende skakel:
techvalleyprojects.blogspot.com/2011/07/ard…
In ons geval moes ons 'n houer skep om die rekeningaannemer te verhoog, want anders sou dit te laag wees vir ons omhulsel.
Stap 5: Toets
Toets eers die elektronika buite die omhulsel om te verseker dat die komponente werk. Enige probleme wat opduik, moet opgelos word voordat dit in die omhulsel geplaas word.
Stap 6: Elektronika na omhulsel
Nadat u die elektronika getoets het en tevrede is met die resultate, begin u dit in u omhulsel plaas. Pas die draadlengtes aan sodat hulle gemaklik binne pas.
Stap 7: Finale toetsing
Sodra dit in die omhulsel geplaas is, toets alles weer. As alles werk soos u verwag het, baie geluk! Jy het 'n automaat gemaak.
Stap 8: Arduino -kode + skakels
Aflaaie:
Arduino -kode
drive.google.com/drive/folders/1oC4MhOcMFy…
SolidWorks -gids met onderlêers en samestelling
drive.google.com/drive/folders/1amZoypiWcZ…
As daar iets met die skakel gebeur het, is die arduino -kode volledig vertoon. Arduino -kode <<
#include #include #include "Arduino.h" #include #include #include "nut/Adafruit_MS_PWMServoDriver.h" #include
const int stepsPerRevolution = 200; const byte RYDE = 4; // vier rye const byte COLS = 3; // drie kolomme char sleutels [ROWS] [COLS] = {{'1', '2', '3'}, {'4', '5', '6'}, {'7', '8', '9'}, {'*', '0', '#'}}; byte rowPins [ROWS] = {5, 6, 7, 8}; // maak verbinding met die ry -uitknoppies van die sleutelbord -byte colPins [COLS] = {2, 3, 4}; // maak verbinding met die kolomknoppies van die bedieningspaneel Toetsenbordblok = Toetsenbord (makeKeymap (sleutels), 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); // Digitale penne waarmee die lcd gekoppel is // Konstante // // pen vir die kredietrekening (-) reël const int billValidator = 22;
// Veranderlikes /
/ die opname van die duur van die pols (millisekondes) ongetekende lang duur;
// hou die totale dollar aangeteken in dollarCounter = 0; ongeldige opstelling () {lcd.begin (16, 1); // stel lcd -tekskoördinate lcd.print in ("Voeg slegs $ 1 in"); // Stel teks Serial.begin (9600); // Initialiseer seriële poorte vir kommunikasie. Serial.println ("Stepper toets!"); // Tik die stappertoets in die seriële monitor uit, sodat ons weet watter stappermotor ingedruk word. AFMS1.begin (); AFMS2.begin (); AFMS3.begin (); AFMS4.begin (); myMotor1-> setSpeed (100); // Stel motorsnelheid in waarmee hulle myMotor2-> setSpeed (100) sal laat loop; myMotor3-> setSpeed (100); myMotor4-> setSpeed (100); myMotor5-> setSpeed (100); myMotor6-> setSpeed (100); myMotor7-> setSpeed (100); myMotor8-> setSpeed (100); // Speldopstellings vir rekeningbekragtiger en knoppie pinMode (billValidator, INPUT); // Stel die billaccepter
// Initialiseer seriële poorte vir kommunikasie. Serial.begin (9600); Serial.println ("Wag vir dollar …"); } leemte -lus () {{duration = pulseIn (billValidator, HIGH); // Begin soek na die polslengte wat ontvang word van die rekeningaannemer as (duur> 12000) // Waarde dit moet oortref om as 'n verwerkte en outentieke dollar te valideer {// Count dollar dollarCounter ++; // Kontroleer of Serial.print verstaan word ("Dollar opgespoor. / N Totaal:"); // Vertoon nuwe dollar telling Serial.println (dollarCounter); // lus om te wag totdat 'n knoppie gedruk word terwyl (duur> 12000) {char key = keypad.getKey (); // kry die sleutellading gekoppel en begin om te sien watter een ingedruk word as (sleutel! = NO_KEY) {// op soek is na die toets wat ingedruk word Serial.println (sleutel); // laat ons weet watter een in die seriële monitor gedruk is} {if (sleutel == '1') {// As sleutel 1 ingedruk word, doen die volgende: int keyPressed = sleutel - '1'; myMotor8-> stap (580, VOORUIT, DUBBEL); // Begin motor en draai 350 grade in die voorwaartse rigting. myMotor8-> release (); // Maak die motor los van die toestand waarin hy homself hou. terugkeer; // Gaan terug na die begin van die luskode}
as (sleutel == '2') {// As sleutel 2 ingedruk word, doen die volgende: int keyPressed = sleutel - '2'; myMotor7-> stap (400, VOORUIT, DUBBEL); // Begin motor en draai 350 grade in die voorwaartse rigting. myMotor7-> release (); // Maak die motor los van die toestand waarin hy homself hou. terugkeer; // Gaan terug na die begin van die luskode} as (sleutel == '3') {// As sleutel 3 ingedruk word, doen die volgende: int keyPressed = sleutel - '3'; myMotor6-> stap (400, VOORUIT, DUBBEL); // Begin motor en draai 350 grade in die voorwaartse rigting. myMotor6-> release (); // Maak die motor los van die toestand waarin hy homself hou. terugkeer; // Gaan terug na die begin van die luskode} as (sleutel == '4') {// As sleutel 4 ingedruk word, doen die volgende: int keyPressed = sleutel - '4'; myMotor5-> stap (180, VOORUIT, DUBBEL); // Begin motor en draai 350 grade in die voorwaartse rigting. myMotor5-> release (); // Maak die motor los van die toestand waarin hy homself hou. terugkeer; // Gaan terug na die begin van die luskode} as (sleutel == '5') {// As sleutel 5 ingedruk word, doen die volgende: int keyPressed = sleutel - '5'; myMotor4-> stap (6900, VOORUIT, DUBBEL); // Begin motor en draai 350 grade in die voorwaartse rigting. myMotor4-> release (); // Maak die motor los van die toestand waarin hy homself hou. terugkeer; // Gaan terug na die begin van die luskode} as (sleutel == '6') {// As sleutel 6 gedruk word, doen die volgende: int keyPressed = sleutel - '6'; myMotor3-> stap (400, VOORUIT, DUBBEL); // Begin motor en draai 350 grade in die voorwaartse rigting. myMotor3-> release (); // Maak die motor los van die toestand waarin hy homself hou. terugkeer; // Gaan terug na die begin van die luskode} as (sleutel == '7') {// As sleutel 7 ingedruk word, doen die volgende: int keyPressed = sleutel - '7'; myMotor7-> stap (400, VOORUIT, DUBBEL); // Begin motor en draai 350 grade in die voorwaartse rigting. myMotor7-> release (); // Maak die motor los van die toestand waarin hy homself hou. terugkeer; // Gaan terug na die begin van die luskode} as (sleutel == '8') {// As sleutel 8 ingedruk word, doen die volgende: int keyPressed = sleutel - '8'; myMotor8-> stap (400, VOORUIT, DUBBEL); // Begin motor en draai 350 grade in die voorwaartse rigting. myMotor8-> release (); // Maak die motor los van die toestand waarin hy homself hou. terugkeer; // Gaan terug na die begin van die luskode}}}}}} >>
Aanbeveel:
Arduino Halloween Edition - Zombies pop -out skerm (stappe met foto's): 6 stappe
Arduino Halloween Edition - Zombies pop -out skerm (stappe met foto's): wil u u vriende skrik en 'n skreeu geraas maak tydens Halloween? Of wil u net 'n goeie grap maak? Hierdie pop-up skerm van Zombies kan dit doen! In hierdie instruksies sal ek u leer hoe u maklik Zombies kan spring deur Arduino te gebruik. Die HC-SR0
Arduino Uno visvoerder in 6 goedkoop en maklike stappe !: 6 stappe
Arduino Uno Fish Feeder in 6 goedkoop en maklike stappe !: 'n Bietjie agtergrond kan dus nodig wees vir hierdie projek. Mense met troeteldiervisse het waarskynlik dieselfde probleem as ek gehad: vakansies en vergeetagtigheid. Ek het voortdurend vergeet om my vis te voer, en ek het altyd probeer om dit te doen voordat dit gebeur het
Akoestiese opheffing met Arduino Uno stap-vir-stap (8-stappe): 8 stappe
Akoestiese levitasie met Arduino Uno Stap-vir-stap (8-stappe): ultrasoniese klankomvormers L298N Dc vroulike adapter kragbron met 'n manlike DC-pen Arduino UNOBreadboard Hoe werk dit: Eerstens laai u kode op na Arduino Uno (dit is 'n mikrobeheerder toegerus met digitale en analoog poorte om kode (C ++) om te skakel
Brandalarmstelsel met Arduino [in 'n paar maklike stappe]: 3 stappe
Brandalarmstelsel met Arduino [in 'n paar maklike stappe]: wil u 'n eenvoudige en interessante projek maak met Arduino wat terselfdertyd baie nuttig en moontlik lewensreddend kan wees? Indien wel, het u op die regte plek gekom om te leer iets nuuts en vernuwend. In hierdie pos gaan ons
Goedkoopste Arduino -- Kleinste Arduino -- Arduino Pro Mini -- Programmering -- Arduino Neno: 6 stappe (met foto's)
Goedkoopste Arduino || Kleinste Arduino || Arduino Pro Mini || Programmering || Arduino Neno: …………………………. Teken asseblief in op my YouTube -kanaal vir meer video's ……. .Die projek handel oor hoe om 'n kleinste en goedkoopste arduino ooit te koppel. Die kleinste en goedkoopste arduino is arduino pro mini. Dit is soortgelyk aan arduino