Სარჩევი:
- ნაბიჯი 1: კრიტერიუმები
- ნაბიჯი 2: გარსაცმები
- ნაბიჯი 3: ელექტრონიკა
- ნაბიჯი 4: ბილ მიმღები
- ნაბიჯი 5: ტესტირება
- ნაბიჯი 6: ელექტრონიკა გარსაცმისთვის
- ნაბიჯი 7: საბოლოო ტესტირება
- ნაბიჯი 8: Arduino კოდი + ბმულები
ვიდეო: არდუინოზე დაფუძნებული 1 დოლარიანი გამყიდველი მანქანა: 8 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:19
ჩვენ მივიღეთ ჩვენი იდეა ჩვენი ინჟინერიის მასწავლებლისგან - ჩვენ ყველანი ვფიქრობდით, რომ კარგი იდეა იქნებოდა ჩვენი კლასის გამყიდველი მანქანა და მან თქვა - "მაგარი, გააკეთე ერთი". აღმოჩნდა, რომ გამყიდველი მანქანა იქნება დიდი უფროსი პროექტი და დასრულების შემდეგ იმუშავებს როგორც საინჟინრო პროგრამის ფონდის შემგროვებელი.
მას ჰქვია 1 დოლარიანი გამყიდველი მანქანა არა იმიტომ, რომ მისი დამზადება 1 დოლარი ღირს, არამედ უბრალოდ იმიტომ, რომ კანონპროექტის მიმღები არის ძველი მოდელი, რომელსაც მხოლოდ 1 დოლარის გადასახადები აქვს:)
ნაბიჯი 1: კრიტერიუმები
ჩვენ გვინდოდა გამყიდველი მანქანა, რომელიც ჯდებოდა მაგიდის თავზე და არ იქნებოდა ძალიან მაღალი. ჩვენ ავიღეთ მაგიდის სიგანის ზომები, რათა დავრწმუნდეთ, რომ მაგიდაზე ჩამოკიდებული ავტომატი არ გვაქვს.
ნაბიჯი 2: გარსაცმები
ჩვენ გავაკეთეთ ჩვენი ყუთი 19 ინჩი სიგანე 17 ინჩი სიგრძით 25 ინჩი სიმაღლით. ჩვენ გამოვიყენეთ CNC მანქანა ჩვენი ხის მოსაჭრელად. ჩვენ გამოვიყენეთ solidworks, რომ შევქმნათ სახეები და შემდეგ გადავაკეთეთ ისინი ჩვენი CNC პროგრამული უზრუნველყოფის ფაილის ტიპებზე. ჩვენ დავხურეთ კიდეები და შემდეგ ჩავახურეთ ისინი 1 ¼”. ჩვენ დავამაგრეთ წინა პანელი სახვევით და გამოვიყენეთ ¼ „ხრახნები, ისე რომ ხრახნები არ გადავიდეს მეორე მხარეს. ჩვენ ასევე გამოვიყენეთ აკრილის მინა, რომელსაც ჩვენ ვჭრით თაროებისთვის და წინა პანელისთვის.
ნაბიჯი 3: ელექტრონიკა
არდუინო
ჩვენ გამოვიყენეთ Arduino Mega 2560 დაფა. ჩვენ ასევე გამოვიყენეთ ადაფრუტის საავტომობილო დაფები, რათა მათ შეეძლოთ სტეპერიანი ძრავების გაშვება. ჩვენ დავამატეთ ქინძისთავები ადაფრუტს, რათა ერთმანეთთან დაკავშირება მოხდეს. ისინი ჩასვეს ერთმანეთზე. თითოეულს შეუძლია 2 ძრავის გაშვება. ასევე, გთხოვთ გაითვალისწინოთ, რომ ჯუმბერი უნდა იყოს დაკავშირებული.
დესკტოპის კვების წყარო
Bestek ATX კვების ბლოკი ადაპტერის გამოყენებით დენის წყაროს შესანარჩუნებლად. ადაპტერი არის sparkfun.com– დან და უზრუნველყოფს სხვადასხვა ძაბვას.
ბრუნავს მოტორში
ჩვენ შევქმენით მყარი მოდელები, რომ შევინარჩუნოთ ძრავა, დავიჭიროთ კოჭა და მივმართოთ კოჭას თაროზე. ჩვენ მივაღწიეთ ჩვენს კოჭებს ebay– დან და დავჭრათ ისინი განზომილებაში. ჩვენ ასევე გვქონდა 3 მათგანის დახრა, ვინაიდან ჩვენ არ მივიღეთ 6 სწორი ბოლოებით, რათა დაკავშირებულიყო კოჭის მთაზე. შემდეგ ჩვენ 3D ბეჭდვა მათ და მიმაგრებული მათ coil და საავტომობილო. სტეპერიანი ძრავები, რომელიც გვქონდა, მთაში ჩავდეთ. ის დაიჭერდა ძრავას და წარმართავდა ხვეულს სწორი გზით.
LCD და კლავიატურა
ჩვენ გამოვიყენეთ არდუინოს კლავიატურა და LCD ეკრანი, რომელიც დაკავშირებულია დენის წყაროს ადაპტერთან 5V კაბელთან და შემდეგ იმავე Arduino დაფაზე
გაყვანილობა
ჩვენ გირჩევთ გამოიყენოთ 18 ლიანდაგიანი მავთულები. ჩვენს შემთხვევაში, ჩვენ გვქონდა კომპრომისზე წასვლა სხვადასხვა გამზომი საშუალებების გამოყენებით, რადგან ჩვენ 18 გამრიცხველი გვქონდა
LED ზოლები
ჩვენ გამოვიყენეთ LED ზოლები აპარატის გასანათებლად. ჩვენ მას დავუკავშირდით კვების ბლოკის ადაპტერზე 12 ვ. LED ზოლს, რომელსაც ჩვენ ვიყენებდით საბედნიეროდ, ჰქონდა + და - მასზე, რამაც გაადვილა მისი დაკავშირების პროცესი.
ნაბიჯი 4: ბილ მიმღები
ჩვენ გამოვიყენეთ Coinco BA30B, როგორც ჩვენი კანონპროექტის მიმღები. ის პირდაპირ კედელთან უნდა იყოს დაკავშირებული, როგორც ენერგიის წყარო. ჩვენ გავაერთიანეთ 24-პინიანი ადაპტერი ატქსის დენის წყაროსგან, რათა შევიყვანოთ და დავუშვათ უფრო ადვილი გაყვანილობა. პინუტები, რომლებსაც ჩვენ მივყვებოდით, ნაპოვნია შემდეგ ბმულზე:
techvalleyprojects.blogspot.com/2011/07/ard…
ჩვენს შემთხვევაში, ჩვენ უნდა შევქმნათ მთა, რომ აღვადგინოთ კანონპროექტის მიმღები, რადგან წინააღმდეგ შემთხვევაში ეს ძალიან დაბალი იქნებოდა ჩვენი გარსაცმისთვის.
ნაბიჯი 5: ტესტირება
შეამოწმეთ ელექტრონიკა გარსაცმის გარეთ, რათა დარწმუნდეთ, რომ კომპონენტები მუშაობენ. ნებისმიერი პრობლემა, რომელიც წარმოიქმნება, უნდა მოგვარდეს გარსაცმის შიგნით მოთავსებამდე.
ნაბიჯი 6: ელექტრონიკა გარსაცმისთვის
მას შემდეგ რაც შეამოწმეთ ელექტრონიკა და დაკმაყოფილდებით მათი შედეგებით, დაიწყეთ მათი განთავსება თქვენს გარსაცმში. შეცვალეთ მავთულის სიგრძე ისე, რომ ისინი კომფორტულად მოერგოს შიგნით.
ნაბიჯი 7: საბოლოო ტესტირება
მას შემდეგ, რაც მოთავსებულია გარსაცმში, კიდევ ერთხელ შეამოწმეთ ყველაფერი. თუ ყველაფერი მუშაობს ისე, როგორც თქვენ ელოდით, გილოცავთ! თქვენ შექმენით გამყიდველი მანქანა.
ნაბიჯი 8: Arduino კოდი + ბმულები
ჩამოტვირთვები:
არდუინოს კოდი
drive.google.com/drive/folders/1oC4MhOcMFy…
SolidWorks საქაღალდე ნაწილობრივი ფაილებით და შეკრებით
drive.google.com/drive/folders/1amZoypiWcZ…
იმ შემთხვევაში, თუ რაიმე მოხდა ბმულზე, აქ არის arduino კოდი სრულად ნაჩვენები. არდუინოს კოდი <<
#მოიცავს #მოიცავს #მოიცავს #Arduino.h " #მოიცავს #მოიცავს #მოიცავს #სასარგებლო"/Adafruit_MS_PWMServoDriver.h " #მოიცავს
const int stepsPerRevolution = 200; const byte ROWS = 4; // ოთხი სტრიქონი const byte COLS = 3; // სამი სვეტი char ღილაკები [ROWS] [COLS] = {{'1', '2', '3'}, {'4', '5', '6'}, {'7', '8', '9'}, {'*', '0', '#'}}; byte rowPins [ROWS] = {5, 6, 7, 8}; // დაკავშირება კლავიატურის ბაიტის კოლიტების რიგის პინუტებთან [COLS] = {2, 3, 4}; // დაკავშირება კლავიატურის სვეტის პინუტებთან Keypad keypad = კლავიატურა (makeKeymap (გასაღებები), 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 არის დაკავშირებული // მუდმივები // // პინი კანონპროექტის დამტკიცების საკრედიტო (-) ხაზი const int billValidator = 22;
// ცვლადები /
/ პულსის ხანგრძლივობის ჩაწერა (მილიწამი) ხელმოუწერელი ხანგრძლივი ხანგრძლივობა;
// მთლიანი დოლარის ჩაწერა int dollarCounter = 0; void setup () {lcd.begin (16, 1); // დააყენეთ lcd ტექსტის კოორდინატები lcd.print ("ჩადეთ მხოლოდ $ 1"); // ტექსტის დაყენება Serial.begin (9600); // კომუნიკაციისთვის სერიული პორტების ინიციალიზაცია. Serial.println ("სტეპერი ტესტი!"); // ჩაწერეთ სტეპერის ტესტი სერიულ მონიტორში ისე, რომ ვიცოდეთ რომელ სტეპერ ძრავაზეა დაჭერილი. AFMS1.დაწყება (); AFMS2.დაწყება (); AFMS3. დასაწყისი (); AFMS4. დასაწყისი (); myMotor1-> setSpeed (100); // დააყენეთ ძრავის სიჩქარე, რომლის დროსაც ისინი გაუშვებენ myMotor2-> setSpeed (100); myMotor3-> setSpeed (100); myMotor4-> setSpeed (100); myMotor5-> setSpeed (100); myMotor6-> setSpeed (100); myMotor7-> setSpeed (100); myMotor8-> setSpeed (100); // ანგარიშის დამტკიცების და ღილაკის pinMode ღილაკების დაყენება (billValidator, INPUT); // ადგენს ბილაცეპტერს
// კომუნიკაციისთვის სერიული პორტების ინიციალიზაცია. სერიული.დაწყება (9600); Serial.println ("დოლარის მოლოდინში …"); } void loop () {{ხანგრძლივობა = pulseIn (billValidator, HIGH); // იწყებს პულსის მიმღების სიგრძის ძებნას, თუ (ხანგრძლივობა> 12000) // რომლის ღირებულებაც მას უნდა გადააჭარბოს, რათა დამტკიცდეს როგორც დამუშავებული და ავთენტური დოლარი {// ითვლი დოლარი დოლარი Counter ++; // Serial.print- ის გაგების შემოწმება ("დოლარი აღმოჩენილია. / N სულ:"); // ახალი დოლარის რაოდენობის ჩვენება Serial.println (dollarCounter); // მარყუჟი, რათა დაელოდოთ სანამ ღილაკს არ დააჭერთ სანამ (ხანგრძლივობა> 12000) {char key = keypad.getKey (); // უკავშირდება კლავიშს და იწყებს იმის დანახვას, თუ რომელზეა დაჭერილი თუ (გასაღები! = NO_KEY) {// ეძებს დაჭერილ გასაღებს Serial.println (გასაღები); // გვაცნობს რომელი იყო დაჭერილი სერიულ მონიტორში} {if (key == '1') {// თუ Key 1 დაჭერილია, აკეთებს შემდეგს: int keyPressed = key - '1'; myMotor8-> ნაბიჯი (580, წინ, ორმაგი); // იწყებს ძრავას და ბრუნავს 350 გრადუსით წინ მიმართულებით. myMotor8-> გამოშვება (); // ათავისუფლებს ძრავას მდგომარეობიდან თავის შეკავების მდგომარეობიდან. დაბრუნების; // ბრუნდება მარყუჟის კოდის დასაწყისში}
if (გასაღები == '2') {// თუ გასაღები 2 დაჭერილია, აკეთებს შემდეგს: int keyPressed = გასაღები - '2'; myMotor7-> ნაბიჯი (400, წინ, ორმაგი); // იწყებს ძრავას და ბრუნავს 350 გრადუსით წინ მიმართულებით. myMotor7-> გამოშვება (); // ათავისუფლებს ძრავას მდგომარეობიდან თავის შეკავების მდგომარეობიდან. დაბრუნების; // ბრუნდება მარყუჟის კოდის დასაწყისში} if (გასაღები == '3') {// თუ გასაღები 3 დაჭერილია, აკეთებს შემდეგს: int keyPressed = გასაღები - '3'; myMotor6-> ნაბიჯი (400, წინ, ორმაგი); // იწყებს ძრავას და ბრუნავს 350 გრადუსით წინ მიმართულებით. myMotor6-> გამოშვება (); // ათავისუფლებს ძრავას მდგომარეობიდან თავის შეკავების მდგომარეობიდან. დაბრუნების; // ბრუნდება მარყუჟის კოდის დასაწყისში} if (გასაღები == '4') {// თუ გასაღები 4 დაჭერილია, აკეთებს შემდეგს: int keyPressed = გასაღები - '4'; myMotor5-> ნაბიჯი (180, წინ, ორმაგი); // იწყებს ძრავას და ბრუნავს 350 გრადუსით წინ მიმართულებით. myMotor5-> გამოშვება (); // ათავისუფლებს ძრავას მდგომარეობიდან თავის შეკავების მდგომარეობიდან. დაბრუნების; // ბრუნდება მარყუჟის კოდის დასაწყისში} if (გასაღები == '5') {// თუ გასაღები 5 დაჭერილია, აკეთებს შემდეგს: int keyPressed = გასაღები - '5'; myMotor4-> ნაბიჯი (6900, წინ, ორმაგი); // იწყებს ძრავას და ბრუნავს 350 გრადუსით წინ მიმართულებით. myMotor4-> გამოშვება (); // ათავისუფლებს ძრავას მდგომარეობიდან თავის შეკავების მდგომარეობიდან. დაბრუნების; // ბრუნდება მარყუჟის კოდის დასაწყისში} თუ (გასაღები == '6') {// თუ გასაღები 6 დაჭერილია, აკეთებს შემდეგს: int keyPressed = გასაღები - '6'; myMotor3-> ნაბიჯი (400, წინ, ორმაგი); // იწყებს ძრავას და ბრუნავს 350 გრადუსით წინ მიმართულებით. myMotor3-> გამოშვება (); // ათავისუფლებს ძრავას მდგომარეობიდან თავის შეკავების მდგომარეობიდან. დაბრუნების; // ბრუნდება მარყუჟის კოდის დასაწყისში} if (გასაღები == '7') {// თუ გასაღები 7 დაჭერილია, აკეთებს შემდეგს: int keyPressed = გასაღები - '7'; myMotor7-> ნაბიჯი (400, წინ, ორმაგი); // იწყებს ძრავას და ბრუნავს 350 გრადუსით წინ მიმართულებით. myMotor7-> გამოშვება (); // ათავისუფლებს ძრავას მდგომარეობიდან თავის შეკავების მდგომარეობიდან. დაბრუნების; // ბრუნდება მარყუჟის კოდის დასაწყისში} თუ (გასაღები == '8') {// თუ გასაღები 8 დაჭერილია, აკეთებს შემდეგს: int keyPressed = გასაღები - '8'; myMotor8-> ნაბიჯი (400, წინ, ორმაგი); // იწყებს ძრავას და ბრუნავს 350 გრადუსით წინ მიმართულებით. myMotor8-> გამოშვება (); // ათავისუფლებს ძრავას მდგომარეობიდან თავის შეკავების მდგომარეობიდან. დაბრუნების; // ბრუნდება მარყუჟის კოდის დასაწყისში}}}}}} >>
გირჩევთ:
წვრილმანი გამყიდველი მანქანა: 8 ნაბიჯი
წვრილმანი გამყიდველი მანქანა: სამი წლის წინ დავიწყე სწავლა ელექტრონულ ტექნიკურ კოლეჯში. ერთ -ერთი ფაქტი, რომელიც იმ დროს გამაკვირვა, იყო მწეველთა რაოდენობა, რადგან შესვენებების დროს მოსწავლეების ნახევარმა დატოვა სკოლის კედლები ემოციების განტვირთვის შემდეგ
4D ავტომატური გამყიდველი მანქანა: 6 ნაბიჯი
4D ავტომატიზირებული გამყიდველი მანქანა: 1967 წელს ლონდონში მისი პირველი გამოჩენიდან 50 წელზე ნაკლები ხნის განმავლობაში, ავტომატური გამრიცხველი მანქანები (ბანკომატი) გავრცელდა მთელს მსოფლიოში, უზრუნველყო ყოფნა ყველა დიდ ქვეყანაში და თუნდაც პატარა ქალაქებში. ეს ბანკომატის პროექტი სიმულაციას უწევს ძირითადი ოპერაციის ბანკომატი, რომელიც
უსახლკარო გამყიდველი მანქანა: 3 ნაბიჯი
უსახლკარო გამყიდველი მანქანა: მე ვცდილობ აღვკვეთო შიმშილი ჩვენს საზოგადოებაში. ოკლაჰომაში დაახლოებით 3,000 -ზე მეტი ადამიანი ცხოვრობს უსახლკაროდ. ჩვენ შევარჩიეთ ამ საკითხის გადაწყვეტის შეთქმულება, რათა გავაუმჯობესოთ და გავზარდოთ ჩვენი საზოგადოება მთლიანად. ადამიანთა დიდი რაოდენობა
შექმენით 15 დოლარიანი დისტანციური მართვის ESP8266 რობოტი ბატლერი / მანქანა / სატანკო Ios და Android– ისთვის: 4 ნაბიჯი
ააშენეთ 15 დოლარიანი დისტანციური კონტროლირებადი ESP8266 რობოტი ბატლერი / მანქანა / სატანკო Ios და Android- ისთვის: გძულთ თუ არა სამზარეულოში სიარული საჭმლის დასალევად? ან ახალი სასმელის დასალევად? ეს ყველაფერი შეიძლება დაფიქსირდეს ამ მარტივი $ 15 დისტანციური მართვის ბატლერთან ერთად. სანამ მეტს გავაგრძელებთ მე ახლა ვაწარმოებ Kickstarter პროექტს ხმის კონტროლირებადი RGB ledstrip– ისთვის
არდუინოზე დაფუძნებული თვითმავალი მანქანა: 8 ნაბიჯი
არდუინოზე დაფუძნებული თვითმავალი მანქანა: კეთილი იყოს თქვენი მობრძანება ჩემს პირველ ინსტრუქციულ მანქანაში! ასე რომ, მე ცოტა ხნის წინ დამინიშნეს თვითმავალი მანქანის პროექტი, როგორც ჩემი სემესტრის პროექტი. ამ პროექტში ჩემი ამოცანა იყო შემემუშავებინა მანქანა, რომელსაც შეეძლო შემდეგი რამის გაკეთება: მისი კონტროლი შესაძლებელია ხმოვანი ბრძანებებით Android ტელეფონის საშუალებით