Mündəricat:
- Addım 1: meyarlar
- Addım 2: Korpus
- Addım 3: Elektronika
- Addım 4: Bill qəbul edən
- Addım 5: Test
- Addım 6: Korpusa elektronika
- Addım 7: Yekun Test
- Addım 8: Arduino Kod + Bağlantılar
Video: 1 dollarlıq Arduino əsaslı avtomat: 8 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:47
Fikrimizi mühəndislik müəllimimizdən aldıq - hamımız sinifimiz üçün bir avtomatın olmasını yaxşı bir fikir hesab etdik və dedi: "sərin, düzəlt". Məlum olub ki, bir avtomat böyük bir böyük layihə olacaq və tamamlandıqda mühəndislik proqramımız üçün pul toplayacaq.
1 dollarlıq alış -veriş maşını adlanır, çünki onun hazırlanması 1 dollara başa gəlir, əksinə, faktura qəbuledicisi yalnız 1 dollarlıq əskinaslar alan daha köhnə bir modeldir:)
Addım 1: meyarlar
Masanın üstünə oturacaq və çox hündür olmayan bir avtomat istədik. Otomatın masadan asılı olmadığından əmin olmaq üçün masanın eninin ölçülərini götürdük.
Addım 2: Korpus
Qutumuzu 19 düym genişliyində 17 düym uzunluğunda 25 düym uzunluğunda etdik. Ağacımızı kəsmək üçün bir CNC Maşını istifadə etdik. Üzləri dizayn etmək üçün möhkəm işlərdən istifadə etdik və sonra onları CNC proqramımız üçün fayl növlərinə çevirdik. Kenarları zımpara etdik və sonra 1 ¼ ilə vidaladıq. Ön paneli bir menteşə ilə bağladıq və vidaların digər tərəfə keçməməsi üçün ¼ vintlər istifadə etdik. Rəflər və ön panel üçün kəsdiyimiz Akril Şüşədən də istifadə etdik.
Addım 3: Elektronika
Arduino
Arduino Mega 2560 lövhəsindən istifadə etdik. Adafruit Motor Lövhələrindən də istifadə edərək step motorlarını işə sala bildik. Adafruitə bir -birinə bağlanması üçün pinlər əlavə etdik. Onları bir -birinin üstünə qoydular. Hər biri 2 mühərriklə işləyə bilər. Ayrıca, tullananların bağlanması lazım olduğunu unutmayın.
Masaüstü Güc Təchizatı
Bestek ATX Enerji təchizatını qorumaq üçün adapterdən istifadə edin. Adapter sparkfun.com saytından və müxtəlif gərginliklər təmin edir.
Mühərriklərə sarılır
Motoru tutmaq, bobini tutmaq və rəf boyunca bobini istiqamətləndirmək üçün solidworks modelləri hazırladıq. Bobinlərimizi ebaydan əldə etmişik və ölçülərə qədər kəsmişdik. Bobin bağlayıcısına qoşulmaq üçün düz ucları ilə 6 əldə etmədiyimiz üçün onlardan 3 -ü əymək məcburiyyətində qaldıq. Daha sonra onları 3D olaraq çap etdik və rulona və motora bağladıq. Sahib olduğumuz pilləli mühərrikləri montaja qoyduq. Motoru tutacaq və bobini düz bir yola yönəldəcək.
LCD və klaviatura
Güc üçün enerji təchizatı adapterinin 5V -luq telinə və sonra eyni Arduino lövhəsinə qoşulmuş bir Arduino Keypad və LCD ekranı istifadə etdik.
Kablolama
18 ölçü telindən istifadə etməyi məsləhət görürük. Bizim vəziyyətimizdə, 18 ölçü cihazımız tükəndiyi üçün müxtəlif ölçü cihazları ilə güzəştə getməli olduq
LED şeridi
Maşını işıqlandırmaq üçün bir LED şeridi istifadə etdik. Güc təchizatı adapterindəki 12V -luq bir kabelə bağladıq. Şükürlər olsun ki, istifadə etdiyimiz LED şeridin + və - işarəsi vardı ki, bu da onu birləşdirmə prosesini asanlaşdırdı.
Addım 4: Bill qəbul edən
Hesab qəbul edən kimi Coinco BA30B istifadə etdik. Güc mənbəyi olaraq birbaşa divara bağlanmalı idi. Atx enerji təchizatından 24 pinli bir adapter ilə birləşdirdik və daha asan bir kabel bağladıq. İzlədiyimiz pinoutlar aşağıdakı linkdədir:
techvalleyprojects.blogspot.com/2011/07/ard…
Bizim vəziyyətimizdə, hesab qəbuledicisini qaldırmaq üçün bir bağ yaratmalı olduq, çünki əks halda bu, korpusumuz üçün çox aşağı olardı.
Addım 5: Test
Komponentlərin işləməsini təmin etmək üçün əvvəlcə elektronikanı korpus xaricində sınayın. Yaranan problemlər korpusun içərisinə yerləşdirilməzdən əvvəl həll edilməlidir.
Addım 6: Korpusa elektronika
Elektronikanı sınadıqdan və nəticələrindən razı qaldıqdan sonra onları korpusunuza yerləşdirməyə başlayın. Tel uzunluqlarını içəriyə rahat oturacaq şəkildə tənzimləyin.
Addım 7: Yekun Test
Qutuya yerləşdirildikdən sonra hər şeyi yenidən sınayın. Hər şey gözlədiyiniz kimi işləyirsə, təbrik edirəm! Bir avtomat düzəltmisiniz.
Addım 8: Arduino Kod + Bağlantılar
Yükləmələr:
Arduino kodu
drive.google.com/drive/folders/1oC4MhOcMFy…
Parça faylları və montajı olan SolidWorks Qovluğu
drive.google.com/drive/folders/1amZoypiWcZ…
Bağlantıda bir şey baş verərsə, burada tam olaraq göstərilən arduino kodu verilmişdir. Arduino kodu <<
#include #include #include "Arduino.h" #include #include #include "Utility/Adafruit_MS_PWMServoDriver.h" #include
const int stepsPerRevolution = 200; const bayt ROWS = 4; // dörd satır const bayt COLS = 3; // üç sütun char düymələri [ROWS] [COLS] = {{'1', '2', '3'}, {'4', '5', '6'}, {'7', '8', '9'}, {'*', '0', '#'}}; bayt rowPins [ROWS] = {5, 6, 7, 8}; // klaviatura baytının colPins [pinləri] satır pinoutlarına qoşulmaq [COLS] = {2, 3, 4}; // klaviatura sütun pinouts qoşulmaq Keypad klaviatura = Keypad (makeKeymap (düymələr), 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 lcd-nin bağlı olduğu // Sabitlər // // faktura təsdiqləyicisinin krediti üçün pin (-) xətti const int billValidator = 22;
// Dəyişənlər /
/ nəbzin (milisaniyə) imzasız uzun müddətinin qeyd edilməsi;
// int dollarCounter = 0 qeyd olunan ümumi dollar tutmaq; void setup () {lcd.begin (16, 1); // lcd mətn koordinatlarını təyin edin lcd.print ("Yalnız $ 1 daxil edin"); // Mətn seçin Serial.begin (9600); // Əlaqə üçün seriyalı portları işə salın. Serial.println ("Stepper test!"); // Seriyalı monitorda Stepper Testini yazın ki, hansı step motorunun basıldığını bilək. AFMS1.begin (); AFMS2.begin (); AFMS3.begin (); AFMS4.begin (); myMotor1-> setSpeed (100); // myMotor2-> setSpeed (100) işlədəcəkləri Motor Sürətini təyin edin; myMotor3-> setSpeed (100); myMotor4-> setSpeed (100); myMotor5-> setSpeed (100); myMotor6-> setSpeed (100); myMotor7-> setSpeed (100); myMotor8-> setSpeed (100); // Bill təsdiqləyicisi və pinMode düyməsi üçün pin qurğuları (billValidator, INPUT); // Billaccepteri təyin edir
// Əlaqə üçün seriyalı portları işə salın. Serial.begin (9600); Serial.println ("Dollar gözləyir …"); } void loop () {{duration = pulseIn (billValidator, HIGH); // Qanun qəbuledicisindən alınan nəbz uzunluğunu axtarmağa başlayır, əgər (müddəti> 12000) // İşlənmiş və orijinal dollar kimi təsdiq etmək üçün dəyərini keçməlidir {// Count dollar dollarCounter ++; // Serial.print ("Dollar aşkarlandı. / N Cəmi:") başa düşülməsi yoxlanılır; // Yeni dollar sayını göstər Serial.println (dollarCounter); // döngə (müddəti> 12000) olarkən bir düyməyə basılana qədər gözləmək üçün {char key = keypad.getKey (); // klaviaturanı əlaqələndirir və (açar! = NO_KEY) {// basılan düyməni axtardığı halda Serial.println (key); // seriyalı monitorda} {if (key == '1') {// düyməsinə basıldığı təqdirdə aşağıdakıları edir: int keyPressed = key - '1'; myMotor8-> addım (580, İLƏ, İKİ); // Motoru işə salır və 350 dərəcə irəli istiqamətdə fırlanır. myMotor8-> buraxın (); // Motoru yerində tutma vəziyyətindən azad edir. qayıtmaq; // Döngə kodunun əvvəlinə qayıdır}
if (key == '2') {// 2 -ci düyməyə basıldıqda aşağıdakıları edir: int keyPressed = key - '2'; myMotor7-> addım (400, İLƏ, ÇİFT); // Motoru işə salır və 350 dərəcə irəli istiqamətdə fırlanır. myMotor7-> buraxın (); // Motoru yerində tutma vəziyyətindən azad edir. qayıtmaq; // döngə kodunun əvvəlinə qayıdır} if (key == '3') {// 3 -cü düyməyə basıldıqda aşağıdakıları edir: int keyPressed = key - '3'; myMotor6-> addım (400, İLƏ, ÇİFT); // Motoru işə salır və irəli istiqamətdə 350 dərəcə fırlanır. myMotor6-> buraxın (); // Motoru yerində tutma vəziyyətindən azad edir. qayıtmaq; // döngə kodunun əvvəlinə qayıdır} if (key == '4') {// 4 düyməsinə basıldıqda, aşağıdakıları yerinə yetirir: int keyPressed = key - '4'; myMotor5-> addım (180, İLƏ, ÇİFT); // Motoru işə salır və irəli istiqamətdə 350 dərəcə fırlanır. myMotor5-> buraxın (); // Motoru yerində tutma vəziyyətindən azad edir. qayıtmaq; // döngə kodunun əvvəlinə qayıdır} if (key == '5') {// 5 düyməsinə basıldıqda aşağıdakıları edir: int keyPressed = key - '5'; myMotor4-> addım (6900, İLƏ, ÇİFT); // Motoru işə salır və 350 dərəcə irəli istiqamətdə fırlanır. myMotor4-> buraxın (); // Motoru yerində tutma vəziyyətindən azad edir. qayıtmaq; // döngə kodunun əvvəlinə qayıdır} if (key == '6') {// 6 düyməsinə basıldıqda aşağıdakıları edir: int keyPressed = key - '6'; myMotor3-> addım (400, İLƏ, ÇİFT); // Motoru işə salır və irəli istiqamətdə 350 dərəcə fırlanır. myMotor3-> buraxın (); // Motoru yerində tutma vəziyyətindən azad edir. qayıtmaq; // döngə kodunun əvvəlinə qayıdır} if (key == '7') {// 7 düyməsinə basıldıqda aşağıdakıları edir: int keyPressed = düyməsi - '7'; myMotor7-> addım (400, İLƏ, ÇİFT); // Motoru işə salır və irəli istiqamətdə 350 dərəcə fırlanır. myMotor7-> buraxın (); // Motoru yerində tutma vəziyyətindən azad edir. qayıtmaq; // döngə kodunun əvvəlinə qayıdır} if (key == '8') {// 8 düyməsinə basıldıqda aşağıdakıları edir: int keyPressed = düyməsi - '8'; myMotor8-> addım (400, İLƏ, İKİ); // Motoru işə salır və 350 dərəcə irəli istiqamətdə fırlanır. myMotor8-> buraxın (); // Motoru yerində tutma vəziyyətindən azad edir. qayıtmaq; // Döngə kodunun əvvəlinə qayıdır}}}}}} >>
Tövsiyə:
Arduino əsaslı təmassız infraqırmızı termometr - Arduino İstifadə edən İQ Əsaslı Termometr: 4 Addım
Arduino əsaslı təmassız infraqırmızı termometr | Arduino İstifadə edən İK Əsaslı Termometr: Salam uşaqlar bu təlimatlarda arduino istifadə edərək təmasda olmayan bir Termometr hazırlayacağıq. Bəzən mayenin/bərkin temperaturu çox yüksək və ya aşağıya enir, sonra onunla əlaqə qurmaq və oxumaq çətindir. o səhnədə temperatur
Yalan Dedektoru+avtomat: Arduino Leonardo ilə: 6 addım
Yalan Dedektoru+satış maşını: Arduino Leonardo ilə: Bu yalan detektoru normal ortalama yalan detektoru deyil, ona bağlı bir avtomatı olan yalan detektoru. Əsasən, belə işləyir. Başlanğıcda, oyunçu maşını işə salacaq bir düyməyə basacaq və yalandan əvvəl
Hava əsaslı musiqi generatoru (ESP8266 əsaslı Midi Generator): 4 addım (şəkillərlə)
Hava əsaslı musiqi generatoru (ESP8266 əsaslı Midi Generator): Salam, bu gün öz kiçik hava əsaslı musiqi generatorunuzu necə düzəltəcəyinizi izah edəcəyəm, bir növ Arduino kimi bir ESP8266 -ya əsaslanır və temperatur, yağışa cavab verir. və bütün mahnıların və ya akkordların proqramlaşdırılmasını gözləməyin
Aerobik Arduino - Arduino tərəfindən 15 dollarlıq Fitness Tracker Gücü: 9 Addım (Şəkillərlə birlikdə)
Aerobik Arduino - bir Arduino tərəfindən 15 dollarlıq Fitness Tracker Gücü: Buna Fitbit və ya ağıllı saat əvəzinə fitnes meydançasında səs verin, Arduino ilə işləyən fitness izləyicisini cəmi 15 dollara qura bilərsiniz! Qaçarkən qollarınızın nasos hərəkətini izləyir və bunu müəyyən etmək üçün bir akselerometrdən istifadə edir. Bu
IoT əsaslı 20 dollarlıq ağıllı ev və Amazon Alexa: 5 addım
IoT -ə əsaslanan 20 $ Smart Home Vs Amazon Alexa: Hamıya Salam Ümid edirəm ki, bu layihə aşağı qiymət nöqteyi -nəzərindən avtomatlaşdırma sahəsində böyük bir inqilab gətirəcək. lövhəyə. Bu layihə e