Obsah:
- Krok 1: Kritéria
- Krok 2: Pouzdro
- Krok 3: Elektronika
- Krok 4: Účtovník
- Krok 5: Testování
- Krok 6: Elektronika k pouzdru
- Krok 7: Závěrečné testování
- Krok 8: Arduino Code + Links
Video: 1 $ automat na Arduino: 8 kroků
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:23
Náš nápad jsme dostali od našeho učitele strojírenství - všichni jsme si mysleli, že by bylo dobré mít automat pro naši třídu a on řekl - „cool, make one“. Ukázalo se, že automat by byl skvělý seniorský projekt a po dokončení by fungoval jako finanční sbírka pro náš inženýrský program.
Říká se tomu automat na 1 $ ne proto, že by jeho výroba stála 1 $, ale jednoduše proto, že akceptor účtů je starší model, který bere jen 1 $ účty:)
Krok 1: Kritéria
Chtěli jsme automat, který by se vešel na stůl a nebyl příliš vysoký. Vzali jsme rozměry šířky stolu, abychom se ujistili, že nemáme automat visící ze stolu.
Krok 2: Pouzdro
Náš box jsme vyrobili 19 palců široký, 17 palců dlouhý a 25 palců vysoký. Na řezání dřeva jsme použili CNC stroj. K návrhu ploch jsme použili Solidworks a poté je převedli na typy výkresových souborů pro náš software CNC. Okraje jsme obrousili a poté zašroubovali 1 ¼”. Přední panel jsme připevnili závěsem a použili ¼ “šrouby, aby šrouby neprošly na druhou stranu. Použili jsme také akrylové sklo, které jsme nařezali na police a přední panel.
Krok 3: Elektronika
Arduino
Použili jsme desku Arduino Mega 2560. Použili jsme také motorové desky Adafruit, aby mohly pohánět krokové motory. Přidali jsme kolíky do adafruitů, aby se mohly navzájem spojit. Vložili je na sebe. Každý může pohánět 2 motory. Pamatujte také, že propojku je třeba připojit.
Stolní napájecí zdroj
Bestek ATX Napájení pomocí adaptéru, který udržuje napájení zapnuté. Adaptér je z sparkfun.com a poskytuje různá napětí.
Cívky do motorů
Vyrobili jsme modely Solidworks, které drží motor, cívku vedou a vedou cívku podél police. Naše cívky jsme získali z ebay a rozřezali je na rozměr. Také jsme museli ohnout 3 z nich, protože jsme nedostali 6 s rovnými konci pro připojení k držáku cívky. Poté jsme je 3D vytiskli a připevnili k cívce a motoru. Krokové motory, které jsme měli, jsme vložili do držáku. Držel by motor a vedl cívku po přímé dráze.
LCD a klávesnice
K napájení jsme použili klávesnici Arduino a LCD obrazovku připojenou k 5V kabelu na napájecím adaptéru a poté do stejné desky Arduino
Elektrické vedení
Doporučujeme použít dráty o průměru 18. V našem případě jsme museli dělat kompromisy pomocí různých měřidel, protože nám došlo 18 měřidel
LED pásek
K rozsvícení stroje jsme použili LED pásek. Připojili jsme jej k 12V vodiči na napájecím adaptéru. LED pás, který jsme naštěstí použili, měl na sobě + a -, což usnadnilo proces jeho připojení.
Krok 4: Účtovník
Jako přijímač účtů jsme použili Coinco BA30B. Muselo být připojeno přímo ke zdi jako zdroj energie. Zkombinovali jsme to s 24kolíkovým adaptérem z atx napájecího zdroje, abychom jej zapojili a umožnili snadnější zapojení. Pinouty, které jsme sledovali, najdete v následujícím odkazu:
techvalleyprojects.blogspot.com/2011/07/ard…
V našem případě jsme museli vytvořit držák pro zvýšení akceptoru účtů, protože jinak by byl pro náš plášť příliš nízký.
Krok 5: Testování
Nejprve vyzkoušejte elektroniku mimo skříň, abyste se ujistili, že součásti fungují. Jakékoli problémy, které nastanou, by měly být vyřešeny před jejich umístěním do pouzdra.
Krok 6: Elektronika k pouzdru
Jakmile elektroniku otestujete a budete s jejími výsledky spokojeni, začněte je vkládat do pouzdra. Upravte délku drátu tak, aby se pohodlně vešla dovnitř.
Krok 7: Závěrečné testování
Po vložení do pouzdra vše znovu otestujte. Pokud vše funguje tak, jak jste očekávali, gratulujeme! Vyrobil jsi automat.
Krok 8: Arduino Code + Links
Soubory ke stažení:
Arduino kód
drive.google.com/drive/folders/1oC4MhOcMFy…
Složka SolidWorks se soubory součástí a sestavou
drive.google.com/drive/folders/1amZoypiWcZ…
Jen v případě, že se s odkazem něco stalo, zde je plně zobrazen arduino kód. Arduino Code <<
#include #include #include "Arduino.h" #include #include #include "utility/Adafruit_MS_PWMServoDriver.h" #include
const int stepsPerRevolution = 200; konstantní bajty Řádky = 4; // čtyři řádky konstantní byte COLS = 3; // tři sloupce znaky klíče [ŘADY] [COLS] = {{'1', '2', '3'}, {'4', '5', '6'}, {'7', '8', '9'}, {'*', '0', '#'}}; byte rowPins [ROWS] = {5, 6, 7, 8}; // připojení k řádkovým vývodům bajtu klávesnice colPins [COLS] = {2, 3, 4}; // připojení ke sloupcům pinů klávesnice Klávesnice klávesnice = Klávesnice (makeKeymap (klávesy), 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ální piny, na které je LCD připojen // Konstanty // // pin pro řádek kreditu ověřovatele účtů (-) řádek const int billValidator = 22;
// Proměnné /
/ záznam doby trvání pulsu (milisekundy) bez znaménka;
// držení celkových zaznamenaných dolarů int dollarCounter = 0; neplatné nastavení () {lcd.begin (16, 1); // nastavení souřadnic textu lcd lcd.print ("Insert $ 1 Only"); // Nastavit text Serial.begin (9600); // Inicializace sériových portů pro komunikaci. Serial.println („Krokový test!“); // Napište krokový test do sériového monitoru, abychom věděli, který krokový motor je stlačen. AFMS1.begin (); AFMS2.begin (); AFMS3.begin (); AFMS4.begin (); myMotor1-> setSpeed (100); // Nastavte rychlost motoru, při které poběží myMotor2-> setSpeed (100); myMotor3-> setSpeed (100); myMotor4-> setSpeed (100); myMotor5-> setSpeed (100); myMotor6-> setSpeed (100); myMotor7-> setSpeed (100); myMotor8-> setSpeed (100); // Nastavení pinů pro validátor účtů a tlačítko pinMode (billValidator, INPUT); // Nastaví billaccepter
// Inicializace sériových portů pro komunikaci. Serial.begin (9600); Serial.println ("Čekání na dolar …"); } void loop () {{duration = pulseIn (billValidator, HIGH); // Začne hledat délku pulsu získanou od akceptora směnky if (doba trvání> 12000) // Hodnota, kterou musí překonat, aby se mohla validovat jako zpracovaný a autentický dolar {// Count dollar dollarCounter ++; // Kontrola porozumění Serial.print ("Dolar detekován. / N Celkem:"); // Zobrazení nového počtu dolarů Serial.println (dollarCounter); // smyčka, aby se čekalo na stisknutí tlačítka (doba trvání> 12 000) {char key = keypad.getKey (); // připojí klávesnici a začne sledovat, která je stisknuta, pokud (klávesa! = NO_KEY) {// bude hledat stisknutou klávesu Serial.println (klíč); // sděluje nám, který z nich byl stisknut na sériovém monitoru} {if (key == '1') {// Pokud je stisknut Key 1, provede následující: int keyPressed = key - '1'; myMotor8-> krok (580, PŘED, DVOJNÁSOBEK); // Spouští motor a otáčí se o 350 stupňů dopředu. myMotor8-> release (); // Uvolní motor ze stavu, kdy se drží na místě. vrátit se; // Vrátí se na začátek kódu smyčky}
if (key == '2') {// Pokud je stisknuta klávesa 2, provede následující: int keyPressed = key - '2'; myMotor7-> krok (400, PŘED, DVOJNÁSOBEK); // Spouští motor a otáčí se o 350 stupňů dopředu. myMotor7-> release (); // Uvolní motor ze stavu, kdy se drží na místě. vrátit se; // Vrátí se na začátek kódu smyčky} if (key == '3') {// Pokud je stisknuta klávesa 3, provede následující: int keyPressed = key - '3'; myMotor6-> krok (400, PŘED, DVOJNÁSOBEK); // Spouští motor a otáčí se o 350 stupňů dopředu. myMotor6-> release (); // Uvolní motor ze stavu, kdy se drží na místě. vrátit se; // Vrátí se na začátek kódu smyčky} if (key == '4') {// Pokud je stisknuta klávesa 4, provede následující: int keyPressed = key - '4'; myMotor5-> krok (180, PŘED, DVOJNÁSOBEK); // Spouští motor a otáčí se o 350 stupňů dopředu. myMotor5-> release (); // Uvolní motor ze stavu, kdy se drží na místě. vrátit se; // Přejde zpět na začátek kódu smyčky} if (key == '5') {// Pokud je stisknuta klávesa 5, provede následující: int keyPressed = key - '5'; myMotor4-> krok (6900, PŘED, DVOJNÁSOBEK); // Spouští motor a otáčí se o 350 stupňů dopředu. myMotor4-> release (); // Uvolní motor ze stavu, kdy se drží na místě. vrátit se; // Vrátí se na začátek kódu smyčky} if (key == '6') {// Pokud je stisknuta klávesa 6, provede následující: int keyPressed = key - '6'; myMotor3-> krok (400, PŘED, DVOJNÁSOBEK); // Spouští motor a otáčí se o 350 stupňů dopředu. myMotor3-> release (); // Uvolní motor ze stavu, kdy se drží na místě. vrátit se; // Vrátí se na začátek kódu smyčky} if (key == '7') {// Pokud je stisknuta klávesa 7, provede následující: int keyPressed = key - '7'; myMotor7-> krok (400, VPŘED, DVOJNÁSOBEK); // Spouští motor a otáčí se o 350 stupňů dopředu. myMotor7-> release (); // Uvolní motor ze stavu, kdy se drží na místě. vrátit se; // Vrátí se na začátek kódu smyčky} if (key == '8') {// Pokud je stisknuto tlačítko 8, provede následující: int keyPressed = key - '8'; myMotor8-> krok (400, PŘED, DVOJNÁSOBEK); // Spouští motor a otáčí se o 350 stupňů dopředu. myMotor8-> release (); // Uvolní motor ze stavu, kdy se drží na místě. vrátit se; // Vrátí se na začátek kódu smyčky}}}}}} >>
Doporučuje:
Hands-free kartonový gumový automat: 18 kroků (s obrázky)
Hands-free kartonový Gumball Machine: Vyrobili jsme Gumball Machine bez dotyku pomocí micro: bit, Crazy Circuits Bit Board, senzoru vzdálenosti, serva a lepenky. Vyrobit a používat to bylo " BLAST "! ? ? Když položíte ruku na základnu rakety, senzor vzdálenosti
Bicí automat Raspberry Pi: 5 kroků
Raspberry Pi Drum Machine: Sample Sequencer, přes Raspberry Pi + Python. Sekvencer má 4 polyfonie a umožňuje uživateli uložit a naladit až 6 různých sekvencí, mezi nimiž může střídat v reálném čase, a podporuje schopnost přepínat mezi různými vzorky. . Já
Detektor lži+automat: S Arduino Leonardo: 6 kroků
Detektor lži+automat: S Arduino Leonardo: Tento detektor lži není váš běžný průměrný detektor lži, je to detektor lži, ke kterému je připojen automat. V zásadě to tak funguje. Na začátku hráč stiskne tlačítko, které spustí stroj, a před ležením
Servo Arduino automat: 8 kroků
Servo Arduino automat: Tento automat pojme tři zábavné snickers bary a bude prodávat jeden po druhém pomocí Arduino Uno a servomotoru
Prodejní automat -- Zásobník na cukrovinky -- Ovládání Bluetooth Arduino -- DIY: 11 kroků (s obrázky)
Prodejní automat || Zásobník na cukrovinky || Arduino Bluetooth Controlled || DIY: V tomto návodu ukážu, jak postavit automat pomocí Arduina. KOMENTUJTE, CO SI O TOMTO NÁVODU MYSLÍTE, TAKŽE SI MŮŽU VYLEPŠIT V DALŠÍM NÁVODU Pro lepší porozumění se podívejte na video tutoriál celého