Orodha ya maudhui:

Rahisi Kupanga !: Hatua 10
Rahisi Kupanga !: Hatua 10

Video: Rahisi Kupanga !: Hatua 10

Video: Rahisi Kupanga !: Hatua 10
Video: Njia Rahisi Zaidi Ya Kupanga Bajeti Yako 2024, Julai
Anonim
Image
Image
Rahisi sana Kupanga!
Rahisi sana Kupanga!

Leo, nitazungumza juu ya STM32 Core, L476RG, ambayo ni uso wa Ultra Low Power. Unaweza kuiona upande wa kushoto wa picha. Kifaa hiki kina baa mbili za kike, moja kila upande, ambazo sio zaidi ya viunganishi vya ngao ya arduino. Hii ni nzuri, hapana?

Kwa maoni yangu, STMicroelectronics ilifanya hivi katika Kitanda chake cha Maendeleo kwa sababu inajua wataalamu hutumia chip hii. Kampuni hii inaenda zaidi na zaidi kuelekea arduino. Na hii pia ni kweli kwa vifaa vingine kadhaa vya kitaalam vya STMicroelectronics.

Mwishowe, kuhusu mradi leo, tutatumia sensorer mbili za DS18b20 pamoja na L476RG. Kwa hivyo tutafanya mkutano rahisi kutumia L476RG, kuagiza maktaba kwenye mazingira ya MBED, kuunda programu katika mazingira ya MBED, na kupata data kutoka L476RG kupitia USB / Serial.

Tayari nimezungumza kidogo juu ya L476RG kwenye video hii: NJIA RAHISI YA KUPANGA MICROCONTROLLER, ambapo ninaonyesha jinsi ya kusanidi mazingira ya MBED, ambayo iko mkondoni.

Watu wengine wanaofuata video zangu wananiuliza ikiwa STM32 inachukua nafasi ya ESP32. Ninasema jambo moja: haibadilishi na haikuweza, kwa sababu ni vitu viwili tofauti kabisa.

Chip hii ya STM32 ni mdhibiti mdogo, au tuseme; sio "nguzo ya vitu" kama ilivyo ESP32. Kwa hivyo jina linaweza kuonekana sawa, lakini ni tofauti kabisa. STM32 ni mdhibiti mkuu wa madhumuni ya jumla, kama PIC, Atmel, kwa mfano.

Hatua ya 1: Rasilimali Zilizotumiwa

Rasilimali Zilizotumiwa
Rasilimali Zilizotumiwa

1 Msingi L476RG

Sensorer 2 DS18b20 (tunatumia moduli za kawaida zisizo na maji kwenye soko)

1 4k7 kupinga

Mini protoboard

Kuruka kwa unganisho

Hatua ya 2: Mkutano

Mkutano
Mkutano

Kwanza tutafanya mkutano kwa kutumia sensorer moja ya joto.

Nguvu yake itakuwa 5V.

Kinga ya 4k7 itatumika kufanya kuvuta kwenye laini ya data (1-Wire).

Tutasoma data kwa kutumia pini ya A0.

Hatua ya 3: Programu mpya katika MBED

Programu mpya katika MBED
Programu mpya katika MBED
Programu mpya katika MBED
Programu mpya katika MBED
Programu mpya katika MBED
Programu mpya katika MBED

Mara baada ya kuweka akaunti yako katika MBED na kuipata, tutaunda programu mpya. Ili kufanya hivyo, bonyeza kulia kwenye "Programu Zangu" na uchague "Programu mpya…"

Thibitisha kuwa "Jukwaa" linafanana na ubao unaotumia.

Sisi sasa bonyeza "Kiolezo".

Tutaunda programu kulingana na mfano, "Onyesha ujumbe kwenye PC ukitumia UART".

Ingiza jina la programu katika "Jina la Programu".

Angalia chaguo la "Sasisha mpango huu na maktaba kwa marekebisho ya hivi karibuni".

Folda mpya ya programu yako itaundwa, pamoja na maktaba chaguomsingi ya MBED na faili kuu.cpp.

Unaweza kuitumia kujaribu ikiwa kila kitu kinafanya kazi vizuri. Ili kufanya hivyo, ingiza tu na unakili kwenye jukwaa.

Kutumia terminal ya chaguo lako, unaweza kupokea ujumbe ufuatao.

Hatua ya 4: Kuingiza Maktaba ya DS18b20

Kuingiza Maktaba ya DS18b20
Kuingiza Maktaba ya DS18b20

Kwa kuwa kuna matoleo kadhaa ya maktaba ya Ds18b20, tutaingiza kwa kutumia url ili mfano wako utumie maktaba hiyo hiyo.

Hatua ya 5: Programu mpya katika MBED

Programu mpya katika MBED
Programu mpya katika MBED
Programu mpya katika MBED
Programu mpya katika MBED

Kwenye uwanja wa "Chanzo URL" jaza: https://os.mbed.com/users/Sissors/code/DS1820/ na ubonyeze kuagiza.

