Përmbajtje:
- Hapi 1: Kriteret
- Hapi 2: zorrë
- Hapi 3: Elektronikë
- Hapi 4: Pranuesi i Faturës
- Hapi 5: Testimi
- Hapi 6: Elektronikë në zorrë
- Hapi 7: Testimi përfundimtar
- Hapi 8: Kodi Arduino + Lidhjet
Video: Makinë shitëse me bazë Arduino $ 1: 8 hapa
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:26
Ne e morëm idenë tonë nga mësuesi ynë i inxhinierisë - të gjithë menduam se do të ishte një ide e mirë të kishim një makinë shitëse për klasën tonë dhe ai tha - "ftohtë, bëj një". Doli se një makinë shitëse do të ishte një projekt i madh i lartë dhe kur të përfundonte do të funksiononte si një mbledhës fondesh për programin tonë inxhinierik.
Quhet një makinë shitëse 1 dollarë jo sepse kushton 1 dollarë për t’u prodhuar, por thjesht sepse pranuesi i faturave është një model i vjetër që merr vetëm 1 dollarë:)
Hapi 1: Kriteret
Ne donim një makinë shitëse që do të vendoset mbi një tavolinë dhe nuk do të jetë shumë e gjatë. Ne morëm dimensionet e gjerësisë së tryezës për t'u siguruar që nuk kishim makinën shitëse të varur nga tryeza.
Hapi 2: zorrë
Ne e bëmë kutinë tonë 19 inç të gjerë me 17 inç të gjatë dhe 25 inç të gjatë. Ne përdorëm një makinë CNC për të prerë drurin tonë. Ne përdorëm solidworks për të hartuar fytyrat dhe pastaj i konvertuam ato në vizatim të llojeve të skedarëve për programin tonë CNC. Ne i lëmuam skajet dhe pastaj i vidhëm me 1”. Ne e lidhëm panelin e përparmë me një varen dhe përdorëm vida ¼ “, në mënyrë që vidhat të mos kalojnë në anën tjetër. Ne gjithashtu përdorëm gotë akrilike të cilën e kemi prerë për raftet dhe panelin e përparmë.
Hapi 3: Elektronikë
Arduino
Ne përdorëm një bord Arduino Mega 2560. Ne gjithashtu përdorëm Adafruit Motor Boards në mënyrë që ata të mund të drejtojnë motorët stepper. Ne shtuam kunjat në adafruit në mënyrë që ata të lidheshin me njëri -tjetrin. Ata u futën njëri mbi tjetrin. Secili mund të punojë 2 motorë. Gjithashtu, ju lutemi vini re se kërcyesi duhet të jetë i lidhur.
Furnizimi me energji për desktop
Bestek ATX Furnizimi me energji duke përdorur një përshtatës për të mbajtur të ndezur furnizimin me energji elektrike. Përshtatësi është nga sparkfun.com dhe siguron tensione të ndryshme.
Mbështjell në Motors
Ne bëmë modele solidworks për të mbajtur motorin, për të kapur spiralen dhe për të udhëhequr spiralen përgjatë raftit. Ne kishim arritur mbështjelljet tona nga ebay dhe i kishim prerë në dimension. Ne gjithashtu duhej të përkulnim 3 prej tyre pasi nuk morëm 6 me skajet e drejta për t'u lidhur me montimin e spirales. Më pas i printuam 3D dhe i bashkangjitëm në spirale dhe motor. Motorët stepper që kishim, i vendosëm në një mal. Ai do ta mbante motorin dhe do ta drejtonte spiralen përgjatë një rruge të drejtë.
LCD dhe tastiera
Ne përdorëm një tastierë Arduino dhe një ekran LCD të lidhur në një prizë 5V në përshtatësin e furnizimit me energji elektrike për energji dhe më pas në të njëjtin bord Arduino
Instalime elektrike
Ne rekomandojmë përdorimin e telave me 18 matës. Në rastin tonë, na u desh të bënim kompromis duke përdorur matës të ndryshëm sepse na mbaruan 18 matësa
Rrip LED
Ne përdorëm një shirit LED për të ndezur makinën. Ne e lidhëm atë me një prizë 12V në përshtatësin e furnizimit me energji elektrike. Shiriti LED që përdorëm fatmirësisht kishte një + dhe - në të cilin e bëri procesin e lidhjes më të lehtë.
Hapi 4: Pranuesi i Faturës
Ne përdorëm një Coinco BA30B si pranues të faturave tona. Duhej të lidhej drejtpërdrejt me murin si burim energjie. Ne e kombinuam atë me një përshtatës 24-pin nga një furnizim me energji atx për të lidhur dhe lejuar instalime elektrike më të lehta. Fiksimet që ndoqëm gjenden në lidhjen e mëposhtme:
techvalleyprojects.blogspot.com/2011/07/ard…
Në rastin tonë, na u desh të krijonim një mal për të ngritur pranuesin e faturës, sepse përndryshe do të ishte shumë i ulët për shtresën tonë.
Hapi 5: Testimi
Provoni së pari elektronikën jashtë zorrës për të siguruar që përbërësit të punojnë. Çdo çështje që shfaqet duhet të rregullohet para se t'i vendosni brenda zorrës.
Hapi 6: Elektronikë në zorrë
Pasi të keni testuar pajisjet elektronike dhe të jeni të kënaqur me rezultatet e tyre, filloni t'i vendosni ato në kutinë tuaj. Rregulloni gjatësinë e telit në mënyrë që të përshtaten rehat brenda.
Hapi 7: Testimi përfundimtar
Pasi të vendoseni në zorrë, provoni gjithçka përsëri. Nëse gjithçka funksionon ashtu siç e prisnit, urime! Ju keni bërë një makinë shitëse.
Hapi 8: Kodi Arduino + Lidhjet
Shkarkimet:
Kodi Arduino
drive.google.com/drive/folders/1oC4MhOcMFy…
Dosja SolidWorks me skedarë pjesë dhe montim
drive.google.com/drive/folders/1amZoypiWcZ…
Vetëm në rast se diçka ka ndodhur me lidhjen, këtu është kodi arduino i shfaqur plotësisht. Kodi Arduino <<
#include #include #include "Arduino.h" #include #include #include "utility/Adafruit_MS_PWMServoDriver.h" #include
const int hapaPerRevolution = 200; const byte RRESHA = 4; // katër rreshta const byte COLS = 3; // tre kolona të çelësave të ngarkimit [RRESHTAT] [COLS] = {{'1', '2', '3'}, {'4', '5', '6'}, {'7', '8', '9'}, {'*', '0', '#'}}; byte rowPins [ROWS] = {5, 6, 7, 8}; // lidheni me pinout -et e rreshtit të bajtit të tastierës colPins [COLS] = {2, 3, 4}; // lidheni me shtyllat e kolonave të tastierës Tastiera e tastierës = Tastiera (makeKeymap (çelësat), 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); // Kunjat dixhitalë lcd është e lidhur me // Konstantet // // pin për kreditin e vlerësuesit të faturës (-) linja const int billValidator = 22;
// Variablat /
/ regjistrimi i kohëzgjatjes së pulsit (milisekonda) kohëzgjatje e panënshkruar e gjatë;
// mbajtja e dollarëve të përgjithshëm të regjistruar në dollarCounter = 0; void setup () {lcd.filloj (16, 1); // vendosni koordinatat e tekstit lcd.crint.print ("Fut vetëm $ 1"); // Vendosni tekstin Serial.begin (9600); // Filloni portet serike për komunikim. Serial.println ("Stepper test!"); // Shkruani Testin Stepper në monitorin serik në mënyrë që të dimë se cili motor stepper shtypet. AFMS1.filloj (); AFMS2.filloj (); AFMS3.filloj (); AFMS4.filloj (); myMotor1-> setSpeed (100); // Vendosni shpejtësinë e motorit në të cilën ata do të ekzekutojnë myMotor2-> setSpeed (100); myMotor3-> setSpeed (100); myMotor4-> setSpeed (100); myMotor5-> setSpeed (100); myMotor6-> setSpeed (100); myMotor7-> setSpeed (100); myMotor8-> setSpeed (100); // Konfigurimet e kunjave për vërtetuesin e faturës dhe butonin pinMode (billValidator, INPUT); // Vendos billaccepter
// Fillimi i porteve serike për komunikim. Serial.filloj (9600); Serial.println ("Duke pritur dollarin …"); } void loop () {{duration = pulseIn (billValidator, HIGH); // Fillon të kërkojë gjatësinë e impulsit të marrë nga pranuesi i faturës nëse (kohëzgjatja> 12000) // Vlera e së cilës duhet të tejkalojë në mënyrë që të vërtetohet si një dollar i përpunuar dhe autentik {// Numëroni dollarin e dollaritCounter ++; // Kontrolli për të kuptuar Serial.print ("Dollari u zbulua. / N Gjithsej:"); // Shfaq numrin e ri të dollarëve Serial.println (dollarCounter); // lak për të pritur derisa të shtypet një buton gjatë kohës (kohëzgjatja> 12000) {char key = keypad.getKey (); // lidhet tastiera dhe fillon të shikojë se cila shtypet nëse (çelësi! = NO_KEY) {// do të kërkojë çelësin e shtypur Serial.println (çelës); // na bën të ditur se cili është shtypur në monitorin serik} {nëse (çelësi == '1') {// Nëse shtypet Çelësi 1, bën sa vijon: int keyPressed = kyç - '1'; myMotor8-> hapi (580, PARA, DYFISHT); // Nis motorin dhe rrotullohet për 350 gradë në drejtimin përpara. myMotor8-> release (); // Lëshon motorin nga gjendja e mbajtjes së tij në vend. kthim; // Kthehet në fillim të kodit të lakut}
nëse (çelësi == '2') {// Nëse shtypet Çelësi 2, bën sa vijon: int keyPressed = kyç - '2'; myMotor7-> hapi (400, PARA, DYFISHT); // Nis motorin dhe rrotullohet për 350 gradë në drejtimin përpara. myMotor7-> release (); // Lëshon motorin nga gjendja e mbajtjes së tij në vend. kthim; // Kthehet në fillim të kodit të lakut} nëse (çelësi == '3') {// Nëse shtypet çelësi 3, bën sa vijon: int keyPressed = kyç - '3'; myMotor6-> hapi (400, PARA, DYFISHT); // Nis motorin dhe rrotullohet për 350 gradë në drejtimin përpara. myMotor6-> release (); // Lëshon motorin nga gjendja e mbajtjes së tij në vend. kthim; // Kthehet në fillim të kodit të lakut} nëse (çelësi == '4') {// Nëse shtypet çelësi 4, bën sa vijon: int keyPressed = kyç - '4'; myMotor5-> hapi (180, PARA, DYFISHT); // Nis motorin dhe rrotullohet për 350 gradë në drejtimin përpara. myMotor5-> release (); // Lëshon motorin nga gjendja e mbajtjes së tij në vend. kthim; // Kthehet në fillim të kodit të lakut} nëse (çelësi == '5') {// Nëse shtypet çelësi 5, bën sa vijon: int keyPressed = kyç - '5'; myMotor4-> hap (6900, PARA, DYFISHT); // Nis motorin dhe rrotullohet për 350 gradë në drejtimin përpara. myMotor4-> release (); // Lëshon motorin nga gjendja e mbajtjes së tij në vend. kthim; // Kthehet në fillim të kodit të lakut} nëse (çelësi == '6') {// Nëse shtypet çelësi 6, bën sa vijon: int keyPressed = kyç - '6'; myMotor3-> hapi (400, PARA, DYFISHT); // Nis motorin dhe rrotullohet për 350 gradë në drejtimin përpara. myMotor3-> release (); // Lëshon motorin nga gjendja e mbajtjes së tij në vend. kthim; // Kthehet në fillim të kodit të lakut} nëse (çelësi == '7') {// Nëse shtypet çelësi 7, bën sa vijon: int keyPressed = kyç - '7'; myMotor7-> hapi (400, PARA, DYFISHT); // Nis motorin dhe rrotullohet për 350 gradë në drejtimin përpara. myMotor7-> release (); // Lëshon motorin nga gjendja e mbajtjes së tij në vend. kthim; // Kthehet në fillim të kodit të lakut} nëse (çelësi == '8') {// Nëse shtypet çelësi 8, bën sa vijon: int keyPressed = kyç - '8'; myMotor8-> hapi (400, PARA, DYFISHT); // Nis motorin dhe rrotullohet për 350 gradë në drejtimin përpara. myMotor8-> release (); // Lëshon motorin nga gjendja e mbajtjes së tij në vend. kthim; // Kthehet në fillim të kodit të lakut}}}}}} >>
Recommended:
Makinë shitëse DIY: 8 hapa
Makinë shitëse DIY: Tre vjet më parë, fillova të studioja në një kolegj teknik elektronik. Një nga faktet që më befasoi në atë kohë ishte numri i duhanpirësve sepse gjatë pushimeve, gjysma e nxënësve u larguan nga muret e shkollës për të shkarkuar emocionet e tyre pas
Mini makinë shitëse e kontrolluar nga Arduino: 9 hapa
Mini shitëse Arduino e kontrolluar: Kjo është makina jonë e shitjes, ajo ofron tre bare ëmbëlsirash me madhësi argëtuese. Dimensionet e përgjithshme janë rreth 12 " x 6 " x 8 ". Kjo makinë shitëse kontrollohet nga një arduino, me dërrasë buke dhe një servo motor
Detektor Gënjeshtre+Makinë shitëse: Me Arduino Leonardo: 6 hapa
Makinë shitëse e Gënjeshtrës+Me Arduino Leonardo: Ky detektor Gënjeshtër nuk është detektori juaj mesatar normal i gënjeshtrës, është një detektor gënjeshtre që ka të bashkangjitur një makinë shitëse. Në parim, kjo është mënyra se si funksionon. Në fillim, lojtari do të shtypë një buton që do të ndezë makinën, dhe para gënjeshtrës
Makinë shitëse Servo Arduino: 8 hapa
Makina shitëse Servo Arduino: Kjo makinë shitëse mban tre bare snickers me madhësi argëtuese dhe do të shesë një nga një duke përdorur Arduino Uno dhe një servo motor
Makinë shitëse -- Shpërndarës karamele -- Arduino Bluetooth e kontrolluar -- DIY: 11 hapa (me fotografi)
Makinë shitëse || Shpërndarës karamele || Arduino Bluetooth Controlled || DIY: Në këtë udhëzues unë tregoj se si të ndërtoni një makinë shitëse duke përdorur një Arduino. KOMENTONI ÇFAR MENDONI P THR KIST UDHZUES, P SOR QAT MUND TMP PMPRMIRSOHET N IN UDHZIMET E MIA TUR TJERA Shikoni një video tutorial për një kuptim më të mirë e enti