Სარჩევი:

Bluetooth RC მანქანა STM32F103C და L293D - იაფი: 5 ნაბიჯი
Bluetooth RC მანქანა STM32F103C და L293D - იაფი: 5 ნაბიჯი

ვიდეო: Bluetooth RC მანქანა STM32F103C და L293D - იაფი: 5 ნაბიჯი

ვიდეო: Bluetooth RC მანქანა STM32F103C და L293D - იაფი: 5 ნაბიჯი
ვიდეო: arduino project Project Car garage parking alarm attiny85 digispark 2024, ივნისი
Anonim
Image
Image
გაანადგურე ბატარეის მჭამელი!
გაანადგურე ბატარეის მჭამელი!

მე გავაკეთე Bluetooth Arduino მანქანა, როგორც აქ გამოსახული, Ardumotive_com– ის მიერ. პრობლემა, რაც მე მქონდა, იყო ბატარეები და მათი წონა, ასევე მათი ხარჯები. მას შემდეგ, მობილური ტელეფონების იაფი დენის ბანკები გახდა ძალიან ხელმისაწვდომი. ერთადერთი რაც მჭირდება იყო წონის დაკლება. იმის გამო, რომ მე ვარ იაფი, მე გადავედი STM32F103C მიკროკონტროლერზე. STM32F103C მიკროკონტროლის შეძენა შესაძლებელია 2 დოლარზე ნაკლებ ფასად და ის გაცილებით მცირეა ვიდრე Arduino. მე ცოტაოდენი კოდირება შევცვალე STM32F103C– თან მუშაობისთვისაც.

მარაგები

  • იაფი დისტანციური მართვის მანქანა, რომელიც ჭამს ბატარეებს. დიახ, ისევე როგორც ის, რასაც Ardumotive_com იყენებს. თქვენ გამორთავთ სისტემას და მის ნაცვლად იყენებთ ტელეფონის დენის ბანკს. თუ თქვენ გაქვთ რესურსი საკუთარი შასის ასაშენებლად, ისარგებლეთ. მივედი ქუჩაში მდებარე სათამაშოების მაღაზიაში და ვიყიდე იაფი მანქანა 10 დოლარად. მანქანა ჭამს ბატარეებს, ხოლო დისტანციური ბატარეა-სრულყოფილია გასაუმჯობესებლად.
  • სატელეფონო ბანკი- ისინი ახლა ძალიან იაფია. მოშორდით დენის ბანკებს, რომლებსაც დენის ღილაკი აქვთ გვერდით. თქვენ ვერ შეძლებთ მიჰყვეთ თქვენს მანქანას და დააჭიროთ ღილაკს. ეს სულელურია.
  • L293D ჩიპი-ეს არის ორმაგი H- ხიდი, რომელიც გააკონტროლებს ელექტროძრავებს.
  • HC-06 Bluetooth მოდული
  • გადამრთველი- მე გამოვიყენე მარტივი ჩართვა/გამორთვა.
  • ზოგიერთი მავთულის ტელეფონის სატელეფონო მავთული კარგი იქნება, მაგრამ ცოტა დიდი ზომის 20 ლიანდაგი უკეთესი იქნება.
  • პროტო დაფა ან პლასტმასის ან მუყაოს ნაჭერი თქვენი Blue Pill და L293D– ის დასაყენებლად. მე ვარ იაფი, ასე რომ მე გამოვიყენე ცოტა განსხვავებული სისტემა თხელი გოფრირებული მუყაოსგან- როგორც ნათურის ყუთიდან.
  • ორი იაფი USB დატენვის კაბელი-მათი შეძენა შესაძლებელია დოლარის ხისგან. არ გამოიყენოთ თქვენი ლამაზი პროგრამირების კაბელი. ერთი გათიშულია ჩართვის/გამორთვისთვის, ხოლო მეორე დატენავს ბატარეას.

სურვილისამებრ

  • 4 LED -თუ გსურთ ფარები და უკანა შუქები.
  • 4 220 Ohm რეზისტორი- LED- ებისთვის 3.3 ვ სისტემაზე.
  • პიეზო ან პატარა სპიკერი რქისთვის.

