Mündəricat:
- Addım 1: Təchizat toplayın
- Addım 2: Kabel çəkmə
- Addım 3: Ekranı sınayın
- Addım 4: Maqnitometr Kodu
- Addım 5: Gələcək İş
Video: Arduino Magnetometer: 5 addım (şəkillərlə)
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:46
Nə tikirik?
İnsanlar maqnit sahələrini aşkar edə bilmirlər, amma biz daim maqnitlərə arxalanan cihazlardan istifadə edirik. Məsələn, mühərriklər, pusulalar, fırlanma sensörləri və külək turbinləri işləmək üçün maqnit tələb edir. Bu dərslik, üç Hall effekti sensoru istifadə edərək maqnit sahəsini hiss edən Arduino əsaslı bir maqnitölçənin necə qurulacağını təsvir edir. Bir yerdəki maqnit sahəsi vektoru, izometrik proyeksiyadan istifadə edərək kiçik bir ekranda göstərilir.
Arduino nədir?
Bir Arduino, kiçik bir açıq mənbə istifadəçi dostu mikro nəzarətçisidir. Rəqəmsal giriş və çıxış pinlərinə malikdir. Sensorlardan daxil olan məlumatları oxumaq üçün faydalı olan analog giriş pinləri də var. Fərqli Arduino modelləri mövcuddur. Bu dərslik ya Arduino Uno ya da Arduino MKR1010 -dan necə istifadə olunacağını izah edir. Ancaq digər modellər də istifadə edilə bilər.
Bu təlimata başlamazdan əvvəl, Arduino inkişaf mühitini və xüsusi modeliniz üçün lazım olan kitabxanaları yükləyin. İnkişaf mühiti https://www.arduino.cc/en/main/software saytında mövcuddur və quraşdırma təlimatları https://www.arduino.cc/en/main/software saytında mövcuddur.
Maqnit sahəsi nədir?
Daimi maqnitlər digər daimi maqnitlərə təsir göstərir. Cari daşıyıcı tellər digər cərəyan aparıcı tellərə təsir göstərir. Daimi maqnitlər və cərəyan aparan tellər də bir -birinə təsir göstərir. Vahid sınaq cərəyanına düşən bu qüvvə bir maqnit sahəsidir.
Bir cismin həcmini ölçsək, tək skalyar ədəd alarıq. Bununla birlikdə, maqnetizm daha mürəkkəb bir kəmiyyət olan bir vektor sahəsi ilə izah olunur. Birincisi, bütün məkanda mövqeyinə görə dəyişir. Məsələn, daimi bir maqnitdən bir santimetr olan maqnit sahəsi, on santimetr uzaqlıqdakı maqnit sahəsindən daha böyük ola bilər.
Sonra, kosmosun hər nöqtəsindəki maqnit sahəsi bir vektorla təmsil olunur. Vektorun böyüklüyü maqnit sahəsinin gücünü ifadə edir. İstiqamət həm qüvvənin istiqamətinə, həm də sınaq cərəyanının istiqamətinə dikdir.
Bir yerdəki maqnit sahəsini ox kimi təsəvvür edə bilərik. Maqnit sahəsini fərqli yerlərdə, bəlkə də fərqli ölçülərdə və fərqli istiqamətlərə işarə edən bir ox ilə təsəvvür edə bilərik. Gözəl bir görselleştirme https://www.falstad.com/vector3dm/ saytında mövcuddur. Qurduğumuz maqnitometr, sensorların yerləşdiyi yerdəki maqnit sahəsini ekranda ox kimi göstərir.
Hall effekti sensoru nədir və necə işləyir?
Hall effekti sensoru, müəyyən bir istiqamətdə maqnit sahəsinin gücünü ölçən kiçik, ucuz bir cihazdır. Həddindən artıq yüklə doldurulmuş yarımkeçiricidən hazırlanmışdır. Bəzi Hall effekti sensorlarının çıxışı analoq bir gərginlikdir. Digər Hall effekti sensorları inteqrasiya edilmiş bir müqayisə cihazına malikdir və rəqəmsal bir çıxış istehsal edir. Digər Hall effekti sensorlar, axın sürətini, fırlanma sürətini və ya digər miqdarları ölçən daha böyük alətlərə birləşdirilmişdir.
Hall effektinin arxasındakı fizika Lorentz qüvvə tənliyi ilə ümumiləşdirilir. Bu tənlik, xarici bir elektrik və maqnit sahəsi səbəbiylə hərəkət edən bir yükün gücünü təsvir edir.
Aşağıdakı şəkil Hall effektini göstərir. Tutaq ki, maqnit sahəsinin gücünü mavi ox istiqamətində ölçmək istəyirik. Şəklin sol hissəsində göstərildiyi kimi, ölçüləcək sahənin istiqamətinə dik olan yarımkeçirici parçası vasitəsilə bir cərəyan tətbiq edirik. Cari yüklərin axınıdır, buna görə də yarımkeçiricidəki bir yük müəyyən bir sürətlə hərəkət edir. Bu yük, rəqəmin ortasında göstərildiyi kimi xarici sahə səbəbiylə bir qüvvə hiss edəcək. Yüklər güc səbəbiylə hərəkət edəcək və yarımkeçiricinin kənarında yığılacaq. Yığılan yüklər səbəbiylə qüvvə, xarici maqnit sahəsindəki qüvvəni balanslaşdırana qədər yüklər əmələ gəlir. Şəklin sağ hissəsində göstərildiyi kimi yarımkeçiricidəki gərginliyi ölçə bilərik. Ölçülən gərginlik maqnit sahəsinin gücü ilə mütənasibdir və cərəyana və maqnit sahəsinin istiqamətinə dik istiqamətdədir.
İzometrik proyeksiya nədir?
Kosmosdakı hər nöqtədə maqnit sahəsi üçölçülü bir vektorla təsvir olunur. Ancaq ekranımız iki ölçülüdür. Üç ölçülü vektoru iki ölçülü bir müstəviyə yansıtmaqla onu ekranda çəkə bilərik. Bunu yerinə yetirmək üçün izometrik proyeksiya, ortoqrafik proyeksiya və ya oblik proyeksiya kimi bir çox yol var.
İzometrik proyeksiyada, x, y və z oxları bir -birindən 120 dərəcə ayrıdır və eyni dərəcədə qabaqcadan görünürlər. İzometrik proyeksiya haqqında əlavə məlumatları və lazım olan düsturları Vikipediyanın mövzu ilə bağlı səhifəsində tapa bilərsiniz.
Addım 1: Təchizat toplayın
Arduino və kabel
Arduino maqnitometrinin beyinləridir. Bu təlimatlar bir Arduino Uno və ya Arduino MKR1010 -dan necə istifadə olunacağını təsvir edir. Hər iki halda da onu kompüterə bağlamaq üçün bir kabel lazımdır.
Seçim 1: Arduino Uno və USB AB Kabeli
www.digikey.com/product-detail/az/arduino/A000066/1050-1024-ND/2784006
www.digikey.com/product-detail/az/stewart-connector/SC-2ABE003F/380-1424-ND/8544570
Seçim 2: Arduino MKR1010 və microUSB kabeli
www.digikey.com/product-detail/az/arduino/ABX00023/1050-1162-ND/9486713
www.digikey.com/product-detail/az/stewart-connector/SC-2AMK003F/380-1431-ND/8544577
TFT Ekranı
TFT, İncə Film Transistoru deməkdir. Bu 1,44 düymlük ekranda 128 x 128 piksel var. Kiçik, parlaq və rəngarəngdir. Qırılma lövhəsinə yapışdırılır. Bununla birlikdə başlıq pinləri ayrıdır, buna görə də onları lehimləməlisiniz. (Lehim və lehimləmə dəmiri lazım.)
www.digikey.com/product-detail/az/adafruit-industries-llc/2088/1528-1345-ND/5356830
- Analog Hall Təsir Sensorları
Üç Hall effekti sensoru tələb olunur. Aşağıdakı link Allegro hissə nömrəsi A1324LUA-T üçündür. Bu sensor üçün pin 1 təchizat gərginliyi, pin 2 torpaq və pin 3 çıxışdır. Digər Hall sensorları da işləməlidir, ancaq rəqəmsal deyil, analoq olduğundan əmin olun. Fərqli bir sensor istifadə edirsinizsə, pinoutu yoxlayın və lazım olduqda naqilləri düzəldin. (Əslində sınaq məqsədi ilə eyni şirkətdən fərqli bir sensor istifadə etdim. Ancaq istifadə etdiyim köhnəlmiş və bu sensor onun əvəzidir.)
www.digikey.com/product-detail/az/allegro-microsystems-llc/A1324LUA-T/620-1432-ND/2728144
Kiçik Breadboard və Tel
www.digikey.com/product-detail/az/adafruit-industries-llc/239/1528-2143-ND/7244929
Test üçün Daimi Maqnitlər
Soyuducu maqnitləri yaxşı işləyəcək.
Addım 2: Kabel çəkmə
Ekrandakı başlıqları lehimləyin.
Sensorları çörək taxtasının bir ucuna, ekranı və Arduino -nu əks ucuna qoyun. Arduino və ekrandakı tellərdə cərəyan, sensorların oxumasını istəmədiyimiz maqnit sahələri yaradır. Əlavə olaraq, sensorları daimi maqnitlərin yanına qoymaq istəyə bilərik ki, bu da ekran və sensorun tellərindəki cərəyana mənfi təsir göstərə bilər. Bu səbəblərdən, sensorların ekrandan və Arduinodan uzaq olmasını istəyirik. Həm də bu səbəblərdən bu maqnitometr çox güclü maqnit sahələrindən uzaq tutulmalıdır.
Sensorları bir -birinə dik, lakin bir -birinə mümkün qədər yaxın qoyun. Sensorların dik olması üçün onları yumşaq bir şəkildə bükün. Sensorların hər bir pinləri ayrı -ayrı bağlana bilməsi üçün çörək taxtasının ayrı bir cərgəsində olmalıdır.
Kablolama iki səbəbdən MKR1010 və Uno arasında bir qədər fərqlidir. Birincisi, Arduino və ekran SPI tərəfindən ünsiyyət qurur. Fərqli Arduino modellərində, müəyyən SPI xətləri üçün fərqli xüsusi pinlər var. İkincisi, Uno -nun analoq girişləri 5 V -a qədər qəbul edə bilər, MKR1010 -un analoq girişləri isə yalnız 3,3 V -ə qədər qəbul edə bilər. Hall effekti sensorlar üçün tövsiyə olunan təchizat gərginliyi 5 V. Sensor çıxışları Arduino analoq girişlərinə, və bunlar təchizat gərginliyi qədər böyük ola bilər. Uno üçün, sensorlar üçün tövsiyə olunan 5 V təchizatı istifadə edin. MKR1010 üçün 3.3 V istifadə edin ki, Arduino analoq girişi heç vaxt idarə edə biləcəyindən daha böyük bir gərginlik görməsin.
İstifadə etdiyiniz Arduino üçün aşağıdakı diaqramları və təlimatları izləyin.
Arduino Uno ilə əlaqə
Ekranda 11 pin var. Onları Arduino Uno -ya aşağıdakı kimi bağlayın. (NC bağlı deyil deməkdir.)
- Vin → 5V
- 3.3 → NC
- Gnd → GND
- SCK → 13
- SO → NC
- SI → 11
- TCS → 10
- RST → 9
- D/C → 8
- CCS → NC
- Lite → NC
Sensorların Vinini Arduino 5V -ə qoşun. Sensorun zəminini Arduino torpağına qoşun. Sensorların çıxışını Arduinonun A1, A2 və A3 analog girişlərinə qoşun.
Arduino MKR1010 ilə naqillər
Ekranda 11 pin var. Onları Arduino -ya aşağıdakı kimi bağlayın. (NC bağlı deyil deməkdir.)
- Vin → 5V
- 3.3 → NC
- Gnd → GND
- SCK → SCK 9
- SO → NC
- SI → MOSI 8
- TCS → 5
- RST → 4
- D/C → 3
- CCS → NC
- Lite → NC
Sensorların Vinini Arduino Vcc -ə qoşun. Bu pin 5V deyil, 3.3V -dir. Sensorun zəminini Arduino torpağına qoşun. Sensorların çıxışını Arduinonun A1, A2 və A3 analog girişlərinə qoşun.
Addım 3: Ekranı sınayın
TFT ekranını işə salaq. Xoşbəxtlikdən, Adafruit -in bəzi istifadəçi dostu kitabxanaları və onlarla birlikdə getmək üçün əla bir dərsliyi var. Bu təlimatlar https://learn.adafruit.com/adafruit-1-44-color-tft-with-micro-sd-socket/overview təlimatını yaxından izləyir.
Arduino inkişaf mühitini açın. Alətlər → Kitabxanaları İdarə Edin. Adafruit_GFX, Adafruit_ZeroDMA və Adafruit_ST7735 kitabxanalarını quraşdırın. Android inkişaf mühitini yenidən başladın.
Qrafik nümunəsi kitabxanalara daxil edilmişdir. Açın. Fayl → Nümunələr → Adafruit ST7735 və ST7789 Kitabxanası → graphicstest. 1.44 ekran şərhini 95 -ci sətirdən və 98 -ci sətirdən şərh etmədən seçin.
Orijinal versiya:
94 // 1.8 TFT ekranı istifadə edərkən bu başlanğıcdan istifadə edin:
95 tft.initR (INITR_BLACKTAB); // Init ST7735S çipi, qara nişan 96 97 // Ya da 1.44 TFT: 98 //tft.initR(INITR_144GREENTAB) istifadə edirsinizsə bu başlatıcıdan (şərh yazmayın) istifadə edin; // ST7735R çipi, yaşıl sekmə
1.44 ekran üçün düzgün versiya:
94 // 1.8 TFT ekranı istifadə edirsinizsə bu başlanğıcdan istifadə edin:
95 //tft.initR(INIT_BLACKTAB); // Init ST7735S çipi, qara nişan 96 97 // Ya da 1.44 TFT: 98 tft.initR (INITR_144GREENTAB) istifadə edirsinizsə bu başlatıcıdan (şərh yazmayın) istifadə edin; // Init SST35R çipi, yaşıl nişan
Ekran SPI istifadə edərək ünsiyyət qurur və fərqli model Arduinos bəzi rabitə xətləri üçün fərqli ayrılmış pinlərdən istifadə edir. Ən qrafik nümunəsi Uno pinləri ilə işləmək üçün qurulmuşdur. MKR1010 istifadə edirsinizsə, 80 və 81 sətirləri arasına aşağıdakı sətirləri əlavə edin.
MKR1010 üçün düzəlişlər:
80
#define TFT_CS 5 #define TFT_RST 4 #define TFT_DC 3 #define TFT_MOSI 8 #define TFT_SCLK 9 Adafruit_ST7735 tft = Adafruit_ST7735 (TFT_CS, TFT_DC, TFT_MRSI, TFT_MOSI; 81 float p = 3.1415926;
Dəyişdirilmiş qrafik nümunəsini qeyd edin. Arduino'yu kompüterə qoşun, əgər hələ bunu etməmisinizsə. Kompüterin Arduino -nu tapa biləcəyini yoxlamaq üçün Alətlər → Lövhə və Alətlər → Limana gedin. Sketch → Yüklə bölməsinə keçin. Nümunə işləyirsə, ekranda xətlər, düzbucaqlılar, mətn və tam demo göstəriləcək. Adafruit dərsliyi, problemlərin həllinə ehtiyac varsa daha ətraflı məlumat verir.
Addım 4: Maqnitometr Kodu
Əlavə edilmiş kodu yükləyin və Arduino inkişaf mühitində açın.
Bu proqram altı funksiyadan istifadə edir:
Setup () ekranı işə salır
Loop () proqramın əsas döngəsini ehtiva edir. Ekranı qaraldır, baltaları çəkir, girişləri oxuyur və maqnit sahəsi vektorunu təmsil edən oxu çəkir. 127 xəttini dəyişdirərək dəyişdirilə bilən bir saniyəlik bir yeniləmə sürətinə malikdir
DrawAxes3d () x, y və z oxlarını çəkir və etiketləyir
DrawArrow3d (), 0 ilə 1023 arasında dəyişən bir x, y və z girişi alır. Bu dəyərlərdən oxun kosmosdakı son nöqtələrini hesablayır. Sonra, ekrandakı son nöqtələri hesablamaq üçün isometricxx () və isometricyy () funksiyalarından istifadə edir. Nəhayət, oxu çəkir və ekranın altındakı gərginliyi yazdırır
Isometricxx () izometrik proyeksiyanın x koordinatını tapır. Bir nöqtənin x, y və z koordinatlarını alır və ekrandakı müvafiq x piksel yerini qaytarır
Isometricyy () izometrik proyeksiyanın y koordinatını tapır. Bir nöqtənin x, y və z koordinatlarını alır və ekrandakı müvafiq y piksel yerini qaytarır
Kodu işə salmadan əvvəl, ekranla SPI ünsiyyəti üçün hansı sancaqlar istifadə edəcəyimizi və sensorlar üçün mənbə gərginliyini təyin etməliyik. MKR1010 istifadə edirsinizsə, 92-96 və 110-cu sətirləri şərh edin. Sonra 85-89 və 108-ci sətirləri şərh edin. Uno istifadə edirsinizsə, 85-89 və 108-ci sətirləri şərh edin. Sonra 92-96 və 110-cu sətirləri qeyd edin.
Kodu yükləyin, Sketch → Yüklə.
X, y və z oxlarını qırmızı rəngdə görməlisiniz. Uç üçün mavi dairəsi olan yaşıl ox, sensorlardakı maqnit sahəsi vektorunu təmsil edir. Sol alt hissədə gərginlik göstəriciləri göstərilir. Mıknatısları sensorlara yaxınlaşdırdıqca gərginlik oxunuşları dəyişməli və oxun ölçüsü artmalıdır.
Addım 5: Gələcək İş
Növbəti addım cihazın kalibrlənməsi olacaq. Sensor məlumat vərəqi, xam sensorun gərginlik dəyərlərini maqnit sahəsinin gücünə necə çevirmək barədə məlumat verir. Kalibrləmə daha dəqiq bir maqnitometrlə müqayisə olunmaqla yoxlanıla bilər.
Daimi maqnitlər cərəyan keçirən tellərlə qarşılıqlı təsir göstərir. Ekranın yaxınlığındakı və Arduino telləri, sensor oxunuşlarına təsir edə biləcək maqnit sahələri yaradır. Əlavə olaraq, bu cihaz güclü bir daimi maqnitin yanında ölçmək üçün istifadə edilərsə, sınaqdan keçirilən cihazdakı maqnit sahəsi ilə qarşılıqlı əlaqə yaradacaq, Arduino və ekrana səs -küy salacaq və ehtimal ki, zədələyəcək. Qoruyucu bu maqnitölçəni daha möhkəm edə bilər. Arduino, metal bir qutuda qorunsa daha böyük maqnit sahələrinə tab gətirə bilər və çılpaq tellər əvəzinə sensorları ekranlı kabellər bağlasa daha az səs çıxacaq.
Maqnit sahəsi bir mövqe funksiyasıdır, buna görə də kosmosun hər nöqtəsində fərqlidir. Bu cihaz bir nöqtədə maqnit sahəsinin x, y və z komponentini ölçmək üçün üç sensordan istifadə edir. Sensorlar bir -birinə yaxındır, ancaq bir nöqtədə deyil və bu, maqnitometrin qətnaməsini məhdudlaşdırır. Maqnit sahəsindəki oxunuşları fərqli nöqtələrdə saxlamaq və sonra onları müvafiq yerlərdə bir sıra oxlar kimi göstərmək yaxşı olardı. Ancaq bu başqa bir gün üçün bir layihədir.
İstinadlar
Adafruit Arduino Graphics kitabxanaları haqqında məlumat
https://learn.adafruit.com/adafruit-1-44-color-tft-with-micro-sd-socket/overview
Maqnit sahəsinin vizuallaşdırılması
https://www.falstad.com/vector3dm/
Hall effekti və Hall effekti sensorlar haqqında məlumat
- https://sensing.honeywell.com/index.php?ci_id=47847
- https://www.allegromicro.com/~/media/Files/Datasheets/A1324-5-6-Datasheet.ashx
İzometrik proyeksiya haqqında məlumat
- https://az.wikipedia.org/wiki/3D_projection
- https://az.wikipedia.org/wiki/Isometric_projection
Tövsiyə:
Arduino Uno ilə Akustik Levitasiya Addım-addım (8 addım): 8 addım
Arduino Uno ilə Akustik Levitasiya Adım Adım (8 addım): ultrasəs səs ötürücüləri L298N Dc dişi qadın adapteri kişi dc pinli Arduino UNOBreadboard Bu necə işləyir: Əvvəlcə Arduino Uno-ya kod yükləyirsiniz (rəqəmsal ilə təchiz edilmiş bir mikro nəzarətçidir) və kodu çevirmək üçün analog portlar (C ++)
Arduino və HMC5883L Magnetometer istifadə edərək rəqəmsal kompas: 6 addım
Arduino və HMC5883L Magnetometer istifadə edərək rəqəmsal kompas: Salam uşaqlar, bu sensor coğrafi Şimal, Cənub, Şərq və Qərbi göstərə bilər, biz insanlar da lazım olduqda istifadə edə bilərik. Belə ki. Bu yazıda Maqnitometr sensorunun necə işlədiyini və mikrokontro ilə necə əlaqə quracağını anlamağa çalışaq
Asan addımlar və şəkillərlə kompüteri necə sökmək olar: 13 addım (şəkillərlə)
Asan Adımlar və Şəkillərlə Kompüteri Sökmək Necə: Bu, kompüterin sökülməsi ilə bağlı təlimatdır. Əsas komponentlərin çoxu moduldur və asanlıqla çıxarılır. Bununla birlikdə, bu mövzuda təşkilatlanmanız vacibdir. Bu, hissələri itirməməyinizə və eyni zamanda montajı asanlaşdırmağa kömək edəcək
SmartPhone Oyun Simulyatoru- Jest Control IMU, Accelerometer, Gyroscope, Magnetometer istifadə edərək Windows Oyunlarını oynayın: 5 addım
SmartPhone Oyun Simulatoru- Jest Control IMU, Accelerometer, Gyroscope, Magnetometer istifadə edərək Windows Oyunlarını oynayın: Bu layihəni dəstəkləyin: https://www.paypal.me/vslcreations açıq mənbəli kodlara bağışlayaraq & daha da inkişaf etdirmək üçün dəstək
Ən Ucuz Arduino -- Ən kiçik Arduino -- Arduino Pro Mini -- Proqramlaşdırma -- Arduino Neno: 6 addım (şəkillərlə birlikdə)
Ən Ucuz Arduino || Ən kiçik Arduino || Arduino Pro Mini || Proqramlaşdırma || Arduino Neno: …………………………. Daha çox video üçün YouTube kanalıma ABUNƏ OLUN ……. .Bu layihə, indiyə qədərki ən kiçik və ən ucuz arduino ilə necə əlaqə quracağınız haqqındadır. Ən kiçik və ən ucuz arduino arduino pro mini -dir. Arduinoya bənzəyir