Orodha ya maudhui:
- Hatua ya 1: Kinachohitajika
- Hatua ya 2: Jengo la Mnara
- Hatua ya 3: Mchoro wa Wiring
- Hatua ya 4: Kanuni ya Uendeshaji
- Hatua ya 5: Mchezaji wa Mp3
- Hatua ya 6: Kupakia Programu hiyo kwa Arduino
- Hatua ya 7: Udhibiti
- Hatua ya 8: Kutuma Ujumbe Kutumia URL
- Hatua ya 9: Anymous URL ya Kutuma Ujumbe
- Hatua ya 10: Ujumuishaji na IFTTT 1/7
- Hatua ya 11: Ujumuishaji na IFTTT 2/7
- Hatua ya 12: Ujumuishaji na IFTTT 3/7
- Hatua ya 13: Ujumuishaji na IFTTT 4/7
- Hatua ya 14: Ujumuishaji na IFTTT 5/7
- Hatua ya 15: Ujumuishaji na IFTTT 6/7
- Hatua ya 16: Ujumuishaji na IFTTT 7/7
- Hatua ya 17: Muhtasari
Video: Mtaarifu: Hatua 17
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:54
Kifaa kinaweza kushikamana kwa mfano kwenye mfumo wa IFTTT na kuguswa wakati barua mpya inaonekana. Katika app.remoteme.org tutazalisha kiunga baada ya kupiga simu ambayo ni kaiti zitatumwa kwa Arduino, na Arduino itaonyesha athari nyepesi na kucheza mp3 kutoka SDcard
Hatua ya 1: Kinachohitajika
- NodeMCU, WemOS au kitu kama hicho
- Pete mbili za LED zilizo na diode za WS2812B (nimetumia pete za kuongoza za 16)
- DFRobotDFPlayerMini - hii ni kicheza mp3. Inacheza mp3 kutoka SDcard, na kuwasiliana na Arduino na RX / TX
- Spika
- Kadi ya SD
- Mtafsiri wa mantiki -Nimetumia hii, kicheza mp3 hutumia 5V na Arduino 3.3 ndio sababu tunahitaji kibadilishaji hiki
- Maarifa na ujuzi wa kutengeneza PCB rahisi kwa ubinafsi wetu
Mnara:
- kadibodi - unene mbili tofauti
- Kufuatilia karatasi
- karatasi ya alumini
Hatua ya 2: Jengo la Mnara
Juu ya mpango wa mnara kwa mtazamo wa kando (adventure yangu na mchoro wa kiufundi uliishia shule ya msingi), vipimo vyote kwa milimita.
Kanuni ya utendaji
- pete ya mwangaza wa taa za LED
- Kufuatilia karatasi
- Koni iliyokatwa, iliyotengenezwa kwa kadibodi na kufunikwa na karatasi ya aluminium, kwa hivyo inaonyesha taa kutoka kwa pete zilizoongozwa, kwenye sura ya 3 ‘= mesh iliyokatwa
- tube ya katoni - inashikilia minara kwa wima, ndani ya bomba kuna nyaya za viunzi
- Urefu unategemea wewe nina 85mm
- Simama ndani ya sehemu zote za elektroniki
Vipengele vyote vya usawa vinapaswa kufanywa kwa kadibodi nene.
Hatua ya 3: Mchoro wa Wiring
Kicheza mp3 hutolewa na voltage ya 5V na inawasiliana na Arduino kupitia TX / RX, kibadilishaji cha mantiki kinahitajika kwa sababu Arduino yenyewe inafanya kazi kwa voltage 3.3V. Udhibiti wa pete pia umeunganishwa na Arduino (D5, D6) kupitia kibadilishaji cha mantiki.
Katika hazina, Utapata faili za tai na mipango ya PCB
Ninashauri sio kuuza Arduino na mchezaji wa mp3 tu kutumia dhahabu za kike
Hatua ya 4: Kanuni ya Uendeshaji
Arduino yetu inaunganisha kwenye mfumo wa app.remoteme.org kwa kutumia WebSocket (kuna maktaba zilizo tayari) kupitia unganisho hili jumbe 5-byte zinatumwa:
- Byte ya kwanza ya athari nyepesi kwa pete ya juu ya LED
- athari ya pili ya mwanga kwa pete ya chini ya LED
- idadi ya faili ya mp3 itakayochezwa
- idadi ya sekunde muda gani athari nyepesi na mp3 zitachezwa
- ikiwa mp3 inapaswa kuchezwa mara moja au kwa kitanzi
nambari ya chanzo
Nambari yote ya chanzo Unaweza kupata hapa
katika faili za SingleRing.cpp na SingleRing.h kuna darasa la kudhibiti athari za pete za LED. Ninashauri uanze kwa kuangalia kazi ya setMode (int m):
utupu SingleRing:: setMode (int m) {switch (m) {kesi 0: setConfiguration (0, 0, 50, 0, 5, 1); kuvunja; // off = 0 kesi 1: seti Usanidi (6, 0, 50, 0, 0, 20); kuvunja; // kesi ya kijani kibichi 2: seti Usanidi (6, 0, 0, 50, 0, 20); // kesi ya bluu ya kawaida 3: seti Usanidi (6, 50, 0, 0, 0, 20); kuvunja; // kesi nyekundu nyekundu 4: seti Usanidi (6, 50, 10, 0, 0, 20); kuvunja; // kesi ya kawaida ya machungwa 5: seti Usanidi (1, 0, 100, 0, 5, 2); // polisi kesi ya kijani kibichi saa 6: seti Usanidi (1, 0, 100, 0, 5, -2); // polisi refund kesi ya kijani kibichi 7: seti Usanidi (1, 0, 0, 100, 5, 2); // kesi ya bluu ya saa 8 ya polisi: seti Usanidi (1, 0, 0, 100, 5, -2); kuvunja; // polisi inarudisha kesi ya bluu 9: seti Usanidi (1, 100, 0, 0, 5, 2); kuvunja; // kesi nyekundu 10 ya polisi: seti Usanidi (1, 100, 0, 0, 5, -2); // polisi rejea kesi nyekundu 11: seti Usanidi (1, 100, 20, 0, 5, 2); // kesi ya machungwa ya kiwango cha polisi 12: seti Usanidi (1, 100, 20, 0, 5, -2); // polisi rejea kesi ya machungwa 13: seti Usanidi (2, 0, 0, 50, 8, 10); kuvunja; // msalaba kesi ya bluu wastani 14: seti Usanidi (2, 0, 0, 50, 8, -10); kuvunja; // msalaba rejesha kesi ya bluu 15: seti Usanidi (5, 0, 50, 0, 0, 20); kuvunja; // blink kesi ya kijani ya kawaida 16: setConfiguration (5, 0, 50, 0, 0, -20); kuvunja; // blink odwyrtka kesi ya kijani 17: seti Usanidi (5, 0, 0, 50, 0, 20); // blink kesi ya kawaida ya bluu 18: setConfiguration (5, 0, 0, 50, 0, -20); kuvunja; kuvunja; // blink kesi nyekundu 20: setConfiguration (5, 50, 0, 0, 0, -20); kuvunja; // blink rejea kesi nyekundu 21: seti Usanidi (5, 50, 10, 0, 0, 20); kuvunja; // blink kesi ya machungwa ya kawaida 22: seti Usanidi (5, 50, 10, 0, 0, -20); kuvunja; // blink revert default ya machungwa: setConfiguration (0, 0, 50, 0, 5, 1); kuvunja; // off = 0}}
kulingana na parameter iliyopewa, pete itaonyesha athari. Unaweza kuongeza athari yako mwenyewe kwa kupiga kazi setConfiguration na vigezo vipya (mabadiliko ya rangi, kasi ya kuonyesha) kwa kuongeza hali mpya, au kuongeza athari mpya kabisa - au nijulishe kwenye maoni ikiwa nitaipenda nitaongeza athari mpya
arduino.ino:
# pamoja na "Arduino.h" # pamoja na "SoftwareSerial.h" # pamoja na "DFRobotDFPlayerMini.h"
# pamoja
# pamoja na # pamoja na # pamoja na "SingleRing.h"
# pamoja
#jumuisha #jumuisha
# pamoja
#fafanua WIFI_NAME ""
#fafanua DIODES_COUNT 16
JuuRing juu = SingleRing (DIODES_COUNT, D5);
Chini ya SingleRing = SingleRing (DIODES_COUNT, D6);
SoftwareSerial mySoftwareSerial (D4, D3); // RX, TX
DFRobotDFPlayerMini myDFPlayer; RemoteMe & remoteMe = RemoteMe:: getInstance (TOKEN, DEVICE_ID);
ESP8266WiFiMulti WiFiMulti;
kuanzisha batili () {mySoftwareSerial.begin (9600); Serial. Kuanza (115200);
ikiwa (! myDFPlayer.begin (mySoftwareSerial)) {// Tumia softwareSerial kuwasiliana na mp3.
Serial.println (F ("Haiwezi kuanza:")); Serial.println (F ("1. Tafadhali angalia tena unganisho!")); Serial.println (F ("2. Tafadhali weka kadi ya SD!")); wakati (kweli); } Serial.println (F ("DFPlayer Mini mkondoni."));
myDFPlayer.setTimeOut (500); // Weka muda wa kawaida wa ushirika kati ya 500ms
myDFPlayer.volume (30);
myDFPlayer. EQ (DFPLAYER_EQ_NORMAL);
myDFPlayer.outputDevice (DFPLAYER_DEVICE_SD); WiFiMulti.addAP (WIFI_NAME, WIFI_PASSWORD); wakati (WiFiMulti.run ()! = WL_CONNECTED) {kuchelewa (100); }
kijijiniMe.setUserMessageListener (onUserMessage);
kijijiniMe.setupTwoWayCommunication ();
kijijiniMe.sendRegisterDeviceMessage (DEVICE_NAME);
kuanzisha ();
kuanzisha (); juu. wazi (); chini. wazi (); }
boolean TurnOff = kweli;
turnOffMillis = 0;
utupu kwenyeUserMessage (uint16_t senderDeviceId, uint16_t dataSize, uint8_t * data) {
uint16_t pos = 0; uint8_t bottomMode = RemoteMeMessagesUtils:: getUint8 (data, pos); uint8_t topMode = RemoteMeMessagesUtils:: getUint8 (data, pos); uint8_t trackNumber = RemoteMeMessagesUtils:: getUint8 (data, pos); wakati wa uint8_t = RemoteMeMessagesUtils:: getUint8 (data, pos); uint8_t mode = RemoteMeMessagesUtils:: getUint8 (data, pos);
chini.setMode (chiniMode);
top.setMode (topMode); ikiwa (mode == 1) {myDFPlayer.loop (trackNumber); } mwingine {myDFPlayer.play (trackNumber); } TurnOff = uongo; turnOffMillis = millis () + 1000 * wakati; }
kitanzi batili ()
{remoteMe.loop (); juu. kitanzi (); chini. kitanzi (); ikiwa (turnOffMillis
}
maelezo:
#fafanua WIFI_NAME.
Tunahitaji kutoa data hapo juu, maagizo ya kina hapa kwenye kiunga pia nimeonyesha jinsi ya kujiandikisha katika remoteme.org na kutoa ishara, batili onUserMessage (uint16_t senderDeviceId, uint16_t dataSize, uint8_t * data) {uint16_t pos = 0; uint8_t bottomMode = RemoteMeMessagesUtils:: getUint8 (data, pos); uint8_t topMode = RemoteMeMessagesUtils:: getUint8 (data, pos); uint8_t trackNumber = RemoteMeMessagesUtils:: getUint8 (data, pos); wakati wa uint8_t = RemoteMeMessagesUtils:: getUint8 (data, pos); uint8_t mode = RemoteMeMessagesUtils:: getUint8 (data, pos);
chini.setMode (chiniMode);
top.setMode (topMode); ikiwa (mode == 1) {myDFPlayer.loop (trackNumber); } mwingine {myDFPlayer.play (trackNumber); } TurnOff = uongo; turnOffMillis = millis () + 1000 * wakati; }
Kazi hii itaitwa wakati ujumbe unakuja Arduino na kuonyesha arifa. Nambari iko wazi sana kwamba inajielezea yenyewe. Ninataja maelezo ya madarasa kwa nyaraka hapa na hapa
kitanzi batili () {remoteMe.loop (); juu. kitanzi (); chini. kitanzi (); ikiwa (turnOffMillis <millis ()) {
ikiwa (! Amezimwa) {
juu. wazi ();
chini. wazi (); myDFPlayer.stop (); TurnOff = kweli; }}
Katika kitanzi, tunaita kazi za kitanzi za vitu, na pia ikiwa wakati wa kuonyesha wa arifa umepita, tunazima diode na sauti.
Hatua ya 5: Mchezaji wa Mp3
Inawasiliana na Arduino kupitia TX / RX - Maelezo ya kicheza yenyewe hapa, na maktaba hapa
Tunapakia faili za mp3 kwenye kadi ya SD. Faili kwenye kadi zimepangwa kwa herufi na kisha kwa kupiga simu:
kucheza (5);
Tunacheza faili ya tano kutoka kwa kadi ya SD kutoka saraka ya mizizi. Ndio sababu ni vizuri kutoa faili kwenye viambishi awali vya kadi ya SD 01, 02 nk. Kwa kesi yangu inaonekana kama skrini ya juu ya kuchapisha
Kutengeneza amri za sauti Unaweza kutumia ukurasa huu.
Hatua ya 6: Kupakia Programu hiyo kwa Arduino
Kabla ya kupakia mchoro kwa Arduino, Lazima upakue maktaba zinazohitajika hapa utapata maagizo ya kina
kwa kuongeza, tunahitaji kusanikisha maktaba ya DFRobotDFPlayerMini na Adafruit_NeoPixel
Hatua ya 7: Udhibiti
Tunatuma kwa Arduino yetu ka tano
- Byte ya kwanza ya athari nyepesi kwa pete ya juu ya LED
- athari ya pili ya mwanga kwa pete ya chini ya LED
- idadi ya faili ya mp3 itakayochezwa
- idadi ya sekunde muda gani athari nyepesi na mp3 zitachezwa
- ikiwa mp3 inapaswa kuchezwa mara moja au kwa kitanzi (1 ikiwa inapaswa kuchezwa kwa kitanzi)
Kwa kutuma ka
07 0F 01 05 01
Pete ya juu itaonyesha taa za polisi (mode 6) chini moja ya kijani kibichi (mode 15) (angalia setMode function kwa singleRing.cpp na maoni karibu nayo). Fomu ya kwanza ya faili ya SDcard itachezwa kwa sekunde 5. Na faili itachezwa kitanzi (angalia kazi kwenyeUserMessage kwa arduino.ino)
Hebu tutume ka hizi. Angalia skrini hapo juu, na ubofye ikoni kwa mpangilio ulioandikwa na 1, 2, 3. Dirisha linaonekana
Kisha angalia skrini ya pili - na ujaze dirisha kama kwenye skrini ya pili
Dirisha inayoonekana hutumiwa kutuma ujumbe kwa kifaa. Kwenye uwanja 1, chagua kifaa cha mtumaji - kwa sababu tuna kifaa kimoja tu, tunachagua (hii ni uwanja wa lazima na haijalishi ni kifaa kile kile ambacho tunatuma ujumbe) Kwenye uwanja wa 2 tunapeana ka tuma (kwa nyekundu thamani tuliyoingiza katika 2 itawakilishwa kama kamba) kisha bonyeza kitufe cha Tuma.
Baada ya kutuma ujumbe, arifu wetu anapaswa kuguswa kwa kuonyesha athari zinazofaa za taa na kucheza mp3 iliyochaguliwa. Ninakuhimiza ujaribu athari tofauti kwa kupeana ka mbili za kwanza za nambari kati ya 0 na 22 (angalia maelezo katika kazi ya setMode).
Hatua ya 8: Kutuma Ujumbe Kutumia URL
Ikiwa tunataka kuonyesha arifa kutoka kwa programu ya nje kwa mfano na IFTTT, tunahitaji kuwa na URL ambayo itafanya kitu sawa sawa na tulivyofanya kwenye dirisha katika hatua ya awali. remoteme.org hutoa REST APi. Nenda kwa kubonyeza kichupo cha swagger upande wa kushoto (wa mwisho). Ukurasa utaonyeshwa, kwenye ukurasa huu tunaweza pia kujaribu URL zetu.
Kwenye skrini ya kwanza Una kazi Unahitaji kupanua, kisha ujaze data kama kwenye skrini ya pili.
jaza data kama ilivyo kwenye skrini hapo juu. Baada ya kubofya kutekeleza tutatuma ujumbe
070F010501
Mpokeaji ni kifaa kilicho na kitambulisho cha 205, kifaa hicho pia ni mtumaji. MessageId na mipangilio ya "No_RENEVAL" haina maana. Na kisha bonyeza Execute. Notificator itajibu kwa njia sawa na wakati wa kutuma ujumbe kutoka kwa programu. Baada ya kupiga REST chini ni URL ambayo iliitwa - angalia skrini ya tatu. Nakili na ubandike kwenye kivinjari URL iliwekwa alama na mpaka wa kijani kibichi. Kwenye skrini ya nne kivinjari changu cha chrome baada ya URL kubandikwa
Kwa upande wangu, URL ni:
app.remoteme.org/api/*/rest/v1/message/sendUserMessageHexString/205/1/NO_RENEWAL/1/070F010501/
Hatua ya 9: Anymous URL ya Kutuma Ujumbe
Katika hatua ya awali Una URL ambayo hutuma data kwenye kifaa chako. Kwa bahati mbaya, baada ya kutoka kwa app.remoteme.org, inaacha kufanya kazi. Hii ni kwa sababu hatukutoa ishara ya uthibitishaji, na hatujaingia tena. Wacha tupate ishara (au tuunde mpya) na tuibandike kwenye URL badala ya nyota.
Angalia skrini na ubadilishe * katika URL na ishara yako
kwa upande wangu ishara ni:
~ 267_ZxoWtJ) 0ph & 2c
kwa hivyo URL yangu ya mwisho inaonekana kama:
app.remoteme.org/api/~267_ZxoWtJ)0ph&2c/rest/v1/message/sendUserMessageHexString/205/1/NO_RENEWAL/1/070F010501/
Sasa tunaweza kuipigia simu hata ikiwa hatujaingia. Na ikiitwa, ujumbe utatumwa kwa kifaa chetu 205
Hatua ya 10: Ujumuishaji na IFTTT 1/7
Url iliyoundwa kwa hatua hapo juu inafaa kutekelezwa na matumizi ya nje. Jinsi ya kuitumia nitaonyesha kwenye IFTTT. Nitasanidi ili arifu iwashe wakati barua pepe inakuja kwenye anwani ya barua pepe (Akaunti ya Gmail).
Ingia kwenye IFTTT kisha nenda kwenye kichupo cha My Applets na kisha "Applet mpya" - skrini ya kwanza
Hatua ya 11: Ujumuishaji na IFTTT 2/7
Kisha bonyeza "+ hii"
Hatua ya 12: Ujumuishaji na IFTTT 3/7
Halafu kwenye uwanja "Huduma za utaftaji" andika "Gmail"
Kisha "barua pepe mpya katika kikasha" (Baadhi ya usanidi unaweza kuhitajika).
Hatua ya 13: Ujumuishaji na IFTTT 4/7
sasa tunabofya "+ hiyo"
Hatua ya 14: Ujumuishaji na IFTTT 5/7
pata "Webhooks" na ubonyeze
Hatua ya 15: Ujumuishaji na IFTTT 6/7
kisha "Fanya ombi la wavuti"
Hatua ya 16: Ujumuishaji na IFTTT 7/7
tunakamilisha URL ya url yetu na ishara. Aina ya yaliyomo kwenye application / json na ubonyeze "unda hatua" na Maliza. Sasa tuna applet yetu:
Hatua ya 17: Muhtasari
Katika mafunzo haya, nilionyesha jinsi ya kutuma kwa ujumbe wetu wa Arduino kutoka kwa mifumo ya nje. Sisi pia tunaunganisha mfumo mwingine kisha IFTTT kwa njia ile ile. Sio lazima iwe "mtambulishaji" nilitaka kuonyesha katika mfano huu jinsi ya kutuma ujumbe kutoka kwa mifumo ya nje kwa Arduino yetu.
nambari za chanzoFanPage kwenye Facebook
Shangwe, Maciek
Ilipendekeza:
Mfumo wa Tahadhari ya Kuegesha Magari ya Arduino - Hatua kwa Hatua: 4 Hatua
Mfumo wa Tahadhari ya Kuegesha Magari ya Arduino | Hatua kwa Hatua: Katika mradi huu, nitatengeneza Mzunguko rahisi wa Sura ya Maegesho ya Arduino kwa kutumia Arduino UNO na Sense ya Ultrasonic ya HC-SR04. Mfumo wa tahadhari ya Gari ya Arduino ya msingi inaweza kutumika kwa Urambazaji wa Kujitegemea, Kuanzia Robot na anuwai zingine
Hatua kwa hatua Ujenzi wa PC: Hatua 9
Hatua kwa hatua Jengo la PC: Ugavi: Vifaa: MotherboardCPU & Baridi ya CPU
Mizunguko mitatu ya kipaza sauti -- Mafunzo ya hatua kwa hatua: Hatua 3
Mizunguko mitatu ya kipaza sauti || Mafunzo ya hatua kwa hatua: Mzunguko wa kipaza sauti huimarisha ishara za sauti zinazopokelewa kutoka kwa mazingira kwenda kwenye MIC na kuipeleka kwa Spika kutoka mahali ambapo sauti ya sauti imetengenezwa. Hapa, nitakuonyesha njia tatu tofauti za kutengeneza Mzunguko wa Spika kwa kutumia:
Hatua kwa hatua Elimu katika Roboti na Kit: 6 Hatua
Hatua kwa hatua Elimu katika Roboti na Kit: Baada ya miezi kadhaa ya kujenga roboti yangu mwenyewe (tafadhali rejelea hizi zote), na baada ya sehemu mbili kushindwa, niliamua kurudi nyuma na kufikiria tena mkakati na mwelekeo.Uzoefu wa miezi kadhaa wakati mwingine ulikuwa wa kufurahisha sana, na
Ufuatiliaji wa Acoustic Na Arduino Uno Hatua kwa Hatua (hatua 8): Hatua 8
Ufuatiliaji wa Acoustic Na Arduino Uno Hatua kwa hatua (hatua-8): transducers za sauti za ultrasonic L298N Dc umeme wa umeme wa adapta na pini ya kiume ya dc Arduino UNOBreadboard Jinsi hii inavyofanya kazi: Kwanza, unapakia nambari kwa Arduino Uno (ni mdhibiti mdogo aliye na dijiti na bandari za analog kubadilisha msimbo (C ++)