ინსტრუმენტები

  • Soldering რკინის და Solder
  • ცხელი წებო იარაღი- ჩემი ქალიშვილი არის ცხელი წებო იარაღი ნინძა!
  • მავთულის სტრიპტიზატორები და ნაკაწრები
  • შენიშვნა: თუ თქვენ იყენებთ მუყაოს ტექნიკას, რომელსაც მე ვიყენებ ვიდრე პროტო დაფაზე, დაგჭირდებათ დრემელი ან პატარა საბურღი

ნაბიჯი 1: გაანადგურეთ ბატარეის მჭამელი

გაანადგურე ბატარეის მჭამელი!
გაანადგურე ბატარეის მჭამელი!

დროა გაერთოთ ბატარეის მჭამელის განადგურებით! დიახ, ეს მართლაც ასეა! იგრძენი თავი ამაყად, რომ შენ აკეთებ შენს წვლილს სამყაროს გამწვანების საქმეში- კარგი, ეს უკვე მონაკვეთია, მაგრამ მაინც… მიდი ჩარჩოში.

ზემოთ, არის იგივე ერთეული, რომელიც მე გავაკეთე არდუინოს ვერსია. არდუინოს ვერსიამ გამოიყენა ბატარეის სერიოზული ენერგია, რამაც მანქანა უფრო მძიმე გახადა. ასე რომ, მე იგი ჩარჩოში ჩავაბარე. პლასტმასის ბოთლიდან და ცხელი წებოდან რამდენიმე დამცავი მქონდა დამატებული და კორპუსი მორგებული მქონდა. უფრო მეტი სხეულზე მოგვიანებით.

მას შემდეგ, რაც თქვენ გაქვთ ჩარჩო ძრავით და საჭე შიშველი, იპოვეთ საავტომობილო ტერმინალების რომელი მხარეა. გამოიყენეთ ბატარეა ან 5 ვ დამტენი ძრავის შესამოწმებლად.

საჭის ძრავაზე, როდესაც ბორბლები მოუხვევს მარჯვნივ, შეაფასეთ პოზიტიური ბატარეის მავთული "3" და უარყოფითი მავთული, "6".

მამოძრავებელ ძრავაზე, როდესაც ბორბლები ბრუნავს წინ, მონიშნეთ დადებითი ბატარეის მავთული "14" და უარყოფითი მავთული "11".

ნაბიჯი 2: კოდი Arduino IDE– ში

კოდი Arduino IDE– ში
კოდი Arduino IDE– ში
კოდი Arduino IDE– ში
კოდი Arduino IDE– ში

ეს შეიძლება იყოს საუკეთესო, თუ თქვენი ავტომობილის ელექტრონიკის პროტოტიპს გააკეთებთ ჯერ პურის დაფაზე.

კარგი, ეს არის ერთ -ერთი სახიფათო ნაწილი. "ლურჯი აბის" დაპროგრამება შეუძლებელია USB პორტის საშუალებით. მე ვერ ვიპოვე "ლურჯი აბის" უფრო მარტივი პროგრამირების ახსნა, ვიდრე ჯოპ ბროკინგის Youtube ვიდეო. ის განმარტავს ყველაფერს რაც თქვენ უნდა იცოდეთ როჯერ კლარკის STMduino ბიბლიოთეკის ჩათვლით. არსებობს ჩატვირთვის ჩამონტაჟების გზა, ასე რომ თქვენ შეგიძლიათ გამოიყენოთ USB "ცისფერი აბის" დასაპროგრამებლად, მაგრამ მაინც უნდა დაპროგრამოთ ჩამტვირთავი სერიული ავტობუსით.

სამწუხაროდ, სერიული ავტობუსი გამოიყენება Bluetooth ადაპტერის საშუალებითაც. პროგრამა უნდა იყოს დაინსტალირებული სერიული ავტობუსის, PA9 და PA10 ქინძისთავების საშუალებით, ჯერ FTDI- ის საშუალებით, შემდეგ შეგიძლიათ შეამოწმოთ თქვენი ყველა პარამეტრი Bluetooth ადაპტერით.