Maktaba yako ya DS1820 inapaswa kuonekana kwenye folda ya programu yako.

Hatua ya 6: Nambari ya Chanzo

Inajumuisha

Tulianza kwa kujumuisha maktaba muhimu.

# pamoja na "mbed.h" // inclusão da biblioteca padrão do MBED # include "DS1820.h" // inclusão da biblioteca do sensor DS1820

Tunafafanua msimamo ambao utawakilisha pini zilizotumiwa.

Kumbuka kuwa DS18b20 ni sensa yenye mawasiliano ya 1-WIRE. Kwa sababu hii, tunatumia maktaba ambayo itashughulikia itifaki nzima ya mawasiliano na vifaa. Hii ni pamoja na kutambua kila kifaa hadi amri za kusoma.

#fafanua PINO_DE_DADOS A0 // fafanua o pino kwa leitura dos dados # fafanua MAX_SENSORES 16 // fafanua o neromero máximo para o vetor de sensores

Tunaunda vector ambayo itaelekeza kwa kila moja ya vifaa 16 vinavyowezekana vilivyounganishwa na laini ya data.

Sensa ya DS1820 * [MAX_SENSORES]; // cria um vetor com 16 posições para os sensores

Tunaanza njia kuu (), ambapo, kwa kutumia njia ya "UnassignedProbe ()" iliyomo kwenye maktaba ya DS1820, tunatafuta vifaa vyote vinavyopatikana kwenye laini ya mawasiliano.

Sisi hujaza vector ya sensorer na visa ambavyo vitawakilisha sensorer zote zinazopatikana.

Tunafanya hivyo mpaka ile ya mwisho ipatikane au hadi tutakapofikia sensorer 16.

int kuu () {int encontrados = 0; wakati (DS1820:: unassignedProbe (PINO_DE_DADOS)) {// inicia a procura por sensores sensor [encontrados] = DS1820 mpya (PINO_DE_DADOS); // cria uma instancia kwa o sensor encontrado encontrados ++; ikiwa (encontrados == MAX_SENSORES) // verifica se atingiu o máximo de sensores break; }

Tunatuma idadi ya sensorer zilizopatikana kwenye laini.

printf ("Dispositivos encontrado (s):% d / r / n / n", encontrados);

Tunaanza kitanzi kisicho na kikomo, tukiomba sensorer zote zinazopatikana zihesabu joto zao, na kisha zipunguze kupitia vector ya sensa kwa kutuma usomaji uliopatikana.

printf ("Dispositivos encontrado (s):% d / r / n / n", encontrados); wakati (1) {sensor [0] -> convertTemperature (kweli, DS1820:: all_devices); // solicita a leitura de temperatura para todos os dispositivos encontrados for (int i = 0; joto ()); //… e retorna a temperatura printf ("\ r / n"); subiri (1); }

Hatua ya 7: Takwimu Zilizopokelewa

Takwimu Zilizopokelewa
Takwimu Zilizopokelewa

Kutumia sensa moja, tunapata pato zifuatazo za serial.

Hatua ya 8: Ikiwa ni pamoja na Sensorer Zaidi

Ikiwa ni pamoja na Sensorer Zaidi
Ikiwa ni pamoja na Sensorer Zaidi
Ikiwa ni pamoja na Sensorer Zaidi
Ikiwa ni pamoja na Sensorer Zaidi

Ili kujaribu nambari, tunaanzisha sensorer nyingine kwenye laini ya mawasiliano, kwa kuiunganisha sawa na sensa ya kwanza.

Kumbuka kuzima mkutano kabla ya kuunganisha sensorer mpya.

Wakati wa kuanzisha tena mkutano, tulipata pato lifuatalo, bila mabadiliko yoyote kwenye nambari ya chanzo.

Hatua ya 9: Angalia Chanzo

# pamoja na "mbed.h" // inclusão da biblioteca padrão do MBED # include "DS1820.h" // inclusão da biblioteca do sensor DS1820 #define PINO_DE_DADOS A0 // define o pino para leitura dos dados #fasili MAX_SENSORES 16 // define # número máximo kwa o vetor de sensores DS1820 * sensor [MAX_SENSORES]; // cria um vetor com 16 posições para os sensores int kuu () {int encontrados = 0; wakati (DS1820:: unassignedProbe (PINO_DE_DADOS)) {// inicia a procura por sensores sensor [encontrados] = DS1820 mpya (PINO_DE_DADOS); // cria uma instancia kwa o sensor encontrado encontrados ++; ikiwa (encontrados == MAX_SENSORES) // verifica se atingiu o máximo de sensores break; } printf ("Dispositivos encontrado (s):% d / r / n / n", encontrados); wakati (1) {sensor [0] -> convertTemperature (kweli, DS1820:: all_devices); // solicita a leitura de temperatura para todos os dispositivos encontrados for (int i = 0; joto ()); //… e retorna a temperatura printf ("\ r / n"); subiri (1); }}

Hatua ya 10: Faili

PDF

Wengine

Ilipendekeza: