Sisällysluettelo:
- Vaihe 1: Kriteerit
- Vaihe 2: Kotelo
- Vaihe 3: Elektroniikka
- Vaihe 4: Laskun hyväksyjä
- Vaihe 5: Testaus
- Vaihe 6: Elektroniikka koteloon
- Vaihe 7: Lopullinen testaus
- Vaihe 8: Arduino -koodi + linkit
Video: $ 1 Arduino-pohjainen myyntiautomaatti: 8 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:03
Saimme ideamme insinööriopettajalta - me kaikki ajattelimme, että meidän olisi hyvä olla automaatti luokallemme, ja hän sanoi - "cool, tee yksi". Kävi ilmi, että myyntiautomaatti olisi loistava vanhempi projekti ja kun se olisi valmis, se toimisi varainkeruuna suunnitteluohjelmamme.
Sitä kutsutaan 1 dollarin myyntiautomaateiksi ei siksi, että sen tekeminen maksaa 1 dollari, vaan yksinkertaisesti siksi, että laskujen hyväksyjä on vanhempi malli, joka kestää vain 1 dollarin setelit:)
Vaihe 1: Kriteerit
Halusimme myyntiautomaatin, joka mahtuisi pöydän päälle eikä olisi liian pitkä. Otimme pöydän leveyden mitat varmistaaksemme, ettei myyntiautomaatti roikkunut pöydässä.
Vaihe 2: Kotelo
Teimme laatikkomme 19 tuumaa leveäksi 17 tuumaa pitkäksi ja 25 tuumaa pitkäksi. Leikkasimme puumme CNC -koneella. Suunnittelimme kasvot solidworksin avulla ja muutimme ne sitten piirtotiedostotyypeiksi CNC -ohjelmistollemme. Hioimme reunat ja ruuvasimme ne sitten 1 ¼”. Kiinnitimme etupaneelin saranalla ja käytimme ¼ “-ruuveja, jotta ruuvit eivät menisi toiselle puolelle. Käytimme myös akryylilasia, jonka leikkasimme hyllyille ja etupaneelille.
Vaihe 3: Elektroniikka
Arduino
Käytimme Arduino Mega 2560 -levyä. Käytimme myös Adafruit -moottorilevyjä, jotta ne voivat käyttää askelmoottoreita. Lisäsimme nastat adafruitiin, jotta ne voivat muodostaa yhteyden toisiinsa. Ne asetettiin päällekkäin. Jokainen voi käyttää 2 moottoria. Huomaa myös, että hyppyjohdin on kytkettävä.
Työpöydän virtalähde
Bestek ATX Virtalähde sovittimen avulla pitää virran päällä. Sovitin on osoitteesta sparkfun.com ja tarjoaa erilaisia jännitteitä.
Kääntyy Motorsiin
Teimme solidworks -malleja pitämään moottoria, tarttumaan kelaan ja ohjaamaan kelaa hyllyä pitkin. Olimme saavuttaneet kelat ebaysta ja leikkasimme ne mitoiksi. Jouduimme myös taivuttamaan kolmea niistä, koska emme saaneet kuutta suoraa päätä yhdistämään kelakiinnikkeeseen. Sitten tulostimme ne 3D: llä ja kiinnitimme ne kelaan ja moottoriin. Askelmoottorit, jotka meillä oli, laitoimme telineeseen. Se pitelee moottoria ja ohjaa kelaa suoraa polkua pitkin.
LCD ja näppäimistö
Käytimme Arduino -näppäimistöä ja LCD -näyttöä, joka oli kytketty virtalähteen sovittimen 5 V: n johtoon ja sitten samaan Arduino -korttiin
Johdotus
Suosittelemme käyttämään 18 mittajohtoa. Meidän tapauksessamme jouduimme tekemään kompromisseja käyttämällä erilaisia mittareita, koska 18 mittaria loppui
LED-nauha
Käytimme LED -nauhaa koneen sytyttämiseen. Yhdistimme sen 12 V: n johtoon virtalähteen sovittimessa. Käyttämässämme LED -nauhassa oli onneksi + ja -, mikä helpotti liittämistä.
Vaihe 4: Laskun hyväksyjä
Käytimme Coinco BA30B: tä laskun hyväksyjänä. Se piti kytkeä suoraan seinään virtalähteenä. Yhdistimme sen 24-nastaiseen sovittimeen, joka on peräisin atx-virtalähteestä, jotta se voidaan kytkeä ja helpottaa johdotusta. Seuraamamme pinoutit löytyvät seuraavasta linkistä:
techvalleyprojects.blogspot.com/2011/07/ard…
Meidän tapauksessamme meidän oli luotava kiinnike nostaaksesi laskun hyväksyjää, koska muuten se olisi liian matala kotelollemme.
Vaihe 5: Testaus
Testaa ensin kotelon ulkopuolella oleva elektroniikka varmistaaksesi, että komponentit toimivat. Mahdolliset ongelmat tulee korjata ennen niiden asettamista kotelon sisään.
Vaihe 6: Elektroniikka koteloon
Kun olet testannut elektroniikan ja olet tyytyväinen niiden tuloksiin, aloita niiden sijoittaminen koteloon. Säädä lankojen pituudet siten, että ne sopivat mukavasti sisälle.
Vaihe 7: Lopullinen testaus
Kun olet asettanut koteloon, testaa kaikki uudelleen. Jos kaikki toimii odotetulla tavalla, onnittelut! Teit myyntiautomaatin.
Vaihe 8: Arduino -koodi + linkit
Lataukset:
Arduino -koodi
drive.google.com/drive/folders/1oC4MhOcMFy…
SolidWorks -kansio osatiedostoineen ja kokoonpanolla
drive.google.com/drive/folders/1amZoypiWcZ…
Jos linkille on tapahtunut jotain, tässä on arduino -koodi kokonaan näkyvissä. Arduino -koodi <<
#include #include #include "Arduino.h" #include #include #include "-apuohjelma/Adafruit_MS_PWMServoDriver.h" #include
const int stepsPerRevolution = 200; const tavu RIVIT = 4; // neljä riviä const tavu COLS = 3; // kolmen sarakkeen char -näppäimet [RIVIT] [COLS] = {{'1', '2', '3'}, {'4', '5', '6'}, {'7', '8', '9'}, {'*', '0', '#'}}; tavu rowPins [ROWS] = {5, 6, 7, 8}; // muodostaa yhteys näppäimistön rivipistoihin tavu colPins [COLS] = {2, 3, 4}; // muodostaa yhteys näppäimistön sarakkeisiin Näppäimistön näppäimistö = Näppäimistö (makeKeymap (näppäimet), 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); // Digitaaliset nastat, joihin lcd on liitetty // Vakiot // // nasta laskuvahvistimen luottoa varten (-) riville const int billValidator = 22;
// Muuttujat /
/ tallennetaan pulssin kesto (millisekuntia) allekirjoittamaton pitkä kesto;
// pitämällä kirjattuna yhteensä dollareita int dollarCounter = 0; void setup () {lcd.begin (16, 1); // aseta lcd -tekstikoordinaatit lcd.print ("Lisää vain $ 1"); // Aseta teksti Serial.begin (9600); // Alusta sarjaportit tiedonsiirtoa varten. Serial.println ("Stepper -testi!"); // Kirjoita sarjamonitoriin Stepper Test, jotta tiedämme, mitä askelmoottoria painetaan. AFMS1.begin (); AFMS2.begin (); AFMS3.begin (); AFMS4.begin (); myMotor1-> setSpeed (100); // Aseta moottorin nopeus, jolla he käyttävät myMotor2-> setSpeed (100); myMotor3-> setSpeed (100); myMotor4-> setSpeed (100); myMotor5-> setSpeed (100); myMotor6-> setSpeed (100); myMotor7-> setSpeed (100); myMotor8-> setSpeed (100); // Laskun vahvistajan ja pinMode -painikkeen asetukset (billValidator, INPUT); // Asettaa laskurin
// Alusta sarjaportit tiedonsiirtoa varten. Sarja.alku (9600); Serial.println ("Odotetaan dollaria …"); } void loop () {{duration = pulseIn (billValidator, HIGH); // alkaa etsiä laskun vastaanottajalta vastaanotettua pulssin pituutta, jos (kesto> 12000) // Arvo, jonka sen on ylitettävä, jotta se voidaan validoida käsitellyksi ja aidoksi dollariksi {// Count dollar dollarCounter ++; // Tarkistetaan ymmärrystä Serial.print ("Dollari havaittu. / N Yhteensä:"); // Näytä uuden dollarin määrä Serial.println (dollarCounter); // silmukka odottamaan, kunnes painiketta painetaan (kesto> 12000) {char key = keypad.getKey (); // kytkee avaimen kuorman ja alkaa nähdä, mitä painetaan, jos (avain! = NO_KEY) {// etsii näppäintä painettuna Serial.println (avain); // kertoo meille, mitä sarjamonitorissa painettiin} {if (key == '1') {// Jos näppäintä 1 painetaan, toimi seuraavasti: int keyPressed = key - '1'; myMotor8-> askel (580, ETEEN, KAKSOIS); // Käynnistää moottorin ja pyörii 350 astetta eteenpäin. myMotor8-> release (); // Vapauttaa moottorin tilasta, jossa se pysyy paikallaan. palata; // Palaa silmukakoodin alkuun}
if (key == '2') {// Jos näppäintä 2 painetaan, toimi seuraavasti: int keyPressed = key - '2'; myMotor7-> askel (400, ETEEN, KAKSOIS); // Käynnistää moottorin ja pyörii 350 astetta eteenpäin. myMotor7-> release (); // Vapauttaa moottorin tilasta, jossa se pysyy paikallaan. palata; // Palaa silmukakoodin alkuun}, jos (näppäin == '3') {// Jos näppäintä 3 painetaan, toimi seuraavasti: int keyPressed = key - '3'; myMotor6-> askel (400, ETEEN, KAKSOIS); // Käynnistää moottorin ja pyörii 350 astetta eteenpäin. myMotor6-> release (); // Vapauttaa moottorin tilasta, jossa se pysyy paikallaan. palata; // Palaa silmukakoodin alkuun}, jos (näppäin == '4') {// Jos näppäintä 4 painetaan, se tekee seuraavan: int keyPressed = key - '4'; myMotor5-> askel (180, ETEEN, KAKSOIS); // Käynnistää moottorin ja pyörii 350 astetta eteenpäin. myMotor5-> release (); // Vapauttaa moottorin tilasta, jossa se pysyy paikallaan. palata; // Palaa silmukakoodin alkuun}, jos (näppäin == '5') {// Jos näppäintä 5 painetaan, toimi seuraavasti: int keyPressed = key - '5'; myMotor4-> askel (6900, ETEEN, KAKSOIS); // Käynnistää moottorin ja pyörii 350 astetta eteenpäin. myMotor4-> release (); // Vapauttaa moottorin tilasta, jossa se pysyy paikallaan. palata; // Palaa silmukakoodin alkuun}, jos (avain == '6') {// Jos näppäintä 6 painetaan, se tekee seuraavan: int keyPressed = key - '6'; myMotor3-> askel (400, ETEEN, KAKSOIS); // Käynnistää moottorin ja pyörii 350 astetta eteenpäin. myMotor3-> release (); // Vapauttaa moottorin tilasta, jossa se pysyy paikallaan. palata; // Siirtyy takaisin silmukakoodin alkuun}, jos (näppäin == '7') {// Jos näppäintä 7 painetaan, toimi seuraavasti: int keyPressed = key - '7'; myMotor7-> askel (400, ETEEN, KAKSOIS); // Käynnistää moottorin ja pyörii 350 astetta eteenpäin. myMotor7-> release (); // Vapauttaa moottorin tilasta, jossa se pysyy paikallaan. palata; // Palaa silmukakoodin alkuun}, jos (näppäin == '8') {// Jos näppäintä 8 painetaan, toimi seuraavasti: int keyPressed = key - '8'; myMotor8-> askel (400, ETEEN, KAKSOIS); // Käynnistää moottorin ja pyörii 350 astetta eteenpäin. myMotor8-> release (); // Vapauttaa moottorin tilasta, jossa se pysyy paikallaan. palata; // Palaa silmukakoodin alkuun}}}}}} >>
Suositeltava:
DIY -myyntiautomaatti: 8 vaihetta
DIY -myyntiautomaatti: Kolme vuotta sitten aloin opiskella sähköisessä teknisessä korkeakoulussa. Yksi tosiasioista, joka yllätti minut tuolloin, oli tupakoitsijoiden määrä, koska taukojen aikana puolet oppilaista jätti koulun seinät purkamaan tunteensa
Myyntiautomaatti vaa'alla, joka vahvistaa tuotteen pudotuksen (Raspberry Pi): 5 vaihetta
Myyntiautomaatti asteikolla vahvistettavaksi Tehtävämme oli luoda uudelleenkäytettävä laite, joka käytti vähintään 3 anturia ja 1 toimilaitetta. Menin tekemään myyntiautomaatin osittain siksi, että minulla oli pääsy joihinkin
Asunnoton myyntiautomaatti: 3 vaihetta
Kodittomat myyntiautomaatit: Yritän estää nälkää yhteisössämme. Oklahomassa on noin 3 000+ asunnottomuutta kärsivää ihmistä. Valitsimme ratkaisun tähän ongelmaan parantaaksemme ja kasvattaaksemme koko yhteisöämme. Suuri joukko ihmisiä
Valheenilmaisin+myyntiautomaatti: Arduino Leonardon kanssa: 6 vaihetta
Valheenilmaisin+myyntiautomaatti: Arduino Leonardon kanssa: Tämä valheenilmaisin ei ole tavallinen keskimääräinen valheenilmaisin, vaan valheanturi, johon on liitetty myyntiautomaatti. Periaatteessa näin se toimii. Alussa pelaaja painaa painiketta, joka käynnistää koneen, ja ennen valehtelua
Myyntiautomaatti -- karkkiautomaatti -- Arduino Bluetooth -ohjattu -- DIY: 11 vaihetta (kuvilla)
Myyntiautomaatti || karkkiautomaatti || Arduino Bluetooth -ohjattu || DIY: Tässä ohjeessa näytän, miten voit rakentaa myyntiautomaatin Arduinoa käyttämällä. KOMMENToi, mitä ajattelet tästä ohjeesta, jotta voin parantaa muita ohjeitani. Katso video -opetusohjelma ymmärtääksesi paremmin kokonaisuudesta