გამოიყენეთ პურის დაფა და განალაგეთ ყველაფერი პურის დაფაზე, ისევე როგორც ზემოთ მოყვანილი ესკიზი. გათიშეთ Bluetooth ადაპტერის სერიული TX და RX ხაზები STM32F103C– ის PA9 და PA10 ქინძისთავებზე. ჩაერთეთ თქვენს FTDI და პროგრამაში. დარწმუნდით, რომ სერიული ავტობუსის ხაზები გადაკვეთილია, RX to Tx და Tx to RX. ერთი იღებს და მეორე აძლევს.

მას შემდეგ, რაც პროგრამა დატვირთულია, შეგიძლიათ გახსნათ სერიული კონსოლი და გაგზავნოთ

რომ ნახოთ მუშაობს თუ არა შუქები. თუ განათება მუშაობს, შეგიძლიათ გააგზავნოთ

კვლავ გამორთეთ ისინი.

განათავსეთ თქვენი მანქანა ბლოკზე საბურავების ასამაღლებლად და გასაგზავნად

ბორბლები წინ უნდა წავიდეს. თუ არა, გადააბრუნეთ მავთულები. დაიმახსოვრეთ, როგორ დავნიშნეთ მავთულები ადრე. L293D- ის შესაბამისი ქინძისთავები უნდა ემთხვეოდეს.

შესაჩერებლად გაგზავნეთ

მოდით შევხედოთ მნიშვნელოვან ცვლილებებს კოდში.

კომენტარების განყოფილებაში, დასაწყისში, თქვენ უნდა ნახოთ ფაილების შემქმნელი, Ardumotive– დან. შემდეგი რამდენიმე კომენტარი განმარტავს, თუ სად შევიცვალე მე STM32F103C- ის ამსახველი.

/ * * შექმნა ვასილაკის მიხალისმა // 12-12-2014 ver.2

* პროექტი: აკონტროლეთ RC მანქანა Bluetooth– ით Android სმარტფონით * მეტი ინფორმაცია https://www.ardumotive.com * * შეიცვალა ეს კოდი ჯიმ გარბის მიერ STM32F103– ის შესატყვისად, [email protected] * დამატებითი ინფორმაცია https:// github.com/jgarbe/RCCAR_STM32F103C*გაითვალისწინეთ, რომ 8-ბიტიანი მნიშვნელობები 0-255 შეიცვალა*ასახავს 16-ბიტიან მნიშვნელობებს 0-65535*//******************* **********STM32– ზე, ანალოგური ჩაწერა კვლავ მუშაობს 8 – ბიტიან 255 – ზე,*მაგრამ შეგიძლიათ მიიღოთ PWM დიაპაზონის სრული ფუნქცია, 0-65535, Pin– ის გამოცხადებით PWM*და გამოყენებით pwmWrite () ნაცვლად analogWrite () ***************************/

რაც ყველაზე მნიშვნელოვანია, ქინძისთავები არ არის დასახელებული ერთნაირად Arduino– სა და STM32F103C– ს შორის. ჩვენ ვაცხადებთ ქინძისთავებს ხაზების შემდეგი ნაკრების გამოყენებით. დარჩა ერთი პინი, რომელიც გამოცხადებულია მარყუჟში ქვემოთ. 197 ხაზზე, PA5 გამოიყენება ბატარეის დონის წასაკითხად.

//// L293 კავშირი

const int motorA1 = PB6; // L293 const int motorA2 = PB7 პინზე 15; // L293 const int motorB1 = PB8 პინზე 10; // L293 const int motorB2 = PB9; // L293– ის პინ 2 –ზე // Leds დაკავშირებული STM32F103C Pin A12 const int lights = PA12; // Buzzer /Speaker to Arduino UNO Pin A8 const int buzzer = PA8; // Bluetooth (HC-06 JY-MCU) მდგომარეობის პინი STM32F103C const int პუნქტში BTState = PA11;

ასევე, analogWrite () - ის გამოყენებით; კვლავ იმუშავებს "BluePill" - ზე. მაგრამ უმჯობესია გამოაცხადოთ PWM ქინძისთავები გამოყენებით, pinMode (, PWM);

შემდეგ გამოიყენეთ

pwmWrite (,);

შენიშვნა: 8-ბიტი = 0-255, 16 ბიტი = 0-65535

