Мазмұны:
- 1 -қадам: Қолданылған ресурстар
- 2 -қадам: құрастыру
- 3 -қадам: MBED жаңа бағдарламасы
- 4 -қадам: DS18b20 кітапханасын импорттау
- 5 -қадам: MBED жаңа бағдарламасы
- 6 -қадам: бастапқы код
- 7 -қадам: Деректер алынды
- 8 -қадам: Қосымша сенсорлар
- 9 -қадам: Дереккөзді қарау
- 10 -қадам: файлдар
Бейне: Бағдарламалау өте оңай!: 10 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:26
Бүгін мен STM32 Core, L476RG туралы айтатын боламын, бұл Ultra Low Power. Сіз оны суреттің сол жағында көре аласыз. Бұл құрылғыда ардуино қалқанының қосқыштарынан басқа ештеңе жоқ, екі жағында бір әйел штырь бар. Бұл керемет, иә?
Менің ойымша, STMicroelectronics мұны өзінің даму жинағында жасады, себебі ол бұл чипті кәсіпқойлар біледі. Бұл компания ардуиноға көбірек барады. Бұл басқа STMicroelectronics кәсіби жинақтарына да қатысты.
Ақырында, бүгін жобаға қатысты біз L476RG -ге қосымша екі DS18b20 сенсорын қолданамыз. Сонымен, біз L476RG көмегімен қарапайым құрастыруды жасаймыз, кітапхананы MBED ортасына импорттаймыз, MBED ортасында бағдарлама құрамыз және USB / Serial арқылы L476RG деректерін аламыз.
Мен бұл видеода L476RG туралы аз ғана айттым: МИКРОКОНТРОЛЛЕРДІ БАҒДАРЛАУДЫҢ ОҢАЙ ЖОЛЫ, онда мен желіде MBED ортасын қалай баптау керектігін көрсетемін.
Менің бейнелерімді қадағалайтын кейбір адамдар STM32 ESP32 ауыстырады ма деп сұрайды. Мен бір нәрсені айтамын: ол алмастырмайды және алмастыра алмайды, өйткені олар екі түрлі нәрсе.
Бұл STM32 чипі микроконтроллер, дәлірек айтқанда; бұл ESP32 сияқты «заттардың жиынтығы» емес. Атау ұқсас болуы мүмкін, бірақ олар мүлдем басқа. STM32 - бұл жалпы мақсаттағы микроконтроллер, мысалы, PIC, Atmel.
1 -қадам: Қолданылған ресурстар
1 ядролы L476RG
2 DS18b20 сенсоры (біз нарықта су өткізбейтін жалпы модульдерді қолданамыз)
1 4k7 резистор
Шағын протон тақтасы
Қосылу үшін секіргіштер
2 -қадам: құрастыру
Біз бастапқыда температура сенсорларының бірін қолдана отырып құрастыруды жүргіземіз.
Оның қуаты 5 В болады.
Деректер желісінде (1-сым) тарту үшін 4k7 резисторы қолданылады.
Біз деректерді 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» қосу // bblioteca padrão to MBED#қосу «DS1820.h» // inclusão да библиотека сенсор DS1820
Біз қолданылатын түйреуіштерді білдіретін тұрақтыларды анықтаймыз.
Назар аударыңыз, DS18b20-бұл 1-WIRE байланысы бар сенсор. Осы себепті біз құрылғылармен байланыс протоколының барлығын басқаратын кітапхананы қолданамыз. Бұған әр құрылғыны оқу пәрмендеріне дейін сәйкестендіру кіреді.
#PINO_DE_DADOS A0 анықтаңыз // анықтаңыз MAX_SENSORES 16 // сенсорларды анықтаңыз
Біз вектор құрамыз, ол деректер желісіне қосылған 16 мүмкін құрылғылардың әрқайсысына нұсқайды.
DS1820* сенсоры [MAX_SENSORES]; // сенсорлар үшін 16 функция
Біз main () әдісін бастаймыз, мұнда DS1820 кітапханасындағы «unassignedProbe ()» әдісін қолдана отырып, байланыс желісіндегі барлық қол жетімді құрылғыларды іздейміз.
Біз сенсор векторын бар сенсорлардың әрқайсысын көрсететін даналармен толтырамыз.
Біз мұны соңғысы табылғанша немесе максимум 16 сенсорға жеткенше жасаймыз.
int main () {int encontrados = 0; while (DS1820:: unassignedProbe (PINO_DE_DADOS)) {// сенсор сенсоры [encontrados] = жаңа DS1820 (PINO_DE_DADOS); // сенсор encontrado encontrados ++; егер (encontrados == MAX_SENSORES) // сенсорлардың сынуы; }
Біз желіде табылған сенсорлардың санын жібереміз.
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); // intontrados (int i = 0; itemperature ()) үшін, температура мен температура талап етіледі; //… printat a temperatura printf («\ r / n»); күту (1); }
7 -қадам: Деректер алынды
Бір сенсордың көмегімен біз келесі сериялық шығуды аламыз.
8 -қадам: Қосымша сенсорлар
Кодты тексеру үшін біз байланыс желісіне басқа сенсорды енгіземіз, оны бірінші сенсорға параллель қосу арқылы.
Жаңа датчиктерді қосар алдында қондырғыны өшіруді ұмытпаңыз.
Жинақты қайта іске қосқанда, біз бастапқы кодты өзгертпестен келесі шығымды алдық.
9 -қадам: Дереккөзді қарау
#«mbed.h» қосу // bblioteca padrão to MBED #include «DS1820.h» // inclusão da biblioteca do sensor DS1820 #PINO_DE_DADOS A0 анықтаңыз // MAX_SENSORES 16 анықтаңыз DS1820* датчиктерінің датчиктері [MAX_SENSORES]; // main main () {int encontrados = 0; while (DS1820:: unassignedProbe (PINO_DE_DADOS)) {// сенсор сенсоры [encontrados] = жаңа DS1820 (PINO_DE_DADOS); // сенсор encontrado encontrados ++; егер (encontrados == MAX_SENSORES) // сенсорлардың сынуы; } printf («Dispositivos encontrado (s): %d / r / n / n», encontrados); while (1) {sensor [0]-> convertTemperature (true, DS1820:: all_devices); // intontrados (int i = 0; itemperature ()) үшін, температура мен температура талап етіледі; //… printat a temperatura printf («\ r / n»); күту (1); }}
10 -қадам: файлдар
Басқалар
Ұсынылған:
DIY MusiLED, Windows және Linux бір рет басу арқылы синхронды музыкалық жарықдиодты шамдар (32 биттік және 64 биттік). Қайта құру оңай, пайдалану оңай, портқа оңай: 3 қадам
DIY MusiLED, Windows және Linux бір рет басу арқылы синхронды музыкалық жарықдиодты шамдар (32 биттік және 64 биттік). Қайта құру, пайдалану оңай, портқа оңай. Бұл жоба Arduino тақтасына 18 жарықдиодты (6 қызыл + 6 көк + 6 сары) қосуға және компьютердің дыбыстық картасының нақты уақыттағы сигналдарын талдауға және оларды таратуға көмектеседі. жарық диодтары оларды соққы әсеріне қарай жарықтандырады (тұзақ, биік қалпақ, соққы)
ӨЗ МИНЕКРАФТ ҚЫЗМЕТШІҢІЗДІ ЖАСАҢЫЗ! Өте оңай, жылдам және ақысыз! (БАҚ БАСПАУ): 11 қадам (суреттермен)
ӨЗ МИНЕКРАФТ ҚЫЗМЕТШІҢІЗДІ ЖАСАҢЫЗ! Өте оңай, жылдам және ақысыз! (БАС БАУЫН ЖОҚ): Minecraft - бұл өте қызықты ойын, онда сіз қалаған нәрсені жасай аласыз! Бірақ интернетте достармен ойнау кейде ауыр болуы мүмкін. Өкінішке орай, көп ойыншы серверлердің көпшілігі троллмен толтырылған, геймплей тәжірибесі жоқ
Өте қарапайым " Жұмыртқа өте жақсы " Түнгі жарық: 5 қадам
Өте қарапайым " Жұмыртқа өте жақсы " Түнгі жарық: Бұл Eggcellent түнгі жарықтың өте қарапайым нұсқасы!. Егер сіз бұл нұсқаулықты көрмесеңіз, мен сізге оны қарауды ұсынамын. Мен бұған қол жеткізгім келді, бірақ шыдамым жетпеді. Сондықтан мен оны жасаудың оңай жолын таптым. Мұны тексеріңіз
Өте қарапайым Дегенмен өте тиімді пранк (компьютерлік пранк): 3 қадам
Өте қарапайым … Дегенмен өте тиімді пранк (компьютерлік пранк): Бұл нұсқаулық өте қарапайым, бірақ өте тиімді! Не болады: Сіз жәбірленушінің жұмыс үстеліндегі барлық белгішелерді жасырасыз. Сіз пранк жасағаннан кейін компьютерді көргенде жәбірленуші шошып кетеді. Бұл компьютерге ешқандай зиян келтіре алмайды
Өте портативті, өте қатты, ұзақ қызмет ететін, батареямен жұмыс істейтін динамиктер: 9 қадам (суреттермен)
Супер портативті, супер қатты, ұзақ қызмет ететін, батареямен жұмыс істейтін динамиктер: бақша кештері/далалық ойын -сауықтар үшін қуатты динамик жүйесі болғанын қалаған. Көптеген адамдар бұл нұсқаулықтың артық екенін айтады, өйткені арзан күндердегі көптеген боббокс стиліндегі радиостанциялар немесе ipod стиліндегі mp3 д