İçindekiler:
- 1. Adım: Kriterler
- 2. Adım: Muhafaza
- Adım 3: Elektronik
- 4. Adım: Fatura Alıcısı
- Adım 5: Test Etme
- Adım 6: Elektronikten Muhafazaya
- 7. Adım: Son Test
- Adım 8: Arduino Kodu + Bağlantılar
Video: $1 Arduino Tabanlı Otomat: 8 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:20
Fikrimizi mühendislik öğretmenimizden aldık - hepimiz sınıfımız için bir otomat olmasının iyi bir fikir olacağını düşündük ve o "harika, bir tane yap" dedi. Bir otomat makinesinin büyük bir kıdemli proje olacağı ve tamamlandığında mühendislik programımız için bir bağış toplama işlevi göreceği ortaya çıktı.
Buna 1$ Otomat denmesinin nedeni 1$'a mal olması değil, sadece fatura alıcısının sadece 1$ fatura alan eski bir model olması:)
1. Adım: Kriterler
Masanın üstüne sığacak ve çok uzun olmayacak bir otomat istedik. Otomatın masadan sarkmadığından emin olmak için masanın genişliğinin boyutlarını aldık.
2. Adım: Muhafaza
Kutumuzu 19 inç genişliğinde 17 inç uzunluğunda ve 25 inç boyunda yaptık. Ahşabı kesmek için bir CNC Makinesi kullandık. Yüzleri tasarlamak için solidworks kullandık ve ardından bunları CNC yazılımımız için çizim dosyası türlerine dönüştürdük. Kenarları zımparaladık ve ardından 1 ¼” ile vidaladık. Ön paneli menteşe ile tutturduk ve ¼” vida kullandık ki vidalar diğer tarafa geçmesin. Raflar ve ön panel için de kestiğimiz Akrilik Cam kullandık.
Adım 3: Elektronik
Arduino
Arduino Mega 2560 Board kullandık. Step motorları çalıştırabilmeleri için Adafruit Motor Kartları da kullandık. Adafruit'lerin birbirine bağlanması için pin ekledik. Bunları üst üste yerleştirdiler. Her biri 2 motor çalıştırabilir. Ayrıca, jumper'ın bağlanması gerektiğini lütfen unutmayın.
Masaüstü Güç Kaynağı
Güç kaynağını açık tutmak için bir adaptör kullanarak Bestek ATX Güç kaynağı. Adaptör sparkfun.com'dan alınmıştır ve çeşitli voltajlar sağlar.
Motorlara Bobinler
Motoru tutmak, bobini tutmak ve bobini raf boyunca yönlendirmek için solidworks modelleri yaptık. Bobinlerimizi ebay'den aldık ve boyutlarına göre kestik. Bobin yuvasına bağlamak için düz uçlu 6 tane alamadığımız için 3 tanesini de bükmek zorunda kaldık. Daha sonra bunları 3D olarak yazdırdık ve bobine ve motora bağladık. Sahip olduğumuz step motorları bir yuvaya yerleştirdik. Motoru tutar ve bobini düz bir yol boyunca yönlendirir.
LCD ve Tuş Takımı
Güç için güç kaynağı adaptöründeki 5V'luk bir kabloya bağlı bir Arduino Tuş Takımı ve LCD ekran kullandık ve ardından aynı Arduino Kartına
kablolama
18 gauge tel kullanılmasını öneririz. Bizim durumumuzda, 18 göstergemiz bittiği için çeşitli göstergeler kullanarak uzlaşmak zorunda kaldık.
LED şerit
Makineyi aydınlatmak için bir LED şerit kullandık. Güç kaynağı adaptöründeki 12V'luk bir kabloya bağladık. Neyse ki kullandığımız LED şeridin üzerinde + ve - vardı, bu da onu bağlama işlemini kolaylaştırdı.
4. Adım: Fatura Alıcısı
Fatura alıcımız olarak bir Coinco BA30B kullandık. Güç kaynağı olarak doğrudan duvara bağlanması gerekiyordu. Takmak ve daha kolay kablolamaya izin vermek için onu bir atx güç kaynağından 24 pinli bir adaptörle birleştirdik. Takip ettiğimiz pinout'lar aşağıdaki bağlantıda bulunur:
techvalleyprojects.blogspot.com/2011/07/ard…
Bizim durumumuzda, fatura alıcısını yükseltmek için bir montaj oluşturmak zorunda kaldık çünkü aksi takdirde kasamız için çok düşük olurdu.
Adım 5: Test Etme
Bileşenlerin çalıştığından emin olmak için önce elektronik aksamı kasanın dışında test edin. Ortaya çıkan herhangi bir sorun, kasanın içine yerleştirilmeden önce düzeltilmelidir.
Adım 6: Elektronikten Muhafazaya
Elektroniği test ettikten ve sonuçlarından memnun kaldıktan sonra, bunları kasanıza yerleştirmeye başlayın. Kablo uzunluklarını, içine rahatça sığacak şekilde ayarlayın.
7. Adım: Son Test
Muhafazaya yerleştirildikten sonra her şeyi tekrar test edin. Her şey beklediğiniz gibi çalışıyorsa, tebrikler! Bir otomat yaptın.
Adım 8: Arduino Kodu + Bağlantılar
İndirilenler:
Arduino Kodu
drive.google.com/drive/folders/1oC4MhOcMFy…
Parça dosyaları ve montaj içeren SolidWorks Klasörü
drive.google.com/drive/folders/1amZoypiWcZ…
Bağlantıya bir şey olması durumunda, işte tam olarak görüntülenen arduino kodu. Arduino Kodu <<
#include #include #include "Arduino.h" #include #include #include "utility/Adafruit_MS_PWMServoDriver.h" #include
const int stepPerRevolution = 200; const bayt SATIRLAR = 4; //dört satır const bayt COLS = 3; //üç sütun karakter anahtarları[ROWS][COLS] = { {'1', '2', '3'}, {'4', '5', '6'}, {'7', '8', '9'}, {'*', '0', '#'} }; bayt rowPins[SATIR] = {5, 6, 7, 8}; //tuş takımının satır pin çıkışlarına bağlan bayt colPins[COLS] = {2, 3, 4}; //tuş takımının sütun pinlerine bağlanın Tuş takımı keypad = Keypad(makeKeymap(keys), 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); // lcd'nin bağlı olduğu dijital pinler // sabitler // // fatura doğrulayıcının kredisi için pin(-) satırı const int billValidator = 22;
// Değişkenler /
/ darbe süresinin kaydedilmesi (milisaniye) işaretsiz uzun süre;
// kaydedilen toplam doların tutulması int dolarCounter = 0; geçersiz kurulum() { lcd.begin(16, 1); // lcd metin koordinatlarını ayarla lcd.print("Yalnızca $1 Girin"); // Metni Serial.begin(9600) ayarla; // İletişim için seri portları başlat. Serial.println("Adım testi!"); //Hangi step motora basıldığını bilmemiz için seri monitörde Out Stepper Test yazın. AFMS1.begin(); AFMS2.begin(); AFMS3.begin(); AFMS4.begin(); myMotor1->setSpeed(100); //myMotor2->setSpeed(100); myMotor3->setSpeed(100); myMotor4->setSpeed(100); myMotor5->setSpeed(100); myMotor6->setSpeed(100); myMotor7->setSpeed(100); myMotor8->setSpeed(100); // Fatura doğrulayıcı ve buton pinMode için pin ayarları(billValidator, INPUT); // Fatura alıcıyı ayarlar
// İletişim için seri portları başlat. Seri.başla(9600); Serial.println("Dolar bekleniyor…"); } geçersiz döngü () { { süre = pulseIn(billValidator, YÜKSEK); //Eğer (süre > 12000) ise fatura alıcısından alınan darbe uzunluğunu aramaya başlar //İşlenmiş ve gerçek bir dolar olarak doğrulamak için aşması gereken değer { // Count Dollar DollarCounter++; // Serial.print("Dolar algılandı.\n Toplam: "); // Yeni dolar sayısını göster Serial.println(dollarCounter); //bir butona basılana kadar beklemek için döngü while (süre > 12000){ char key = keypad.getKey(); //keyoad'ı bağlar ve hangisine basıldığını görmeye başlar if (key != NO_KEY) { //basılan tuşu arayacak Serial.println(key); //seri monitörde hangisine basıldığını bize bildirir } { if (key == '1') { //Tuş 1'e basılırsa aşağıdakileri yapar: int keyPressed = key - '1'; myMotor8->step(580, İLERİ, ÇİFT); //Motoru çalıştırır ve ileri yönde 350 derece döner. myMotor8->release(); //Motoru yerinde tutma durumundan kurtarır. dönüş; // Döngü kodunun başına geri döner }
if (key == '2') { //Tuş 2'ye basılırsa şunları yapar: int keyPressed = key - '2'; myMotor7->adım(400, İLERİ, ÇİFT); //Motoru çalıştırır ve ileri yönde 350 derece döner. myMotor7->release(); //Motoru yerinde tutma durumundan kurtarır. dönüş; //Döngü kodunun başına geri döner } if (key == '3') { //Tuş 3'e basılırsa şunları yapar: int keyPressed = key - '3'; myMotor6->adım(400, İLERİ, ÇİFT); //Motoru çalıştırır ve ileri yönde 350 derece döner. myMotor6->release(); //Motoru yerinde tutma durumundan kurtarır. dönüş; //Döngü kodunun başına geri döner } if (key == '4') { //Tuş 4'e basılırsa aşağıdakileri yapar: int keyPressed = key - '4'; myMotor5->adım(180, İLERİ, ÇİFT); //Motoru çalıştırır ve ileri yönde 350 derece döner. myMotor5->release(); //Motoru yerinde tutma durumundan kurtarır. dönüş; //Döngü kodunun başına geri döner } if (key == '5') { //Tuş 5'e basılırsa aşağıdakileri yapar: int keyPressed = key - '5'; myMotor4->adım(6900, İLERİ, ÇİFT); //Motoru çalıştırır ve ileri yönde 350 derece döner. myMotor4->release(); //Motoru yerinde tutma durumundan kurtarır. dönüş; //Döngü kodunun başına geri döner } if (key == '6') { //Tuş 6'ya basılırsa aşağıdakileri yapar: int keyPressed = key - '6'; myMotor3->adım(400, İLERİ, ÇİFT); //Motoru çalıştırır ve ileri yönde 350 derece döner. myMotor3->release(); //Motoru yerinde tutma durumundan kurtarır. dönüş; //Döngü kodunun başına geri döner } if (key == '7') { //Tuş 7'ye basılırsa aşağıdakileri yapar: int keyPressed = key - '7'; myMotor7->adım(400, İLERİ, ÇİFT); //Motoru çalıştırır ve ileri yönde 350 derece döner. myMotor7->release(); //Motoru yerinde tutma durumundan kurtarır. dönüş; //Döngü kodunun başına geri döner } if (key == '8') { //Tuş 8'e basılırsa aşağıdakileri yapar: int keyPressed = key - '8'; myMotor8->adım(400, İLERİ, ÇİFT); //Motoru çalıştırır ve ileri yönde 350 derece döner. myMotor8->release(); //Motoru yerinde tutma durumundan kurtarır. dönüş; // Döngü kodunun başına geri döner } } } } } } >>
Önerilen:
Arduino Tabanlı Temassız Kızılötesi Termometre - Arduino Kullanan IR Tabanlı Termometre: 4 Adım
Arduino Tabanlı Temassız Kızılötesi Termometre | Arduino Kullanan IR Tabanlı Termometre: Merhaba arkadaşlar, bu talimatta arduino kullanarak temassız bir Termometre yapacağız. Bazen sıvının/katının sıcaklığı çok yüksek veya çok düşük olduğundan, onunla temas kurmak ve okumak zordur. o sahnede sıcaklık
Arduino Kontrollü Mini Otomat: 9 Adım
Arduino Kontrollü Mini Otomat: Bu otomatımız, üç adet eğlenceli snickers şeker çubuğu satıyor. Genel boyutlar yaklaşık 12quot; x 6quot; x 8quot;. Bu otomat, breadboard ve servo motorlu bir arduino tarafından kontrol edilir
Yalan Dedektörü+otomat: Arduino Leonardo ile: 6 Adım
Yalan Dedektörü+otomat: Arduino Leonardo ile: Bu Yalan detektörü normal ortalama yalan dedektörünüz değil, kendisine bağlı bir otomat bulunan bir yalan dedektörüdür. Temel olarak, bu şekilde çalışır. Başlangıçta, oyuncu makineyi çalıştıracak bir düğmeye basacak ve yalandan önce
Servo Arduino Otomat: 8 Adım
Servo Arduino Otomatı: Bu otomat, üç adet eğlenceli boyutlu snickers çubuğuna sahiptir ve Arduino Uno ve bir servo motor kullanarak birer birer satış yapacaktır
Otomat--şeker Dispenseri-- Arduino Bluetooth Kontrollü--Kendin Yap: 11 Adım (Resimli)
Otomat||şeker Dispenseri|| Arduino Bluetooth Kontrollü||DIY: Bu talimatta, bir Arduino kullanarak bir otomat makinesinin nasıl kurulacağını gösteriyorum. BU EĞİTİM HAKKINDA DÜŞÜNCELERİNİZİ YORUM YAPIN, BÖYLE DAHA FAZLA ÖĞRETİMDE İYİLEŞEBİLİRİM Daha iyi anlamak için video eğitimine bir göz atın enti