32-44 ხაზები არის ბატარეის ცვლილებები. თუ თქვენ აპირებთ გამოიყენოთ ბატარეის დონის შემოწმება, თქვენ უნდა გამოიყენოთ ხმის გამყოფი ბატარეისთვის. ეს ნაწილი არ აისახება ფრიზინგის ესკიზში. უამრავი ახსნა არსებობს იმის შესახებ, თუ როგორ უნდა შეიქმნას ძაბვის გამყოფი Youtube– ზე. რადგან STM32F103C არის 3.3 ვ ჩიპი, მე აქ დავაფიქსირე კოდი, რომ ფიზიკურად გამოვიყენო ძაბვის გამყოფი. Arduino– ს შეუძლია მოითმინოს უფრო მაღალი ძაბვები ADC– ების საშუალებით, მაგრამ „ცისფერი აბი“არ შეუძლია.

/* ბატარეის დონე შემოწმდება Pin PA5– ზე

* შეიცვალა STM32F103C– ის შემდეგი ხაზი, რადგან ADC ვერ უმკლავდება * 3.3 ვ -ზე მეტს * მე უბრალოდ გამოვთქვი კომენტარი * ძაბვის გამყოფი, ორი რეზისტორის გამოყენებით უნდა გამოითვალოს და გამოყენებულ იქნას * ADC შეყვანის გასაზომად კოდში ქვემოთ * მაგალითი: * GND --- 2K რეზისტორი ----------------- 1K რეზისტორი ------ 5v * | * | * 3.3v */ // const float maxBattery = 3.3; // შეცვალეთ თქვენი ბატარეის მაქსიმალური ძაბვის დონე!

ნაბიჯი 3: ყველაფერი ერთად ააწყვეთ

განათავსეთ ეს ყველაფერი ერთად
განათავსეთ ეს ყველაფერი ერთად
განათავსეთ ეს ყველაფერი ერთად
განათავსეთ ეს ყველაფერი ერთად
განათავსეთ ეს ყველაფერი ერთად
განათავსეთ ეს ყველაფერი ერთად
განათავსეთ ეს ყველაფერი ერთად
განათავსეთ ეს ყველაფერი ერთად

მე ჩვეულებრივ ვიყენებ პროტო დაფას, რათა მოვათავსო ნაჭრები და შევაერთო ხვრელებს შორის, რომ ყველაფერი დავაკავშირო. ხანდახან მე ყველაფერს "ვკერავ" ყველაფერს ფრანკენშტეინის/სამგანზომილებიანი გარეგნობის შესაქმნელად.

მე ავირჩიე ეს ჰიბრიდული მეთოდი იმისათვის, რომ მოწყობილობა სუფთა და მსუბუქი იყოს- და რა თქმა უნდა, იაფი!

ეს მეთოდი ასევე იძლევა მარკირების საშუალებას. მკვდარი შედუღების ერთ -ერთი ყველაზე ცუდი ნაწილია, როდესაც ქვემოდან უყურებ IC ჩიპს და ავიწყდება რომელი პინ არის რა.

ზემოთ მოყვანილი სურათები გარკვეულწილად გასაგებია. მე ვფიქრობ, რომ რთული ნაწილია იპოვოთ საკმარისად თხელი მუყაო, რომ გაპრიალდეს და ერთდროულად იყოს ხისტი. თქვენ ასევე შეგიძლიათ გამოიყენოთ პლასტიკური, მაგრამ მისი მარკირება ცოტა უფრო რთულია. მას შემდეგ, რაც მე ვჭერ ქინძისთავებს დაფაზე და აღვნიშნავ ჩაღრმავებებს, მე ვიყენებ დრემელს თითოეული ქინძისთავის გასავლელად.

თუ თქვენ ჯერ არ შეგიმჩნევიათ, მე მაქვს მხოლოდ განათება, როგორც დამხმარე დანამატი დაფაზე. მე არ ვიყენებ ბატარეის მაჩვენებელს და არც სიგნალს. ეს იმიტომ ხდება, რომ ჩემი პროექტი სხვა მიზნებისთვისაა. ეს იქნება გასაგები მას შემდეგ, რაც დაინახავთ დასრულებულ შედეგს მანქანის სხეულით. … მაგრამ ეს მოაქვს სხვა იდეას, არსებობს ბევრი გამოუყენებელი ქინძისთავი ამ პროექტზე. შესაძლოა საბარგულის გამხსნელი, მანქანის კარის გამხსნელი, ცეცხლმფრქვევი დეტონატორი,…… ან თუნდაც მინი Galvani-Edison Luminiferous Aether Disturbance Generator!

