Სარჩევი:

ინფრაწითელი რადარი არდუინოთი: 6 ნაბიჯი
ინფრაწითელი რადარი არდუინოთი: 6 ნაბიჯი

ვიდეო: ინფრაწითელი რადარი არდუინოთი: 6 ნაბიჯი

ვიდეო: ინფრაწითელი რადარი არდუინოთი: 6 ნაბიჯი
ვიდეო: შეიმეცნე ელექტრონიკა I კურსი #22 გაკვეთილი (ინფრაწითელი გადამცემი) 2024, ივლისი
Anonim
Image
Image

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

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

მარაგები

  • არდუინო (მე ნეკერჩხლის მინი გამოვიყენე)
  • მკვეთრი მანძილის სენსორი (მე ვიყენებ Sharp GP2Y0A02YK0F)
  • მიკრო სერვო (9 გრ)
  • პურის დაფა, მავთულები
  • სურვილისამებრ: 4.7k რეზისტორი, 100nF კონდენსატორი

ნაბიჯი 1: ულტრაბგერითი VS ინფრაწითელი სენსორი

სქემატური
სქემატური

ულტრაბგერითი და ინფრაწითელი მანძილის სენსორებს შორის მთავარი განსხვავება ისაა, რომ ულტრაბგერითი სენსორი ზომავს მანძილს უფრო ფართო დიაპაზონში. ამიტომ მას არ შეუძლია ზუსტად განსაზღვროს დაბრკოლების პოზიცია. ეს ნიშნავს, რომ ის ზომავს უახლოესი ობიექტის მანძილს, რომელიც მდებარეობს angle +-30 ° კუთხის დიაპაზონში.

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

ნაბიჯი 2: სქემატური

სქემატური
სქემატური
სქემატური
სქემატური

ძალიან მარტივია ნაწილებს შორის კავშირის დამყარება. შეარჩიეთ PWM გამომავალი და ანალოგური შეყვანა თქვენს Arduino დაფაზე და დააკავშირეთ Servo და Sharp მანძილის სენსორები იმ ქინძისთავებთან. ამ მიზნით გამოვიყენე შემდეგი ქინძისთავები:

  • PA0: ანალოგური შეყვანა მკვეთრი მანძილის სენსორისთვის
  • PA9: PWM გამომავალი სერვო

ზოგჯერ Sharp IR სენსორს შეიძლება ჰქონდეს ხმაურიანი გამოსავალი, ამიტომ თქვენ უნდა დააყენოთ მარტივი დაბალი გამავლობის ფილტრი. მე გამოვიყენე 4.7k რეზისტორი და 100nF კონდენსატორი ანალოგურ პინზე ხმაურის შესამცირებლად. გარდა ამისა, მე ასევე გავფილტრო კოდში გაზომილი მნიშვნელობა, რამდენჯერმე წავიკითხე და გამოვთვალე საშუალო.

ნაბიჯი 3: სენსორი დამახასიათებელი

სენსორი დამახასიათებელი
სენსორი დამახასიათებელი
სენსორი დამახასიათებელი
სენსორი დამახასიათებელი

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

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

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

თქვენ ნახავთ მარტივ Arduino კოდს დოკუმენტის ბოლოს, რათა გაზომოთ ADC მნიშვნელობა დამახასიათებელი გაზომვის დროს.

ნაბიჯი 4: სერიული კომუნიკაცია

სერიული კომუნიკაცია
სერიული კომუნიკაცია

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

ამ პროკოტოლს შეუძლია განსაზღვროს შეტყობინებების სხვადასხვა ტიპები ზოგადი გზით. ამ პროექტში გამოვიყენე შეტყობინების 2 ტიპი:

  • პარამეტრები: გამოიყენება პარამეტრების გასაგზავნად კომპიუტერულ პროგრამაზე, განსაზღვრული არდუინოზე, როგორიცაა მაქსიმალური მანძილი და დაბრკოლებების რაოდენობა რაუნდში.
  • დაბრკოლება: გამოიყენება გამოვლენილი დაბრკოლების გასაგზავნად. ის იდენტიფიცირებულია სერვო კუთხისა და გაზომილი მანძილის მიხედვით. X-y პოზიცია გამოითვლება კომპიუტერის აპლიკაციით.

ნაბიჯი 5: Qt პროგრამა

Qt აპლიკაცია
Qt აპლიკაცია

არდუინოსთან დასაკავშირებლად და რადარის მსგავსად გაზომილი წერტილების დახატვის მიზნით, მე შევიტანე კომპიუტერის პროგრამა Qt (C ++) - ში. ის იღებს ზოგიერთ პარამეტრს (განსაზღვრულია არდუინოზე) და გაზომილი მანძილის წერტილებს.

თქვენ ასევე შეგიძლიათ ჩამოტვირთოთ პროგრამა და მისი საწყისი კოდი.

ნაბიჯი 6: Arduino წყაროს კოდი

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

გაითვალისწინეთ, რომ თუ თქვენ შეცვლით მკვეთრი მანძილის სენსორის მახასიათებელს, თქვენ უნდა შეცვალოთ distAdcMap მასივის მნიშვნელობები!

  • InfraRadar.c: რადარის კოდი. დააკოპირეთ და ჩასვით თქვენს Arduino პროექტში.
  • InfraRadarMeasurement.c: დამახასიათებელი გაზომვის კოდი. დააკოპირეთ და ჩასვით თქვენს Arduino პროექტში. გამოიყენეთ სერიული კონსოლი ADC ღირებულებების შესამოწმებლად.

გირჩევთ: