Სარჩევი:
- ნაბიჯი 1: გამოყენებული რესურსები
- ნაბიჯი 2: შეკრება
- ნაბიჯი 3: ახალი პროგრამა MBED– ში
- ნაბიჯი 4: DS18b20 ბიბლიოთეკის იმპორტი
- ნაბიჯი 5: ახალი პროგრამა MBED– ში
- ნაბიჯი 6: საწყისი კოდი
- ნაბიჯი 7: მიღებული მონაცემები
- ნაბიჯი 8: მეტი სენსორის ჩათვლით
- ნაბიჯი 9: იხილეთ წყარო
- ნაბიჯი 10: ფაილები
ვიდეო: წარმოუდგენლად ადვილია პროგრამირება!: 10 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:19
დღეს მე ვისაუბრებ STM32 Core– ზე, L476RG– ზე, რომელიც არის Ultra Low Power– ის სახე. თქვენ შეგიძლიათ ნახოთ იგი სურათის მარცხნივ. ამ მოწყობილობას აქვს ორი ქალი pin ბარი, თითო თითოეულ მხარეს, რომლებიც სხვა არაფერია თუ არა arduino ფარის კონექტორები. ეს მშვენიერია, არა?
ჩემი აზრით, STMicroelectronics– მა ეს გააკეთა თავის განვითარების ნაკრებში, რადგან იცის, რომ პროფესიონალები იყენებენ ამ ჩიპს. ეს კომპანია უფრო და უფრო მიდის არდუინოსკენ. და ეს ასევე ეხება რამდენიმე სხვა პროფესიონალურ STMicroelectronics კომპლექტს.
დაბოლოს, დღეს რაც შეეხება პროექტს, ჩვენ L476RG– ს გარდა გამოვიყენებთ ორ DS18b20 სენსორს. ასე რომ, ჩვენ გავაკეთებთ მარტივ შეკრებას L476RG გამოყენებით, შევიტანთ ბიბლიოთეკას MBED გარემოში, შევქმნით პროგრამას MBED გარემოში და მივიღებთ მონაცემებს L476RG– დან USB / სერიის საშუალებით.
მე უკვე ცოტათი ვისაუბრე L476RG– ზე ამ ვიდეოში: მიკროკონტროლერის დაპროგრამების უადვილესი გზა, სადაც მე ვაჩვენებ, თუ როგორ ხდება კონფიგურაცია MBED გარემოს, რომელიც არის ინტერნეტში.
ზოგიერთი ადამიანი, ვინც მიყვება ჩემს ვიდეოებს, მეკითხებიან, ცვლის თუ არა STM32 ESP32. ერთს ვამბობ: ის არ ცვლის და არ შეიძლებოდა, რადგან ეს ორი სრულიად განსხვავებული რამაა.
ეს STM32 ჩიპი არის მიკროკონტროლერი, უფრო სწორად; ეს არ არის "საგნების მტევანი", როგორც ESP32. ასე რომ, სახელი შეიძლება მსგავსი იყოს, მაგრამ ისინი სრულიად განსხვავდებიან. STM32 არის ზოგადი დანიშნულების მიკროკონტროლერი, როგორიცაა PIC, Atmel, მაგალითად.
ნაბიჯი 1: გამოყენებული რესურსები
1 ბირთვი L476RG
2 DS18b20 სენსორი (ჩვენ ვიყენებთ საერთო წყალგაუმტარი მოდულებს ბაზარზე)
1 4k7 რეზისტორი
მინი პროტობორდი
მხტუნავები კავშირისთვის
ნაბიჯი 2: შეკრება
ჩვენ თავდაპირველად ჩავატარებთ შეკრებას ერთი ტემპერატურის სენსორის გამოყენებით.
მისი სიმძლავრე იქნება 5 ვ.
4k7 რეზისტორი გამოყენებული იქნება მონაცემთა ხაზის გაყვანის გასაკეთებლად (1-Wire).
ჩვენ წავიკითხავთ მონაცემებს A0 პინის გამოყენებით.
ნაბიჯი 3: ახალი პროგრამა MBED– ში
მას შემდეგ რაც თქვენ შექმნით თქვენს ანგარიშს MBED– ში და შეხვალთ მასზე, ჩვენ შევქმნით ახალ პროგრამას. ამისათვის დააწკაპუნეთ მარჯვენა ღილაკით "ჩემი პროგრამები" და აირჩიეთ "ახალი პროგრამა …"
დარწმუნდით, რომ "პლატფორმა" შეესაბამება თქვენს მიერ გამოყენებულ დაფას.
ჩვენ ახლა დააჭირეთ "შაბლონს".
ჩვენ შევქმნით პროგრამას მაგალითის საფუძველზე "აჩვენეთ შეტყობინება კომპიუტერზე UART გამოყენებით".
შეიყვანეთ პროგრამის სახელი "პროგრამის სახელი".
შეამოწმეთ "განაახლეთ ეს პროგრამა და ბიბლიოთეკები უახლესი გადასინჯვისთვის" ვარიანტი.
შეიქმნება თქვენი პროგრამის ახალი საქაღალდე, მათ შორის ნაგულისხმევი MBED ბიბლიოთეკა და main.cpp ფაილი.
თქვენ შეგიძლიათ გამოიყენოთ იგი შესამოწმებლად, თუ ყველაფერი კარგად მუშაობს. ამისათვის უბრალოდ შეადგინეთ და დააკოპირეთ იგი პლატფორმაზე.
თქვენი არჩევანის სერიული ტერმინალის გამოყენებით შეგიძლიათ მიიღოთ შემდეგი შეტყობინებები.
ნაბიჯი 4: DS18b20 ბიბლიოთეკის იმპორტი
ვინაიდან არსებობს ბიბლიოთეკების რამდენიმე ვერსია Ds18b20– ისთვის, ჩვენ შემოვიღებთ url– ის გამოყენებით ისე, რომ თქვენი მაგალითი იყენებს ერთსა და იმავე ბიბლიოთეკას.
ნაბიჯი 5: ახალი პროგრამა MBED– ში
"წყაროს URL" ველში შეავსეთ: https://os.mbed.com/users/Sissors/code/DS1820/ და დააწკაპუნეთ იმპორტზე.
თქვენი DS1820 ბიბლიოთეკა უნდა გამოჩნდეს თქვენი პროგრამის საქაღალდეში.
ნაბიჯი 6: საწყისი კოდი
მოიცავს
ჩვენ დავიწყეთ საჭირო ბიბლიოთეკების ჩართვით.
#მოიცავს "mbed.h" // ბიბლიოთეკის ჩათვლით MBED#მოიცავს "DS1820.h" // ბიბლიოთეკის ჩათვლით DS1820
ჩვენ განვსაზღვრავთ მუდმივებს, რომლებიც წარმოადგენენ გამოყენებულ ქინძისთავებს.
გაითვალისწინეთ, რომ DS18b20 არის სენსორი 1-WIRE კომუნიკაციით. ამ მიზეზით, ჩვენ ვიყენებთ ბიბლიოთეკას, რომელიც გაუმკლავდება მოწყობილობებთან კომუნიკაციის მთელ პროტოკოლს. ეს მოიცავს თითოეული მოწყობილობის იდენტიფიცირებას წაკითხულ ბრძანებებამდე.
#განსაზღვრეთ PINO_DE_DADOS A0 // განსაზღვრეთ o pino para leitura dos dados#განსაზღვრეთ MAX_SENSORES 16 // განსაზღვრეთ o número máximo para o vetor de sensores
ჩვენ ვქმნით ვექტორს, რომელიც მიუთითებს მონაცემთა ხაზთან დაკავშირებულ 16 შესაძლო მოწყობილობაზე.
DS1820* სენსორი [MAX_SENSORES]; // cria um vetor com 16 posições para os sensores
ჩვენ ვიწყებთ ძირითად () მეთოდს, სადაც DS1820 ბიბლიოთეკაში შემავალი "unassignedProbe ()" მეთოდის გამოყენებით, ჩვენ ვეძებთ ყველა არსებულ მოწყობილობას საკომუნიკაციო ხაზში.
ჩვენ ვავსებთ სენსორის ვექტორს იმ შემთხვევებით, რომლებიც წარმოადგენენ თითოეულ არსებულ სენსორს.
ჩვენ ამას ვაკეთებთ მანამ, სანამ ბოლო არ მოიძებნება ან სანამ არ მივაღწევთ მაქსიმუმ 16 სენსორს.
int main () {int encontrados = 0; while (DS1820:: unassignedProbe (PINO_DE_DADOS)) {// inicia a procura por sensores sensor [encontrados] = new DS1820 (PINO_DE_DADOS); // cria uma instancia para o sensor encontrado encontrados ++; თუ (encontrados == MAX_SENSORES) // verifica se atingiu o máximo de sensores break; }
ჩვენ ვაგზავნით ხაზზე ნაპოვნი სენსორების რაოდენობას.
printf ("Dispositivos encontrado (s): %d / r / n / n", encontrados);
ჩვენ ვიწყებთ უსასრულო მარყუჟს, ვითხოვთ ყველა არსებულ სენსორს გამოთვალოს მათი შესაბამისი ტემპერატურა და შემდეგ გაიმეოროს სენსორული ვექტორით მიღებული კითხვების გაგზავნით.
printf ("Dispositivos encontrado (s): %d / r / n / n", encontrados); while (1) {sensor [0]-> convertTemperature (true, DS1820:: all_devices); // solicita a leitura de temperatura para todos os dispositivos encontrados for (int i = 0; itemperature ()); //. რა რა e retorna a temperatura printf ("\ r / n"); ლოდინი (1); }
ნაბიჯი 7: მიღებული მონაცემები
ერთი სენსორის გამოყენებით, ჩვენ ვიღებთ შემდეგ სერიულ გამომავალს.
ნაბიჯი 8: მეტი სენსორის ჩათვლით
კოდის შესამოწმებლად, ჩვენ შემოვიღებთ სხვა სენსორს საკომუნიკაციო ხაზში, უბრალოდ პირველი სენსორის პარალელურად მისი შეერთებით.
გახსოვდეთ, რომ გამორთოთ ასამბლეა ახალი სენსორების შეერთებამდე.
ასამბლეის გადატვირთვისას ჩვენ მივიღეთ შემდეგი გამომავალი, კოდის ყოველგვარი ცვლილების გარეშე.
ნაბიჯი 9: იხილეთ წყარო
#მოიცავს "mbed.h" // ბიბლიოთეკის ჩათვლით MBED #მოიცავს "DS1820.h" // ბიბლიოთეკის ჩათვლით სენსორით DS1820 #განსაზღვრეთ PINO_DE_DADOS A0 // განსაზღვრეთ pino para leitura dos dados #განსაზღვრეთ MAX_SENSORES 16 // განსაზღვრეთ o número máximo para or vetor de sensores DS1820* სენსორი [MAX_SENSORES]; // cria um vetor com 16 posições para os sensores int main () {int encontrados = 0; while (DS1820:: unassignedProbe (PINO_DE_DADOS)) {// inicia a procura por sensores sensor [encontrados] = new DS1820 (PINO_DE_DADOS); // cria uma instancia para o sensor encontrado encontrados ++; თუ (encontrados == MAX_SENSORES) // verifica se atingiu o máximo de sensores break; } printf ("Dispositivos encontrado (s): %d / r / n / n", encontrados); while (1) {sensor [0]-> convertTemperature (true, DS1820:: all_devices); // solicita a leitura de temperatura para todos os dispositivos encontrados for (int i = 0; itemperature ()); //. რა რა e retorna a temperatura printf ("\ r / n"); ლოდინი (1); }}
ნაბიჯი 10: ფაილები
სხვა
გირჩევთ:
M5STACK როგორ გამოვხატოთ ტემპერატურა, ტენიანობა და წნევა M5StickC ESP32 Visuino– ს გამოყენებით - ადვილია: 6 ნაბიჯი
M5STACK როგორ გამოვხატოთ ტემპერატურა, ტენიანობა და წნევა M5StickC ESP32– ზე Visuino– ს გამოყენებით - ადვილი გასაკეთებელი: ამ გაკვეთილში ჩვენ ვისწავლით თუ როგორ უნდა დავპროგრამოთ ESP32 M5Stack StickC Arduino IDE– ით და Visuino– ით ტემპერატურის, ტენიანობის და წნევის ჩვენების მიზნით ENV სენსორის გამოყენებით (DHT12, BMP280, BMM150)
ადვილია ჯგუფის გარეთ მენეჯმენტი IT– სთვის: 4 ნაბიჯი
Easy Out of Band Management IT: ხატები Freepik– ისგან www.flaticon.com ისწავლეთ როგორ დააკონფიგურიროთ Band Management– ის გარეთ (OOBM) დისტანციური მართვის საშუალებით. ის კონფიგურირებულია Raspberry Pi და Android ან iPhone მოწყობილობა USB შეყვანის საშუალებით. ეს მუშაობს RPi2/RPi3/RPi4– ზე. თუ არ იცით რა
ინტერაქტიული LED კრამიტის კედელი (უფრო ადვილია, ვიდრე ჩანს): 7 ნაბიჯი (სურათებით)
ინტერაქტიული LED კრამიტის კედელი (უფრო ადვილია, ვიდრე ჩანს): ამ პროექტში მე ავაშენე ინტერაქტიული LED კედლის ჩვენება Arduino და 3D ბეჭდვით ნაწილების გამოყენებით. ამ პროექტის შთაგონება ნაწილობრივ მოვიდა Nanoleaf ფილებიდან. მინდოდა შემექმნა საკუთარი ვერსია, რომელიც არამარტო უფრო ხელმისაწვდომი იყო, არამედ
მობილურით კონტროლირებადი Bluetooth მანქანა -- ადვილია -- მარტივი -- Hc-05 -- საავტომობილო ფარი: 10 ნაბიჯი (სურათებით)
მობილურით კონტროლირებადი Bluetooth მანქანა || ადვილია || მარტივი || Hc-05 || Motor Shield: … გთხოვთ გამოიწეროთ ჩემი YouTube არხი ………. ეს არის Bluetooth კონტროლირებადი მანქანა, რომელიც მობილურთან კომუნიკაციისთვის იყენებდა HC-05 Bluetooth მოდულს. ჩვენ შეგვიძლია გავაკონტროლოთ მანქანა მობილურით Bluetooth– ის საშუალებით. არის აპლიკაცია მანქანის მოძრაობის გასაკონტროლებლად
ადვილია მზის დამტენი: 5 ნაბიჯი
ადვილია მზის დამტენი: ეს არის მარტივი პროექტი, რომლის გაკეთებაც სახალისოა