მას შემდეგ, რაც ყველა soldering დასრულდა, შეამოწმოთ სანამ ცხელი წებო სახსრების სტრესის შემსუბუქება მავთულხლართებზე.

მე გამოვიყენე იგივე Android აპლიკაცია, როგორც Ardumotive, მისი ნახვა შეგიძლიათ

მას შემდეგ რაც შეამოწმებთ მანქანის ფუნქციებს, დროა მოათავსოთ ბატარეა და ჩართოთ. გადადით შემდეგ საფეხურზე.

ნაბიჯი 4: ბატარეა და გადამრთველი

კარგი, ეს ის ადგილია, სადაც ზუსტად ვერ შეასრულებ ჩემს გეგმას.

რატომღაც, თქვენ მოგიწევთ იპოვოთ კარგი ადგილი მანქანაზე თქვენი ბატარეის დასაყენებლად, ან ბატარეის დენგიდან დატენვის საშუალება, ან ბატარეის დანამატის პირდაპირ დატენვის საშუალება. შესავალ ვიდეოში, მე უბრალოდ ჩავწერე ბატარეა და მიკროკონტროლი ჩარჩოზე და გავუშვი. როდესაც მინდოდა გაჩერება, უბრალოდ გავთიშე ბატარეა. ამ კონფიგურაციის პრობლემა არის თქვენი USB კაბელის და/ან თქვენი დენის ბანკის შტეფსელების გაფუჭება. სჯობს გადამრთველი იყოს.

თქვენ ასევე მოგიწევთ კარგი ადგილის პოვნა გადამრთველისთვის, სადაც მანქანის კორპუსი მაინც დაუშვებს წვდომას. მე გამოვიყენე უბრალო ღილაკის გადამრთველი (არა მომენტალური გადამრთველი) და დავაყენე იგი ჩარჩოს ბოლოში, სადაც მდებარეობს ბატარეის ორიგინალური განყოფილება.

თქვენ მოგიწევთ USB კაბელის შუაზე გაჭრა და გადართვა ბატარეასა და STM32F103C USB პორტს შორის. დიახ, თქვენ შეგიძლიათ ჩართოთ STM32F103C USB პორტით. თქვენ უბრალოდ არ შეგიძლიათ მისი პროგრამირება USB პორტის საშუალებით. მე კვლავ გამოვიყენე დრემელი, რათა გამეკეთებინა რამდენიმე ხვრელი გადამრთველის შედუღების ქინძისთავებისთვის. ერთხელ შედუღების შემდეგ, მე გამოვიყენე ცხელი წებო, ისევ კავშირების გასაძლიერებლად.

ნაბიჯი 5: ჩადეთ მანქანის კორპუსი ჩარჩოზე

კარგი, მე ვთქვი, რომ მე ხელახლა განვაცხადე ამ მანქანის ორიგინალური Arduino ვერსია. ფაქტობრივი საბოლოო პროდუქტი იყო სცენაზე დამხმარე ბალეტი "მაკნატუნა" ჩვენი ადგილობრივი საბალეტო კომპანიის მიერ. გახსნის სცენაზე თაგვი გაიქცა სცენაზე დროსელმეიერის შემთხვევითი მაგიით. მე გამოვიყენე IKEA ვირთხა და დავაყენე იგი ჩარჩოს თავზე, არდუინოზე და ბევრად უფრო დიდი ბატარეის პაკეტზე. საყრდენი იყო მძიმე და არ იტენებოდა. ეს ბევრად უკეთესია!

გაერთეთ თქვენი მანქანით. გახსოვდეთ, რომ STM32F103C– ზე კიდევ ბევრი ქინძისთავის გამოყენებაა შესაძლებელი. შესაძლოა, "სათამაშოების ისტორია 4" -ის მსგავსი სკანკი.

გირჩევთ: