![Infinity Mirror Na LCD na IR Sensor: 5 Hatua Infinity Mirror Na LCD na IR Sensor: 5 Hatua](https://i.howwhatproduce.com/images/001/image-789-4-j.webp)
Orodha ya maudhui:
2025 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2025-01-23 15:11
![Infinity Mirror Na LCD na IR Sensor Infinity Mirror Na LCD na IR Sensor](https://i.howwhatproduce.com/images/001/image-789-5-j.webp)
![Infinity Mirror Na LCD na IR Sensor Infinity Mirror Na LCD na IR Sensor](https://i.howwhatproduce.com/images/001/image-789-6-j.webp)
![Infinity Mirror Na LCD na IR Sensor Infinity Mirror Na LCD na IR Sensor](https://i.howwhatproduce.com/images/001/image-789-7-j.webp)
Mradi huu utakuonyesha jinsi unaweza kutengeneza Kioo cha infinity. Dhana ya kimsingi ni kwamba taa za taa zilizo kwenye kioo huunda nuru ambayo inaruka kutoka kwenye kioo cha nyuma kwenda kwenye kioo cha mbele ambapo taa fulani hutoka ili tuweze kuona ndani na zingine zinaonekana tena kwenye kioo cha nyuma na kutoa athari isiyo na kipimo. Hii ni msingi wa infinity Mirror na Ultra Sonic Sensors Inayoweza kufundishwa na Hack Sioux Falls na Jinsi ya Unganisha I2C Lcd Display kwa Arduino Uno na JunezRiyaz.
Vifaa
1. Sanduku la Kivuli ($ 50)
2. Filamu ya Mirror ya njia 1 ($ 17)
3. Ukanda wa taa ya RGB ya LED ($ 30)
4. Arduino ($ 35)
5. Kioo ($ 10)
Hiari:
1. Sensorer ya IR na Kijijini ($ 20)
2. LCD ($ 20)
3. Viunganishi vya Kike hadi vya Kiume
4. Waunganisho wa Kiume kwa Wanaume
Zana
1. Chuma cha Soldering
2. Mkata waya na Stripper
3. Kitu cha kukata kioo na
* Kumbuka bei zote katika CAD na saizi zitategemea sanduku unalotumia.
Hatua ya 1: Kufunga Mirror na Filamu ya Mirror
![Kufunga Mirror na Filamu ya Mirror Kufunga Mirror na Filamu ya Mirror](https://i.howwhatproduce.com/images/001/image-789-8-j.webp)
![Kufunga Mirror na Filamu ya Mirror Kufunga Mirror na Filamu ya Mirror](https://i.howwhatproduce.com/images/001/image-789-9-j.webp)
Jambo la kwanza kufanya ni kusanikisha kioo ambacho kitakuwa nyuma ya sanduku la kivuli. Unataka kupata moja ambayo ni saizi sahihi au pata iliyo kubwa zaidi kisha uikate. Lakini kwa hili, lazima utumie kioo na sio filamu kwa sababu tunataka taa yote ionekane nyuma, filamu ya kioo pia inaweza kuchukua muundo wa nyenzo iliyo juu ikiwa sio glasi.
Unapoweka kioo hakikisha kuilinda kwenye sanduku la kivuli, ningependekeza utumie vipande vidogo vya kuni na kucha ili kuhakikisha kioo hakihami. Sikuwa na kioo wakati nilikuwa nimekamilisha mradi huu kwa hivyo nilitumia filamu (Unaweza kuona kwenye picha). Wazo linafanya kazi lakini sio vizuri sana na linatoa sura ya angled na ya machafuko ambayo kwa maoni yangu haionekani kuwa nzuri.
Kila filamu ya kioo itakuwa tofauti kidogo lakini ile ambayo nilisema kusafisha glasi ambayo tunaweka filamu kisha kutumia mkanda kuchukua filamu ya kinga ambayo iko upande mmoja na kutumia maji ya sabuni katika dawa chupa weka filamu kwenye glasi. Kisha tumia kadi ya mkopo au kichungi kuondoa povu yoyote ya hewa na maji ya ziada. Kwa mara nyingine sikuwa na glasi lakini bado inafanya kazi sawa. Kisha acha glasi ikauke mara moja na inapaswa kufanywa.
Hatua ya 2: Kuanzisha Ukanda wa LED
![Kuanzisha Ukanda wa LED Kuanzisha Ukanda wa LED](https://i.howwhatproduce.com/images/001/image-789-10-j.webp)
![Kuanzisha Ukanda wa LED Kuanzisha Ukanda wa LED](https://i.howwhatproduce.com/images/001/image-789-11-j.webp)
Kwa LED nilitumia tu mkanda uliojumuishwa mara mbili kushikamana na fremu na nikatengeneza shimo kwa waya kutoka. Katika kila kona, niliuza viunganisho vya kuunganisha kwenye ukanda mwingine ili kuweka umbo la sanduku bila kingo zenye mviringo. Hakikisha kukata vipande tu mahali ambapo kuna mawasiliano ambayo yangeruhusu kutokea na usibadilishe mwelekeo ambao LED zinaunganisha kwa kila mmoja inayojulikana kama kugeuza polarity. Ukanda ambao nimepata ulikuwa na mishale kuhakikisha kuwa hii haifanyiki hivyo hakikisha kukagua zote zinaelekeza kwa mwelekeo mmoja.
Nilitengeneza shimo ndogo kuweka kebo kupitia nje ya sanduku, taa za LED ambazo nilikuwa nazo zilikuwa na taa za 3 zinazoweza kushughulikiwa kwa hivyo nilikuwa na viunganishi vya nguvu, ardhi na data. Nilitumia Dijiti ya Dijiti 3 kwa kiunganishi cha data, hakikisha ujaribu vipande vyako vya LED ili kuhakikisha kuwa zinafanya kazi kabla ya kuzibandika kwenye fremu na hakikisha nitumie tu voltage inayopendekezwa kwa yangu ambayo ni 5 - 6 V.
Hatua ya 3: Kuweka Sensor ya IR na LCD (Hiari)
![Kuweka Sensor ya IR na LCD (Hiari) Kuweka Sensor ya IR na LCD (Hiari)](https://i.howwhatproduce.com/images/001/image-789-12-j.webp)
![Kuweka Sensor ya IR na LCD (Hiari) Kuweka Sensor ya IR na LCD (Hiari)](https://i.howwhatproduce.com/images/001/image-789-13-j.webp)
![Kuweka Sensor ya IR na LCD (Hiari) Kuweka Sensor ya IR na LCD (Hiari)](https://i.howwhatproduce.com/images/001/image-789-14-j.webp)
Nilichagua kutumia sensa ya IR na kijijini kubadilisha athari za taa na kutumia na LCD kuonyesha mtumiaji chaguzi wanazo na athari.
Kuweka sensorer ya LCD na IR nitatumia bunduki moto ya gundi na kuiweka juu ya fremu na kuweka waya kila kitu nyuma lakini sikutaka zirekebishwe kwa sababu nitalazimika kuzitoa baada ya mradi imefanywa.
Kuunganisha Mpokeaji wa LCD na IR nilitumia Viunganishi vya Kiume na vya Kike ambavyo vinaingia kwenye Arduino kwa data na ardhi na nguvu. Kutia waya kila kitu juu nilitumia pini 12 na kipinga 2 k on kwenye pini ya data kwa sensa ya IR, Analog Pin A4 kwa SDA ya LCD adn Analog Pin 5 kwa SCL ya LCD.
Hatua ya 4: Kanuni
Kwa mradi huu, ninatumia maktaba machache ambayo utalazimika kupakua ili utumie. Nitawaweka hapa, kumbuka kuwa niko kwenye windows ili iweze kuwa na athari ikiwa uko kwenye Mac au Linux.
Itabidi ubadilishe idadi ya saizi kulingana na idadi ya LED ulizonazo. Nilijenga pia kwenye kiunga cha Serial Monitor ili uweze kuibadilisha kwa njia hiyo ikiwa hutumii sensa ya IR.
// Maktaba
# pamoja na Adafruit_NeoPixel.h> #jumuisha # pamoja na # pamoja na // Pini na maadili ya kila wakati // Pini na maadili ya mara kwa mara int RECV_PIN = 12; IRrecv irrecv (RECV_PIN); namua matokeo_ya matokeo; key_value ya muda mrefu = 0; const int NUMPIXELS = 27;
Saizi za Adafruit_NeoPixel = Adafruit_NeoPixel (NUMPIXELS, 3);
LiquidCrystal_I2C LCD (0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); // Vigezo int IRNumb; int IRNumb2; upinde wa mvua = 0; uint32_t rainbowColor = pixels. Color (0, 0, 0); pembejeo ya char = 0; mchango wa char2 = 0; int r; int g; int b; int breakCondition = 0; usanidi batili () {// Inasimamisha vipengee ambavyo hazihitaji kurudiwa. lcd. anza (16, 2); saizi. anza (); irrecv.wezeshwaIRIn (); Serial.println ("Ingiza 0 kuzima taa"); // Kuanzia Maagizo Serial.println ("Ingiza 1 ili kugeuza LED kuwa nyeupe"); Serial.println ("Ingiza 2 ili uwe na mzunguko wa LED kupitia rangi tofauti"); Serial.println ("Ingiza 3 ili kubadilisha rangi za LED kwa mikono"); } kitanzi batili () {IRNumb = 10; IRScan (); Chaguzi kuu (); ikiwa (Serial haipatikani ()> 0) {// Inakagua ikiwa herufi inapatikana? pembejeo = (char) Serial.read (); } // Anachagua chaguzi tofauti ikiwa (input == '1' || IRNumb == 1) {rainbowColor = colourChange (255, 255, 255); // White setAll (Rangi ya upinde wa mvua); // Inasasisha LEDs} nyingine ikiwa (ingizo == '0' || IRNumb == 0) {rainbowColor = colourChange (0, 0, 0); // ZimewekwaZote (Rangi ya upinde wa mvua); // Inasasisha LEDs} ikiwa ikiwa (pembejeo == '2' || IRNumb == 2) {breakCondition = 0; r = 0; g = 0; b = 0;
Serial.println ("Ingiza chochote ambacho sio 2 kutoka kwa athari hii, kisha chaguzi zozote za athari mpya.");
lcd wazi (); // Safisha skrini lcd.setCursor (0, 0); lcd.print ("Toka ukitumia yoyote-"); lcd.setCursor (0, 1); lcd.print ("ganzi hiyo! = 2"); kwa (int i = 0; i = 48 && input <= 57) || BreakCondition == 1 || IRNumb! = 2) {// Inakagua ikiwa athari inahitaji kutolewa kwa upinde wa mvuaColor = colourChange (0, 0, 0); kuwekaAll (Rangi ya upinde wa mvua); kuvunjaHali = 1; kuvunja; } upinde wa mvua Rangi = mabadiliko ya rangi (i, 0, 0); kuwekaAll (Rangi ya upinde wa mvua); onyeshaStrip (); kuchelewesha (100); } kwa (int i = 0; i = 48 && ingizo <= 57) || BreakCondition == 1 || IRNumb! = 2) {// Huangalia ikiwa athari inahitaji kutolewa kwa upinde wa mvuaColor = colourChange (0, 0, 0); kuwekaAll (Rangi ya upinde wa mvua); kuvunjaHali = 1; kuvunja; } g ++; upinde wa mvuaColor = ColourChange (i, g, 0); kuwekaAll (Rangi ya upinde wa mvua); onyeshaStrip (); kuchelewesha (100); } kwa (int g = 0; g = 48 && ingizo <= 57) || BreakCondition == 1 || IRNumb! = 2) {// Inakagua ikiwa athari inahitaji kutolewa kwa upinde wa mvuaColor = colourChange (0, 0, 0); kuwekaAll (Rangi ya upinde wa mvua); kuvunjaHali = 1; kuvunja; } r + = 2; upinde wa mvuaColor = ColourChange (r, g, 0); kuwekaAll (Rangi ya upinde wa mvua); onyeshaStrip (); kuchelewesha (100); } kwa (int b = 0; b = 48 && ingizo <= 57) || BreakCondition == 1 || IRNumb! = 2) {// Inakagua ikiwa athari inahitaji kutolewa kwa upinde wa mvuaColor = colourChange (0, 0, 0); kuwekaAll (Rangi ya upinde wa mvua); kuvunjaHali = 1; kuvunja; } r + = 2; g + = 5; upinde wa mvuaColor = ColourChange (r, g, b); kuwekaAll (Rangi ya upinde wa mvua); onyeshaStrip (); kuchelewesha (100); } Chaguzi kuu (); } vingine ikiwa (pembejeo == '3' || IRNumb == 3) {r = 0; g = 0; b = 0;
Serial.println ("Ingiza n kutoka");
Serial.println ("Tumia w na s kuongeza au kupunguza rangi nyekundu"); Serial.println ("Tumia r na f kuongeza au kupunguza rangi ya kijani"); Serial.println ("Tumia y na h kuongeza au kupunguza rangi ya hudhurungi"); lcd.clear (); // Safisha skrini lcd.setCursor (0, 0); lcd.print ("toka: 0, 4/7: +/- nyekundu"); lcd.setCursor (0, 1); lcd.print ("5/8: kijani, 6/9: bluu");
wakati (pembejeo2! = 'n' || IRNumb2! = 0) {
ikiwa (Serial.available ()> 0) {// ni tabia inapatikana? pembejeo2 = (char) Serial.read (); } //Serial.println (IRNumb2); IRNumb2 = 10; IRScan2 ();
ikiwa (IRNumb2 == 0) {
kuvunja; } ikiwa (input2 == 'w' || IRNumb2 == 4) {r + = 2; upinde wa mvuaColor = ColourChange (r, g, b); kuwekaAll (Rangi ya upinde wa mvua); onyeshaStrip (); } kingine ikiwa (input2 == 's' || IRNumb2 == 7) {r- = 2; upinde wa mvuaColor = ColourChange (r, g, b); kuwekaAll (Rangi ya upinde wa mvua); onyeshaStrip (); } kingine ikiwa (input2 == 'r' || IRNumb2 == 5) {g + = 2; upinde wa mvuaColor = ColourChange (r, g, b); kuwekaAll (Rangi ya upinde wa mvua); onyeshaStrip (); } kingine ikiwa (input2 == 'f' || IRNumb2 == 8) {g- = 2; upinde wa mvuaColor = ColourChange (r, g, b); kuwekaAll (Rangi ya upinde wa mvua); onyeshaStrip (); }
vinginevyo ikiwa (input2 == 'y' || IRNumb2 == 6) {
b + = 2; upinde wa mvuaColor = ColourChange (r, g, b); kuwekaAll (Rangi ya upinde wa mvua); onyeshaStrip (); }
vinginevyo ikiwa (input2 == 'h' || IRNumb2 == 9) {
b- = 2; upinde wa mvuaColor = ColourChange (r, g, b); kuwekaAll (Rangi ya upinde wa mvua); onyeshaStrip (); }} Chaguzi kuu (); } wekaAll (Rangi ya upinde wa mvua); onyeshaStrip (); } batili showStrip () {pixels.show (); } batili setAll (uint32_t color) {for (int i = 0; i <NUMPIXELS; i ++) {pixels.setPixelColor (i, color); }} // Ingiza thamani 0 hadi 255 kupata thamani ya rangi. uint32_t colourChange (int r, int g, int b) {kurudi saizi. Rangi (r, g, b); } batili kuu Chaguzi () {// Inachagua chaguzi kuu za lcd. wazi (); // Safisha skrini lcd.setCursor (0, 0); lcd.print ("0 Kwa Taa zinazimwa"); lcd.setCursor (0, 1); lcd.print ("1: Nuru Nyeupe"); kuchelewesha (1000); lcd.clear (); // Safisha skrini lcd.setCursor (0, 0); lcd.print ("2: Athari ya rangi"); lcd.setCursor (0, 1); lcd.print ("3: Mwongozo"); kuchelewesha (1000); } batili IRScan () {if (irrecv.decode (na matokeo)) {
ikiwa (results.value == 0XFFFFFFFF)
matokeo.thamani = ufunguo_uhimu; mwingine {//Serial.println (results.value, HEX); ikiwa (results.value == 0xFF6897 || results.value == 0xC101E57B) {IRNumb = 0; //Serial.println ("0 "); } mwingine ikiwa (results.value == 0x9716BE3F || results.value == 0xFF30CF) {IRNumb = 1; //Serial.println ("1"); } mwingine ikiwa (results.value == 0x3D9AE3F7 || results.value == 0xFF18E7) {IRNumb = 2; //Serial.println ("2"); } mwingine ikiwa (results.value == 0xFF7A85 || results.value == 0x6182021B) {IRNumb = 3; // Serial.println ("3"); } mwingine ikiwa (results.value == 0x8C22657B || results.value == 0xFF10EF) {IRNumb = 4; //Serial.println ("4"); } mwingine ikiwa (results.value == 0xFF38C7 || results.value == 0x488F3CBB) {IRNumb = 5; // Serial.println ("5"); } mwingine ikiwa (results.value == 0x449E79F || results.value == 0xFF5AA5) {IRNumb = 6; // Serial.println ("6"); } mwingine ikiwa (results.value == 0xFF42BD || results.value == 0x32C6FDF7) {IRNumb = 7; //Serial.println ("7"); } mwingine ikiwa (results.value == 0x1BC0157B || results.value == 0xFF4AB5) {IRNumb = 8; //Serial.println ("8"); } mwingine ikiwa (results.value == 0xFF52AD || results.value == 0x3EC3FC1B) {IRNumb = 9; // Serial.println ("9"); }} thamani_ya muhimu = matokeo.thamani; kuendelea irrecv (); }} batili IRScan2 () {if (irrecv.decode (na matokeo)) {
ikiwa (results.value == 0XFFFFFFFF)
matokeo.thamani = ufunguo_uhimu; mwingine {// Serial.println (results.value, HEX); ikiwa (results.value == 0xFF6897 || results.value == 0xC101E57B) {IRNumb2 = 0; //Serial.println ("0 "); } mwingine ikiwa (results.value == 0x9716BE3F || results.value == 0xFF30CF) {IRNumb2 = 1; //Serial.println ("1"); } mwingine ikiwa (results.value == 0x3D9AE3F7 || results.value == 0xFF18E7) {IRNumb2 = 2; //Serial.println ("2"); } mwingine ikiwa (results.value == 0xFF7A85 || results.value == 0x6182021B) {IRNumb2 = 3; // Serial.println ("3"); } mwingine ikiwa (results.value == 0x8C22657B || results.value == 0xFF10EF) {IRNumb2 = 4; //Serial.println ("4"); } mwingine ikiwa (results.value == 0xFF38C7 || results.value == 0x488F3CBB) {IRNumb2 = 5; // Serial.println ("5"); } mwingine ikiwa (results.value == 0x449E79F || results.value == 0xFF5AA5) {IRNumb2 = 6; // Serial.println ("6"); } mwingine ikiwa (results.value == 0xFF42BD || results.value == 0x32C6FDF7) {IRNumb2 = 7; //Serial.println ("7"); } mwingine ikiwa (results.value == 0x1BC0157B || results.value == 0xFF4AB5) {IRNumb2 = 8; //Serial.println ("8"); } mwingine ikiwa (results.value == 0xFF52AD || results.value == 0x3EC3FC1B) {IRNumb2 = 9; // Serial.println ("9"); }} thamani_ya muhimu = matokeo.thamani; kuendelea irrecv (); }}
Hatua ya 5: Kuweka
![Kuweka Kuweka](https://i.howwhatproduce.com/images/001/image-789-15-j.webp)
Kuweka Arduino kwenye fremu ningeing'aka tu na ubao wa mkate ambao nilikuwa nikitumia nyuma ya fremu na kujaribu kufunika / kuficha nyaya ili ionekane nzuri.
Ilipendekeza:
Kiingiliano cha infinity Mirror: Hatua 9 (na Picha)
![Kiingiliano cha infinity Mirror: Hatua 9 (na Picha) Kiingiliano cha infinity Mirror: Hatua 9 (na Picha)](https://i.howwhatproduce.com/images/006/image-16798-14-j.webp)
Interactive Infinity Mirror: Mgawo wa darasa hili ulikuwa rahisi lakini ngumu: Fanya kitu kiingiliane na Arduino. Ilibidi iwe iliyoundwa vizuri, kiufundi changamoto ya kutosha na ya asili kwa maoni kama ya asili kwenda siku hizi kwenye wavuti kama Mafundisho. Ijumaa
Infinity Mirror Meza ya Kahawa: Hatua 5
![Infinity Mirror Meza ya Kahawa: Hatua 5 Infinity Mirror Meza ya Kahawa: Hatua 5](https://i.howwhatproduce.com/images/001/image-380-83-j.webp)
Infinity Mirror Meza ya Kahawa: Nitaanza kwa kusema kwamba hivi karibuni niliuza meza hii na sina ufikiaji tena. Nimepata rundo la ujumbe kutoka kwa watu wanaotaka kununua meza nyingine au kununua mwongozo juu yake. Niliamua kuandika mwongozo na ujuzi fulani
Mirror Infinity Mirror: Hatua 4 (na Picha)
![Mirror Infinity Mirror: Hatua 4 (na Picha) Mirror Infinity Mirror: Hatua 4 (na Picha)](https://i.howwhatproduce.com/images/001/image-1205-84-j.webp)
Mirror Infinity Mirror: Kioo cha infinity ni sehemu ya ujenzi wangu ujao. Kuna maelezo mengi mazuri ya jinsi ya kutengeneza hizi kwenye wavuti tayari, na niliangalia nyingi - haswa toleo bora na linalotia nguvu la Arduino la Ben Finio. Howev
Arduino Infinity Mirror (Bluetooth & Sauti Tendaji): Hatua 9 (na Picha)
![Arduino Infinity Mirror (Bluetooth & Sauti Tendaji): Hatua 9 (na Picha) Arduino Infinity Mirror (Bluetooth & Sauti Tendaji): Hatua 9 (na Picha)](https://i.howwhatproduce.com/images/003/image-7574-14-j.webp)
Arduino Infinity Mirror (Bluetooth & Sauti Tendaji): Niliunda Kioo cha Infinity kwa mradi wa shule na Arduino ambayo unaweza kudhibiti na simu yako au kompyuta kibao kwa kutumia Bluetooth. Kioo pia kina maikrofoni iliyojengwa ambayo hugundua sauti / muziki na humenyuka ipasavyo kwa kutengeneza kuvutia
SENSOR SUHU DENGAN LCD DAN LED (Kutengeneza Sensor ya Joto na LCD na LED): Hatua 6 (na Picha)
![SENSOR SUHU DENGAN LCD DAN LED (Kutengeneza Sensor ya Joto na LCD na LED): Hatua 6 (na Picha) SENSOR SUHU DENGAN LCD DAN LED (Kutengeneza Sensor ya Joto na LCD na LED): Hatua 6 (na Picha)](https://i.howwhatproduce.com/images/004/image-9532-38-j.webp)
SENSOR SUHU DENGAN LCD DAN LED (Kutengeneza Sensorer ya Joto Pamoja na LCD na LED): hai, saya Devi Rivaldi mahasiswa UNIVERSITAS NUSA PUTRA huko Indonesia, na sini saya akanunua kifaa cha sensorer suhu menggunakan Arduino dengan Pato kwa LCD na LED. Je! Unapenda kituo hiki?