Obsah:
2025 Autor: John Day | [email protected]. Naposledy změněno: 2025-01-13 06:57
Nyní jste slyšeli o krabicích, které se otevírají, když zjistí klepání. pojďme vytvořit ten, který se otevře, když na něj posvítíte LED diodou telefonu!
Ne? opravdu? je to vlastně docela šikovné a může být použito jako rekvizita na párty nebo jako konečný balíček pro vánoční dárek. Nebojte se. Chytnu tě za ruku a provedu tě procesem stavby této kouzelné krabice.
UPOZORNĚNÍ: Tento projekt funguje, ale pro servo byste měli použít samostatný zdroj napájení. mějte to při stavbě na paměti. Dělejte, co říkám/pište, nedělejte to, co vidíte!
Krok 1: Získání všech věcí
K vybudování této úžasné krabice tajemství musíte mít:
-Arduino mikrokontrolér
Odpor 1 000 Ohm
- 1 odpor detekce světla (LDR) může mít libovolnou velikost nebo tvar, pokud detekuje normální vnitřní / venkovní světlo
- 1 9V baterie nebo powerbanka k napájení arduina (k napájení a čtení sériového komunikátoru můžete použít také svůj notebook)
- 1 mikroslužba nebo motor, který je schopen přesného pohybu
- 1 zcela vlastní a úžasná krabice se sklopným víkem
- 1 nějaký náhradní kov
- 1 kus dřeva řezaný, jak naznačují obrázky výše (buď figurální pila nebo laserový řez)
A nakonec, ale co je nejdůležitější:
- 1 zesílená role lepicí pásky
Odkazy budou přidány později
Krok 2: Krabice
Krabice, kterou používáte, může být v podstatě jakákoli krabice, která je zavěšena na jedné straně.
kde jsem vzal svou krabici? Můj přítel je tesař a byl natolik úžasný, že mi vyrobil tento box! Přidal jsem k tomu pár závěsů a nainstaloval víko.
Pokud chcete vědět, jak vyrobit takovou (nebo lepší) krabici, podívejte se na tento návod:
Krok 3: Zapojení
Zapojení tohoto malého chlapce není nic zvláštního. používá jednoduchý obvod děliče napětí pro světelný senzor a ještě méně komplikovaný obvod pro servo.
Toto je místo, kde moje schránka nedodržuje pokyny, které poskytuji. Nemám samostatné napájení pro servo, takže musím použít napájecí body na Arduinu. Problém je v tom, že když na zámek dojde k jakémukoli zatížení, začne pro arduino čerpat cestu k velkému proudu, což způsobí pád arduina. mějte to prosím na paměti.
Řešením je toto rozložení. pomocí 6V (1A) napájecího zdroje k napájení serva, jak ukazuje druhý obrázek
Krok 4: Kódování
Nyní tento program přepíná mezi otevřeným a zavřeným a používá delay (); příkaz v arduino IDE. Bylo by lepší použít program, který používá millis (); ale také by to dělalo trochu větší noční můru, jak to kódovat.
Kód zde žije v textu, ale můžete si zde také stáhnout soubor.ino
/ * - Flashbox v1.0.0 - */
/*
* Autor: Frank Tuk * Datum op upload: 9-1-2018 * Neváhejte tento program používat ve svých produktech * *
/Servo související
#include Servo lockservo; // přidání serva do programu s názvem: LockServo // Proměnné připojení int servo = 9; // Pin sloužil k informování serva, do jaké polohy má jít. int sens = A0; // Pin používaný k měření hodnoty našeho světelného senzoru.
// proměnné pro program.
int sensval = 0; // Tato proměnná slouží k uložení hodnoty světelného senzoru. int sensval_old = 0; // Uhádli jste, tato slouží k ukládání předchozích hodnot. boolean state = false; // Uloží stav zámku, přepne jej mezi false a true (true je otevřený a false je zavřený) int val = 10; boolean servoState = false;
neplatné nastavení () {
Serial.begin (9600); // Spuštění sériového monitoru, abychom se mohli podívat do mozku arduina. pinMode (servo, VÝSTUP); // zajistit, aby pin pro servo věděl, že potřebuje výstup. pinMode (sens, INPUT); // přeměna senzoru na skutečný senzor lockservo.attach (servo); // Říká arduino, ke kterému pinu je naše servo připojeno
// Abychom zajistili, že box ví, kde je.
lockservo.write (165); zpoždění (1000); lockservo.write (10); }
prázdná smyčka () {
sensval_old = analogRead (sens); Serial.println (""); Serial.print („Měření…“); Serial.println (sensval_old); zpoždění (500); if (sensval_old> 700) {state =! state; servoState =! servoState; sensval = analogRead (sens); Serial.print ("stav zámku se změní na:"); Serial.println (sensval); zpoždění (1000); } else {zpoždění (250); }
if ((servoState == false) && (val == 10)) {
val = 165; lockservo.write (val); zpoždění (500); Serial.println ("Zámek zavřený, zavírací servo"); } else if ((servoState == false) && (val == 165)) {delay (250); Serial.println ("Zámek zavřený"); } else if ((servoState == true) && (val == 165)) {val = 10; lockservo.write (val); zpoždění (500); Serial.println ("Zámek otevřen, otevírání serva"); } else {zpoždění (250); Serial.println ("Otevřít zámek"); }}
Krok 5: Vložení elektroniky do krabice
Instalace servo zámku a senzoru do krabice je celkem jednoduchá.
první: přišroubujte kus dřeva pro zámek západky na servo
za druhé: nainstalujte servo do bloku a zašroubujte tento blok do spodní části krabice.
za třetí: zašroubujte západku do víka
Rozhodl jsem se vyhodit prkénko dovnitř krabice a nechat zbývající dráty k arduinu projít mezi víkem a krabicí. díky tomu je snadnější zavřít víko a přesto se připojit k arduinu. (Víte, jen abych se ujistil, že se nezamykám.)
Krok 6: Testování
Ano! musíš to vyzkoušet. tam jsem zjistil, že přes arduino nedokážu dodat dostatečný proud a měl jsem použít samostatný zdroj pro servo.
Proč jsem na to přišel během montáže a ne dříve? A: Byl jsem velmi netrpělivý. B: skutečný důvod.
Když jsem testoval nastavení, testoval jsem ho bez víka, abych viděl, co západka dělá. Když jsem to potom znovu vyzkoušel s víkem, zjistil jsem, že servo čerpá při zatížení více proudu.
Tak. buďte ABSOLUTNĚ jisti, že máte naprosto dokonalé pracovní nastavení, abyste se ujistili, že se nezamknete ze své vlastní schránky.
Krok 7: Zisk! a Závěr
A je to! jsi hotov! A člověče, poplácávej se po zádech, protože se ti podařilo projít tímto návodem!
Pokud máte nějaké dotazy nebo připomínky, určitě mě kontaktujte!