Orodha ya maudhui:
- Hatua ya 1: Kidokezo cha Kukumbuka
- Hatua ya 2: MCP23016
- Hatua ya 3: Anwani
- Hatua ya 4: Amri
- Hatua ya 5: Jamii
- Hatua ya 6: Muundo wa Mawasiliano
- Hatua ya 7: Programu
- Hatua ya 8: MCP23016
- Hatua ya 9: ESP-01
- Hatua ya 10: Kuweka ESP01
- Hatua ya 11: Maktaba na Vigeuzi
- Hatua ya 12: Sanidi
- Hatua ya 13: Kitanzi
- Hatua ya 14: ParserData
- Hatua ya 15: SanidiPort
- Hatua ya 16: AndikaPinData
- Hatua ya 17: AndikaBlockData & SetupWiFi
- Hatua ya 18: App
- Hatua ya 19: Pakua
Video: Utengenezaji wa bei ya chini na ESP01: 19 Hatua
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:53
Leo, tutajadili automatisering kutumia ESP01 na 16 relays. Huu ni mfano bora wa muundo wa bei rahisi ambapo unaweza kuzidisha moduli na upate hadi relay 128, kwani inawezekana kuweka hadi kupanua bandari nane kwenye microcontroller hii.
Katika mzunguko wetu, utakuwa na programu kwenye simu mahiri inayowasiliana na ESP01. Itakuwa na expander na bandari 16, kila moja imeunganishwa na relay. Pia tuna chanzo kinachoweza kubadilishwa cha 3v3. Kwa hivyo tutadhibiti moduli ya kupeleka njia 16 kutumia ESP01 kupitia programu ya Android, ambayo ninakupa.
Hatua ya 1: Kidokezo cha Kukumbuka
Rafiki zangu, ni muhimu kutambua kwamba nilitumia kifaa hiki kwenye mzunguko uitwao MCP23016. Ni muhimu pia kwako kutazama video EXPANSOR YA IOS YA ESP32, ESP8266 NA ARDUINO, ambayo ninajaribu kifaa na kuonyesha kuwa inafanya kazi kwa aina hizi tatu za bodi.
Hatua ya 2: MCP23016
Hapa tuna picha ya MCP23016, ambayo ni chip na pini 28. Ni muhimu kutaja pia kuna mfano wa MCP23017, ambao ni wa kawaida zaidi na hauitaji kontena na capacitor, kwa sababu ina saa ya ndani. Hii inafanya iwe rahisi, lakini kubandika kwake ni tofauti na ile tunayoonyesha kwenye video hii.
Hatua ya 3: Anwani
Kufafanua anwani ya MCP23016, tunatumia pini A0, A1, na A2. Unaweza kuwaacha kwa HALI YA juu au CHINI kwa mabadiliko ya anwani.
Anwani itaundwa kama ifuatavyo:
Anwani ya MCP_Adress = 20 + (A2 A1 A0)
Ambapo A2 A1 A0 inaweza kuchukua viwango vya juu / chini, nambari ya binary kutoka fomu 0 hadi 7.
Kwa mfano:
A2> GND, A1> GND, A0> GND (inamaanisha 000, halafu 20 + 0 = 20)
Au vinginevyo, A2> JUU, A1> GND, A0> JUU (inamaanisha 101, halafu 20 + 5 = 25)
Hatua ya 4: Amri
Hapa kuna meza na amri za mawasiliano:
Hatua ya 5: Jamii
GP0 / GP1 - Sajili za Bandari ya Takwimu
Kuna rejista mbili ambazo hutoa ufikiaji wa bandari mbili za GPIO.
Usomaji wa rejista hutoa hadhi ya pini kwenye bandari hiyo.
Kidogo = 1> JUU kidogo = 0> CHINI
IODIR0 / IODIR1
Kuna rejista mbili zinazodhibiti hali ya siri. (Ingiza au Pato)
Bit = 1> Pembejeo Bit = 0> Pato
Hatua ya 6: Muundo wa Mawasiliano
Hapa tunazungumza juu ya anwani ya chip, na ufikie amri na data, ambayo ni aina ya itifaki ambayo inahitaji kufanywa kutuma habari.
Hatua ya 7: Programu
Tutafanya programu ambayo inajumuisha kuwasiliana na ESP01 na MCP23016 ili kuwa na GPIO nyingi za kutumia. Hizi GPIO 16 mpya ambazo tutakuwa nazo zitadhibiti moduli ya kupeleka njia 16.
Amri zitatumwa kwa ESP01 kupitia programu ya Android.
Hatua ya 8: MCP23016
Hatua ya 9: ESP-01
Hii ni bodi ya relay 16.
Hatua ya 10: Kuweka ESP01
Hatua ya 11: Maktaba na Vigeuzi
Tutajumuisha maktaba zinazohusika na mawasiliano ya i2c, na kwa kuunda Kituo cha Ufikiaji na seva ya wavuti. Tunafafanua anwani ya chip na bandari. Mwishowe, tunafafanua anuwai ya kuhifadhi maadili ya pini za MCP.
# ni pamoja na // respondável pela comunicação i2c. # ni pamoja na // respondável por criar of accesspoint eo webserver WiFiServer server (80); fafanua GP0 0x00 // USAJILI WA BANDARI YA DATA 0 #fafanua GP1 0x01 // USAJILI WA BANDARI YA DATA 1 #fafanua IODIR0 0x06 // I / O USAJILI WA MAELEKEZO 0 #fafanua IODIR1 0x07 // I / O USAJILI WA MAELEZO 1 // guarda os valores dos pinos fanya MCP uint8_t currentValueGP0 = 0; uint8_t currentValueGP1 = 0;
Hatua ya 12: Sanidi
Tunaanzisha ESP01 na tunasanidi bandari. Tunasanidi pia Kituo cha Ufikiaji na kuanzisha seva.
kuanzisha batili () {Serial.begin (9600); kuchelewesha (1000); Waya.anza (0, 2); // ESP01 Wire.setClock (200000); sanidiPort (IODIR0, OUTPUT); sanidiPort (IODIR1, OUTPUT); kuandikaBlockData (GP0, 0x00); kuandikaBlockData (GP1, 0x00); kuanzishaWiFi (); // configuração do Access Point server.begin (); // inicializa o server}
Hatua ya 13: Kitanzi
Hapa ninaangalia ikiwa wateja wowote wameunganishwa kwenye seva. Tulisoma pia laini ya ombi la kwanza. Tunatoa data ya kudanganywa, kufafanua kichwa cha majibu chaguomsingi, na kutuma jibu hili kwa mteja.
kitanzi batili () {Wateja wa Wateja wa WiFi = seva haipatikani (); // Verifica se um cliente foi conectado if (! Mteja) {kurudi; } Kamba req = mteja.readStringUntil ('r r'); ("/ MR")! = -1) {parserData (req); // a partir da requisição extrai os dados para manipulação} mwingine {Serial.println ("ombi batili"); kurudi; } mteja.flush (); Kamba s = "HTTP / 1.1 200 sawa / r / n"; // cabeçalho padrão de resposta client.print (s); // envia a resposta para o cliente kuchelewa (1); } // kitanzi cha mwisho
Hatua ya 14: ParserData
Kutoka kwa ombi, tunatafuta data inayohusiana na relays. Kisha tunatuma data kwa MCP23016.
// a partir da requisição busca os dados referente aos relésvoid parserData (String data) {uint8_t relay = -1; uint8_t gp = -1; thamani ya uint8_t = -1; int index = data.indexOf ("/ MR"); // busca o index fanya prefixo MR ikiwa (data [index + 5] == '/') // / MR01 / 1, onde 0 = GP; 1 = HABARI; 1 = ESTADO (imewashwa / imezimwa) {gp = data [index + 3] - '0'; relay = data [index + 4] - '0'; thamani = data [index + 6] - '0'; // envia os dados kwa o MCP23016 // [relay-1] porque o MCP vai de 0-7 os pinos writePinData (relay-1, value, gp); }}
Hatua ya 15: SanidiPort
Tunaweka hali ya pini ya GPIO (GP0 au GP1).
// usanidi wa njia za GPIO (GP0 ou GP1) // como parametro passamos: // port: GP0 ou GP1 // INPUT para todos as portas do GP trabalharem como entada // OUTPUT para todos as portas do GP trabalharem como saida // desturi ya ustadi wa 0-255 indicando o modo das portas (1 = INPUT, 0 = OUTPUT) // ex: 0x01 ou B00000001 ou 1: indica que apenas o GPX.0 trabalhará como entada, o restante como saida void configurePort (bandari ya uint8_t, uint8_t desturi) {if (custom == INPUT) {writeBlockData (port, 0xFF); } vingine ikiwa (desturi == OUTPUT) {writeBlockData (bandari, 0x00); } mwingine {writeBlockData (bandari, desturi); }}
Hatua ya 16: AndikaPinData
Katika sehemu hii ya nambari, tunabadilisha hali ya pini inayotarajiwa na tutume data kwa MCP.
// muda o estado de um pino desejado, passando como parametro: // pin = pino desejado; thamani = 0/1 (on / off); gp = 0/1 (PORT do MCP) batili writePinData (int pin, int value, uint8_t gp) {uint8_t statusGP = 0; ikiwa (gp == GP0) hadhiGP = sasaValueGP0; hali nyingineGP = sasaValueGP1; ikiwa (thamani == 0) {statusGP & = ~ (B00000001 << (pin)); // muda o pino para LOW} mwingine ikiwa (value == 1) {statusGP | = (B00000001 << (pin)); // muda o pino para HIGH} ikiwa (gp == GP0) currentValueGP0 = statusGP; mwingine sasaValueGP1 = statusGP; // envia os dados kwa o MCP writeBlockData (gp, statusGP); kuchelewesha (10); }
Hatua ya 17: AndikaBlockData & SetupWiFi
Hapa, tunatuma data kwa MCP23016 kupitia basi ya i2c. Ifuatayo, tunasanidi mali ili kuwezesha Kituo cha Ufikiaji. Mwishowe, tulisanidi WiFi kwa hali ya Ufikiaji wa Akaunti na tukaunda AP na SSID na PASSWORD.
// envia dados para o MCP23016 através do barramento i2c // reg: REGISTRADOR // data: dados (0-255) batili writeBlockData (uint8_t port, uint8_t data) {Wire.beginTransmission (MCPAddress); Andika waya (bandari); Andika waya (data); Uwasilishaji wa waya (); kuchelewesha (10); }
// usanidi kama viambatisho vya habilitar o UPATIKANAJI WA MAFUNZOPuuza usanidiWiFi () {WiFi.mode (WIFI_AP); WiFi.softAP ("ESP01_RELAY", "12345678"); }
Hatua ya 18: App
Ili kuunda programu, tunatumia MIT App Inventor 2, ambayo inaweza kupatikana kupitia kiunga:
ai2.appinventor.mit.edu/
Maombi yana skrini mbili zilizo na jozi nane za vifungo katika kila moja, ikionyesha hali ya kila relay.
Zifuatazo ni baadhi ya vizuizi vya programu kutumika:
MUHIMU: Anwani chaguomsingi ya IP ya ESP, kwani Kituo cha Ufikiaji ni 192.168.4.1
1. Wakati skrini inapoanza, tunahifadhi IP kwenye kumbukumbu na tunaita utaratibu wa kurejesha hali ya vifungo (ON / OFF).
2. Piga skrini nyingine
1. Wakati wa kubonyeza kitufe cha ON cha mojawapo ya njia, tutafanya mabadiliko ya kuona kwenye kitufe (vitalu vya kijani). WebViewer1. GoToUrl hufanya ombi kwa ESP01 yetu kwa kuunganisha data ya MR01 / 1 kwenye URL.
2. Wakati wa kubofya kitufe cha OFF cha mojawapo ya njia, tutafanya mabadiliko ya kuona kwenye kitufe (vitalu vya kijani). WebViewer1. GoToUrl hufanya ombi kwa ESP01 yetu kwa kuunganisha data ya MR01 / 0 kwenye URL.
Utaratibu huu hutumiwa kuokoa hali ya vifungo (relays), kwa sababu wakati wa kubadilisha skrini, inarudi kwa muundo wa uundaji.
Kizuizi cha manjano kinarudia kwa kila jozi ya vifungo.
Hatua ya 19: Pakua
Hapa kuna faili za mradi wa kupakua:
Faili ya mradi wa MIT App Inventor 2 - pakua
Programu ya APK kusakinisha kwenye android - pakua
Pakua faili zingine:
INO
Ilipendekeza:
Utengenezaji wa Gharama ya bei ya chini ya DIY Kutumia Esp8266: 6 Hatua
Utengenezaji wa Gharama ya bei ya chini ya DIY Kutumia Esp8266: Halo kila mtu, Leo katika maagizo haya nitaenda kukuonyesha jinsi nilivyoandaa mitambo yangu ya nyumbani kama hatua kuelekea nyumba nzuri kutumia moduli ya ESP 8266 inayojulikana kama nodemcu bila kupoteza wakati tuanze:)
Aloi ya Solder ya Utengenezaji wa Chini iliyotengenezwa kwa mikono: Hatua 5
Aloi ya Solder ya chini ya Kufanywa kwa mikono: Fanya aloi ya chini ya kiwango cha kuyeyuka kwa urahisi. Tafadhali Tembelea Blogi Yangu. Vifaa. Bismuth Metal 2.5g63 / 37 Rosin Core Solder 2.5g
Moduli ya Bei ya Bei ya Haraka yenye bei rahisi: Hatua 4
Moduli ya Bee ya Bei ya Bei ya Haraka ya bei rahisi: Nyuki wa haraka ni programu ya IOS / Android ya kukagua / kusanidi Bodi za Kudhibiti Ndege. Pata habari zote hapa: Kiunga cha SpeedyBee Inapeana upataji rahisi kwa watawala wa Ndege bila kutumia kompyuta au kompyuta ndogo, inasaidia sana wakati wako nje katika fi
Dupin - Gharama ya kiwango cha chini cha bei ya chini inayosafirishwa ya Chanzo cha Nuru: Mbinu 11
Dupin - Chanzo cha Mwangaza cha mawimbi ya mawimbi ya kiwango cha chini cha bei ya chini: Iliyopewa jina la Auguste Dupin, anayechukuliwa kuwa mpelelezi wa kwanza wa uwongo, chanzo hiki cha taa nyepesi huendesha chaja yoyote ya 5V ya USB au pakiti ya umeme. Kila kichwa cha kichwa cha LED kwenye sumaku. Kutumia viongozo vya nyota 3W vya bei ya chini, kilichopozwa kikamilifu na shabiki mdogo,
Uhamishaji wa bei rahisi na rahisi wa Utengenezaji wa PCB: Hatua 4
Uhamishaji wa bei rahisi na rahisi kwa Utengenezaji wa PCB: Kuna watu wengi waliotajwa juu ya kutumia Karatasi ya Inkjet Glossy kufanya Uhamishaji wa Toner. Inaweza kufanywa. Lakini si rahisi kuiondoa baada ya kupiga pasi. Umelowesha PCB kwenye maji ya moto kwa zaidi ya dakika kumi. Inachukua muda mwingi. Ikiwa wewe