Kniha RGB založená na Arduinu. Připojení fotorezistoru k arduinu a robotu se světelným senzorem Robimo "inteligentní lampa"

Dětská kůže měla jistě sen (a ne jeden). Můžete se pokusit uhodnout tyto pocity, jako byste chtěli znovu zachytit duši dítěte v nočních hodinách, protože ten vzdálený, známý lesk v očích ...

Právě teď studuji na 4. kurzu BDUIR, a pokud nám řekli, že projekt kurzu z obvodů lze udělat ne na papíře, ale na lazyaku, došlo mi: kniha, která je tak horká pro dítě, zvládneš to sám. Navíc to není jen předmět, který osvětlí místnost ve tmě, ale doplněk, který lze snadno ovládat pro jakoukoli náladu. Proč ne? Zkusil jsem přidat možnost střídání barev za pomoci rukou: čím blíže se ruka přiblíží k nočnímu stolku, tím jasnější jedna z barev (RGB) vypálí. A taky jsem se na to chtěl podívat s kutilem za pomoci dálkového ovládání.

Vím, že jsem ten nápad viděl na cxem.net. Jen krátce, na kterém zadku byla RGB matice, jako to bylo pro dodatečný registr zvuku, na kterém byly instalovány ultrazvukové senzory. Ale, myslel jsem, že matrice má svítit na celou cestu jedním zobákem, chtěl jsem mít knihu světlou ze všech stran.

Základní nátěr prvků schématu


Vrátil jsem úctu mikrokontroléru Arduino. UNO je pro mě jediná vhodná volba, protože platforma je nejoblíbenější a počet kolíků není příliš velký, na vrcholu Mega se dá jinak připojit zvuk života, v mém případě 12V, nahoře Nano, třetím způsobem... no, myslím, že můžete zupinit na dvou bodech. Platforma je známá pro svou velkou popularitu mezi celým světem pro svou jednoduchost a snadnost programování, stejně jako pro svou architekturu a programový kód.

Podrobnější informace o tomto poplatku lze snadno najít na internetu, takže článek není předražený.

Otzhe, hlavní pomocník systému. Požadované:
- senzory, yakі vіdstezhuvatimut vіdstan' projít pro keruvannya systémem;
- senzor pro čtení signálů z dálkového ovládacího panelu;
– svitlodiody, yakі zabezpechuvatimu nebhіdnu funkčnost svіllennya;
- Keruyuchiy blok, jako keruvatime s celým systémem.

Jako senzory jsou vhodné pro projekt, potřebné vzdálené světy, skiny pro jakýkoli druh barvy zpěvu: červená, zelená, modrá. Senzory přibližují ruku k nočnímu světlu, čím blíže se ruka přibližuje k senzoru písně, tím je barva silnější, tím blíže je svět daleko. Za prvé, pokud dáte ruku, pak se na barvu aplikuje menší napětí, což je indikativní pro snímač.

Nejpopulárnějším vzdáleným světem je momentálně Sharp GP2Y0A21YK a HC-SR04. Sharp GP2Y0A21YK Vіn vybavení іk-vipromіnjuvachem a іk-priymachem: první je pro mě dzherelom, který se používá k chytání dalšího. S touto IR-změnou senzoru je to lidské oko neviditelné a pro takovou intenzitu to není krátkodobé.

Podobně jako ultrazvukový snímač HC-SR04 může mít tento snímač překmity i podkmity. Před vítězstvím je vidět neutralita a neochvějnost. A nedolіki - menší poloměr di a zalezhnіt vіd zvnіshnіh přechody, mezi nimi - některé typy osvětlení.

Jak senzory jsou použity pro projekt vikoristan ultrazvukový vzdálený HC-SR04.
Princip dії HC-SR04 je založen na dobrodiní fenoménu echolokace. Když tato vibrační vibrace vytvoří akustický signál, který se po vstupu do přechodu obrátí na snímač a zaregistruje se s přijímačem. Při znalosti šířky šířky ultrazvuku v poli (přibližně 340 m/s) této hodinové prodlevy mezi signálem a přijímaným signálem lze snadno otevřít až akustický přechod.

Vstup TRIG je připojen k výstupu mikrokontroléru. Na tento visnovok je nutné přivést pulzní digitální signál s dobou trvání 10 µs. Při signálu na vstupu TRIG vyšle snímač sadu ultrazvukových impulsů. Po přijetí vstupního signálu vytvoří snímač na výstupním ECHO impulsní signál, jehož frekvence je úměrná přechodu.

IR senzor. Chápu, že z tohoto senzoru je čten a dekódován signál, který je nutný pro dálkový průzkum. TSOP18 mezi sebou vibrují pouze na frekvenci. Pro projekt byl vybrán snímač VS1838B TSOP1838.

Projekt byl založen na myšlence zesvětlení aplikace, ať už je to barva, nestačí mluvit o těch, kteří potřebují 3 hlavní barvy, z nichž bude osvětlení převzato: červená, zelená, modrá. Proto byl vybrán model světelných diod SMD 5050RGB, který zázračně zapadá do nastavených úloh.

V závislosti na velikosti napětí, které působí na kožní světlo, zápach mění intenzitu tohoto osvětlení. Svіtldiod má na svědomí buti spojení přes odpor, jinak je riskantní používat nejen jógu, ale i Arduino. Rezistor je potřeba k tomu, aby se brnkání na světelné diodě obklopilo na rozumnou hodnotu. Vpravo v tom, že vnitřní opir světelné diody je již nízký a aby nedošlo k rozbití rezistoru, prochází světelnou diodou takové brnkání, které světlo prostě spálí, a ovladačem.

Prkna se svítivými diodami, která v projektu vítězí, žijí na 12V.

Při zapojení, že se napětí na světelných diodách u "drátového" stane více 6V a je potřeba regulovat životnost, jakoby pohnout 5V, je nutné do obvodu v režimu klíče přidat tranzistory. Mіy vibrіr dopadající na model BC547c.

Podívejme se krátce, pro ty, kteří zapomínají, na princip činnosti n-p-n tranzistoru. Takže nedávejte napětí, ale jen vezměte a uzavřete dráty základny a emitoru, nenamotejte to a nezkratujte, ale přes odpor na větvičce Om, vidíte, že napětí základny- emitor je roven nule. Otče, neexistuje žádný základ. Tranzistor je zavřený, brnkání kolektoru je nedůležitě malé, to samé klasy. A tady to vypadá, že se na stanici mění tranzistor. Mlýn v popředí se nazývá nasichennya: pokud se tranzistor znovu porouchá, vybuchne někde jinde. V takovém stádiu provozu je kolektor emitoru podlahy malý, takže jednoduše není možné zapnout tranzistor bez navantage v kolektorové tyči, okamžitě vyhoří. Když je toto příliš vysoké, napětí na kolektoru může být nižší než 0,3 ... 0,5 V.

Tyto dvě stanice jsou nejdůležitější a nejdůležitější, vítězí v tom případě, pokud tranzistor pracuje v režimu klíče současně s prvním kontaktem relé. Hlavním pocitem takového režimu je, že malá základní struna ovládá velkou sběratelskou strunu, která je desítkykrát větší než základní struna. Velké brnkání kolektoru přesahuje rahunok vnějšího dzherelu energie, ale vše je silnější než brnkání, které se nazývá є. Naše zařízení má mikroobvod, pracovní napětí 5V, včetně 3 pásků se světelnými diodami, které pracují na 12V.

Provozní režim klíčové kaskády je přerušený. Je nutné povolit hodnotu rezistoru v kůlu základny, aby světelná dioda hořela v plné intenzitě. Je potřeba mít při rozrahunce rozum, aby součinitel síly brnkání byl větší nebo lepší, aby soukromý typ rozpodil maximální možné brnkání kolektoru na minimální možné brnkání základny:

Proto lze tyče provozovat s pracovním napětím 220V a základní lištu lze ovládat mikroobvodem s napětím 5V. Pokud je tranzistor chráněn takovým napětím na kolektoru, pak světlo bude hořet bez problémů.
Úbytek napětí na přechodu báze-emitor je 0,77V na mysl, základní strum je 5mA, kolektorový brnkak je 0,1A.
Napětí na základním rezistoru:

Pro Ohmův zákon:

Pro standardní řadu podpěr je zvolen odpor 8,2 kOhm. Na koho je rozrahunok hotový.

Chci obrátit svou pozornost na jeden problém, na který jsem narazil. Při použití knihovny IRremote Arduino úprava modré barvy hodinu visela. Po dlouhém hledání na internetu se ukázalo, že knihovna zvítězila v uzamčení časovače 2 pro model Arduino. Časovače jsou poraženy pro keruvannya s výstupy PWM.

Časovač 0 (systémová hodina, PWM 5 a 6);
Časovač 1 (PWM 9 a 10);
Časovač 2 (PWM 3 a 11).

Na hřbetu ruky jsem pomocí PWM 11 upravil modrou barvu. Buďte proto opatrní při práci s PWM, časovači a knihovnami třetích stran, protože je mohou porazit. Je úžasné, že o této nuanci nebylo na hlavní stránce na github nic řečeno. Řádek můžete komentovat pomocí časovače 1 a komentovat 2.

Spojovací prvky na prkénku vypadají takto:

Po otestování layoutu začaly fáze „Umístění prvků na desku“ a „Robot s páječkou“. Po prvním testu hotové platby se vkrádá myšlenka: něco se pokazilo. A zde začíná známá bohatá fáze „Trochu práce s testerem“. Poruchy (spájkování susidiálních kontaktů byly připájeny k sobě) se však rychle sešroubovaly a osou žil finálního zasklení byla beshketny žárovka.

Dali napravo stál pouze za trupem. Od první jízdy se vyráběla překližka s otvory pro naše senzory. Zadní kryt byl speciálně znіmnoy, abyste si mohli vychutnat pohled na střed, pro bazhannya, takže si to můžete vypracovat. Také, otevřít pro přeprogramování zaplatit, že jídlo.

Korpus je lepen dvousložkovým epoxidovým lepidlem. Varto označuje specialitu tohoto lepidla pro ty, kteří jej ještě nestudovali. Tento soudruh je dodáván ve dvou okremikh єmnosti, se zmіshuvannі vіstu yakіh vіdbuvaіє mittєva khіmіchna rektsіya. Po rychlém podání zmіshuvannya dіyati, ne více než 3–4 whilins. Pro nejvzdálenější vítěze bychom měli přidat novou porci. Tak jak se to pokusíte zopakovat, je mi potěšením, zmіshuvat po malých porcích a dіyati rychleji, hodina na přemýšlení nebude tak bohatá. K tomu varto, je příliš pozdě přemýšlet o tom, jak a slepit tělo. Navíc to najednou nemůžete zabít.

Pro upevnění prken světelnými diodami byla na horním krytu balvanu vložena trubka, všechny šipky zázračně prošly jakem.

Pokud se jídlo pilo za stínítkem, hádal jsem, jak jsem ho v dětství oloupil z obyčejné nitě, slepil ten třený sáček, protože sloužil jako základ. Princip pro stínidlo brát stejné, prote navíjení bagatoedru byl více skládací, nižší taška. Za rahunokem vyhořel svěrák, který se snaží bojovat s nitěmi na konstrukci, začalo se ozývat a nitky začaly odpadávat. Naléhavě, s rukama v lepidle, bylo možné vytvořit design bestie. Zde přicházím na pomoc CD. Výsledek viishov má následující přezdívku:

Co chcete říct výsledkem

Proč jsem změnil projekt? Chcete-li použít signál TRIG na senzory ve stanici, můžete vybrat jeden výstup Arduina místo tří. Sám bych tedy vyměnil otvor pro IR čidlo (zapomněl jsem na který), které je bohužel stále v těle, ze kterého samozřejmě nelze číst signály z dálkového ovladače. Kdo však řekl, že nemůžete nic pájet a vrtat?

Zajímalo by mě, že tohle je další semestr a ta zázračná možnost zkusit pracovat ne na papíře, proč můžu dát ještě jeden zaškrtnutí na položku vysněného dítěte. A jak víte, co hladce zkoušet nové věci, a nevíte, co si před námi vzít, netrapte se tím. V hlavě bagatů se vznáší myšlenka: proč začínáte tady a jak můžete začít pracovat? Život za to má spoustu viny, za kterou ho můžeš zničit, ale nemusíš to zkoušet, protože si pamatuješ, že s ohněm v očích můžeš hořet, ať to někdo zkusí.

Pro nadcházející projekt použijeme fotorezistor. A podívejme se na realizaci nočního stolku do ložnice, který se automaticky zapíná, když je tma, a vypíná, když je světlo.

Opir fotorezistoru ležet na světle, jako by byl vynaložen na nový. Fotorezistor Vykoristovuyuchi na spojce s velkým odporem 4,7 kOhm, vezmeme dilatátor napětí, protože napětí, které prochází fotorezistorem, se mění v závislosti na úrovni osvětlení.

Napětí z dilniku, jsme přivedeni na vstup Arduino ADC. Tam napodobujeme význam zpěvového prahu a vmikaemo nebo vimikaemo lampy.

Principiální schéma dilniku je uvedeno níže. Zvýší-li se osvětlení, poklesne opir fotorezistoru a zvýší se napětí na výstupu dilniku (i ADC vstup). Pokud lehkost upadne, vše je navpak.

Níže uvedená fotografie ukazuje vybraný obvod na prkénku. Napětí 0V a 5V jsou odebírána z Arduina. Dolní A0 je vybrán jako vstup ADC.

Níže je skica Arduina. V této lekci jde pouze o to, že bliká LED, což je to, co má deska Arduino. Větší jasné LED světlo, můžete připojit až nohu 13 (přes odpor ~220 Ohm). Pokud zapojujete spínač intenzivněji, například žárovku, měli byste jej připojit přes relé nebo tyristor.

Kódy programu mají zakomentované soubory, protože slouží k obohacení. Můžete ovládat hodnotu ADC (od 0 do 1024). Je tedy nutné změnit v kódu hodnotu 500 (prah zapnutí a vypnutí) na ty, jak zvolíte volnou cestu, měnící se osvětlení.

/* ** Kniha ** ** www.hobbytronics.co.uk */ int sensorPin = A0; // nastavení vstupní patky pro ADC unsigned int sensorValue = 0; // digitální hodnota fotorezistoru void setup() ( pinMode(13, OUTPUT); Serial.begin(9600); // spuštění sériového čtení dat (pro testování) ) void loop() ( sensorValue = analogRead(sensorPin); // čitelná hodnota fotorezistoru if(sensorValue<500) digitalWrite(13, HIGH); // включаем else digitalWrite(13, LOW); // выключаем // Для отладки раскомментируйте нижеследующие строки //Serial.print(sensorValue, DEC); // вывод данных с фоторезистора (0-1024) //Serial.println(""); // возврат каретки //delay(500); }

Pro dodatek

    1 další světlodiod

    1 další rezistor s nominální hodnotou 220 Ohm

    2 další šipky

Schematický diagram

Schéma na prkénku

Vraťte respekt

    Pro všechny experimenty instalujeme fotorezistor mezi živý a analogový vstup, tobto. v poloze R1 u obvodu dilatátoru napětí. Je to pro nás nutné, abychom se změnou osvětlení odebírali na analogovém vstupu méně napětí.

    Pokuste se rozmístit součástky tak, aby světlo nerozsvěcovalo fotorezistor.

Skica

p050_night_light.ino #define LED_PIN 13 #define LDR_PIN A0 #define POT_PIN A1 void setup() ( pinMode(LED_PIN, OUTPUT) ; ) void loop() ( // Čtení rіven illuminance. Před řečí ohluš // tuto hodnotu můžete změnit a použít současně int světlost = analogRead(LDR_PIN) ; // odečtěte hodnotu z potenciometru, kterou lze upravit // hraniční hodnota mezi inteligentní tmou a světlem int práh = analogRead(POT_PIN) ; // Ohlušující logická změna, která je přiřazena její hodnotě // "teď tma". Logické změny, na vіdminu // tsіl_snyh, může pomstít pouze jednu nebo dvě hodnoty: // Pravda (angl. true) nebo nesmysl (ang. false). Takový význam // Také se nazývá boolean. boolean tooDark = (lehkost< threshold) ; // vikoristovuemo smazání programu: procesor vikonaє jeden // dva bloky v kódu jsou v budoucnu zastaralé. // Yakshcho (anglicky "if") je příliš tmavý... jestliže (příliš tmavé) ( // ...zapnout osvětlení digitalWrite(LED_PIN, HIGH); ) jinak ( // ...a teď světlo není potřeba - vimikaєmo yogo digitalWrite(LED_PIN, NÍZKÁ); )

Vysvětlení ke kódu

    Vyhráváme nový typ změny - boolean, který ukládá pouze hodnoty true (true, 1) nebo false (nesmysl, 0). Hodnota Qi je výsledkem výpočtu logických virů. Čí aplikace je logická viraz - tse lehkost< threshold . На человеческом языке это звучит как: «освещенность ниже порогового уровня». Такое высказывание будет истинным, когда освещенность ниже порогового уровня. Микроконтроллер может сравнить значения переменных lightness и threshold , которые, в свою очередь, являются результатами измерений, и вычислить истинность логического выражения.

    Vzali jsme tento logický viraz na přídi pouze pro přesnost. Nezapomeňte napsat čitelnější kód. U jiných typů mohou oblouky sčítat až řádově, jako u zvichaynіy aritmetiky.

    V našem experimentu bude logický výraz pravdivý, pokud je hodnota světlosti menší než prahová hodnota, pak operátor< . Мы можем использовать операторы > , <= , >= , == , != , což samozřejmě znamená „více“, „méně než jeden“, „více než jeden“, „rovný“, „není dobrý“.

    Buďte obzvláště opatrní s logickým operátorem == a zaměňte s operátorem přiřazení = . U prvního typu je stejně důležitá hodnota opak a u druhého typu je stejně důležitá logická hodnota (pravda nebo nesmysl), k levému se připojuje hodnota pravého operandu. Překladač nezná naše jména a my nevidíme prominutí, ale můžeme nechtěně změnit význam změny a pak budeme pardon dělat dlouho.

    Chytrý příkaz if („yakscho“) je jednou z nejdůležitějších metod programování. S touto pomocí můžeme vikonuvat, jak se zhorstko vzhledem k posloupnosti akcí, a následně rozhodnout, jakou cestou se má algoritmus vydat, zatuchlé mysli.

    Logický výraz má lehkost< threshold есть значение: true или false . Мы вычислили его и поместили в булеву переменную tooDark («слишком темно»). Таким образом мы как бы говорим «если слишком темно, то включить светодиод»

    S tímto velkým úspěchem bychom mohli říci „pokud je světlo nižší než prahová úroveň, zapněte světlo“. předat celý logický výraz if:

jestliže (lehkost< threshold) { // ... }

    Po chytrém příkazu if následuje blokový kód, který se liší od pravdivosti logického výrazu. Nezapomeňte na bolení kudrnatých oblouků ()!

    Pokud jde o časy pravdy, potřebujeme více vikonati jeden instrukce, můžete ji napsat ihned po if (...) bez složených oblouků:

jestliže (lehkost< threshold) digitalWrite(LED_PIN, HIGH) ;

    Příkaz if lze rozšířit pomocí konstruktu else („další“). Blok kódu je buď jediná instrukce, která za ním následuje, již se nebude psát jako logický výraz, protože if může být nepravda, „nesmysl“. Pravidla, která platí kudrnaté luky, jsou stejná. V našem experimentu jsme napsali „je příliš tma, zapni světlo, jinak vypněte světlo“.

Ahoj všichni! Jsem Artem Luzhetsky a píšu sérii článků věnovaných „Smart Home“ a IoT (Internet of Things, Internet of Speech). Známe úžasné způsoby vytváření domácí sítě s různými přístavbami, jako by fungovaly autonomně, ale za pomáhající osobou. Dobře co? Pojďme na to!

První článek je důležitý, chci, abyste pochopili, že pracuji s nejširšími deskami a moduly, aby si více lidí mohlo vyzkoušet IoT prodejce.

Otzhe, pro klas potřebujeme dva mikrokontroléry, takže vyhrajeme: i.

Arduino UNO

Myslím, že není nutné tě znát za poplatek, mezi začátečníky a kutily je to už oblíbené. Řeknu jen ti, kteří neumí pracovat s protokolem https, nepočítejte s mikrokontrolérem ATmega328P, pokud náhodou budeme pracovat s mikrokontrolérem a protokolem https, tak naprogramujeme ESP8266.

ESP8266

Jsem Pricewatim s Troyka-Module ESP8266 VID Kompanії "Ampeka", Ale může Schockino Vicerovyvati І Zvitch ESP Modul 8266, Vonya neumožňuje spolknout nápis, hlava na začátku novinky. K tomu je nutné buď zapojit přes 5 voltů, nebo zapojit do obvodu stabilizátor napětí, nebo lze snadno otočit kolík s napájecím napětím 3,3 voltu.

Dánský mikrokontrolér není nejvýkonnější mezi řadou Espressif na globálním trhu, ale je jedním z nejoblíbenějších a nejširších. Vіn bude základem našeho rozvoje IoT.

Další detaily

Potřebujeme také vytvořit všechny doslidiv:

  1. Svіtlodiody
  2. fotorezistor
  3. Termistor
  4. ultrazvukový vzdálený svět
  5. P'ezodinamik
  6. Mini servopohon
  7. IC - senzor
  8. ІЧ - dálkové ovládání

Není nutné všechny tyto moduly ovládat, pracovat s IoT, ale abychom mohli stavět všechny budoucí projekty, budeme je muset vymyslet.

Programy a knihovny

Za prvé - získejte knihovnu, která vám pomůže usnadnit práci v Arduino IDE, abyste mohli vyhrát ESP8266 - http://wiki.amperka.ru/_media/iot-m:iot-m- libs.zip

Na druhou stranu pro stručné pochopení IoT potřebujeme weby, které nám umožní účtovat si na nich data.

  1. www.dweet.io
  2. maker.iftt.com
  3. narodmon.ru
  4. atd.

Zatřetí, potřebujeme také různé programy pro Android, abychom mohli spravovat chytrý telefon pro další telefon.

  1. otevřený rozbočovač
  2. Blikat
  3. atd.

Hlásí se běžnými způsoby, programy a weby, známe to již v nejbližších projektech.

2. Robimo "Budu přemýšlet o lampě"

Už jsem tě zmusiv nudguvati? Maximálně využiji jednoduchou lampu, jako by se dostala dovnitř, v místnosti je tma.

Ve skutečnosti UNO není pro tento druh navigace potřeba, můžete vyladit digitální fotosenzor, který můžete vyladit, ale v budoucnu tento projekt změníme k nepoznání, k čemuž z nějakého důvodu dojde.

Pokud nejste přesvědčeni, že jste připraveni používat 220 voltů s elektřinou, porazte zapalovač tím největším světlem. Na klasu jsem vzal svou starou lampu TLI-204, takže je praktická v každém obchodě (včetně zadní strany dveří).

Lampa má dva druhy práce (svítit / nesvítit), kterou chci rozsvítit, chci zvýšit její funkčnost, zbavit možnosti ji znovu rozsvítit a zase zhasnout.

Připojte fotorezistor k relé paralelně k lansyug bez použití další propojky, takže nahradím dvoupolohovou propojku s třípolohovým přepínačem.

Kompletní elektrický obvod může vypadat takto:

Pokud je vše v pořádku, pak ve třetí poloze propojky můžete přivedením proudu do relé z mikrokontroléru rozsvítit lampu.

Připojte k fotorezistoru Arduino. Diagram vypadá takto:

3. Kód pro „chytrou lampu“

Nyní napíšeme kód, který odešle proud do relé, takže v blízkosti místnosti bude tma.

#define SHINE 5 //PIN TO PHOTORESISTOR #define REL 13 //PIN TO RELAY void setup()( pinMode(SHINE, INPUT); pinMode(REL, OUTPUT); Serial.begin(9600); ) void loop()( if (analogRead(SHINE)<600) // Если света в комнате мало, то включаем лампу { digitalWrite(REL, HIGH) } else // если много, то выключаем { digitalWrite(REL, LOW); } Serial.printIn(analogRead(SHINE)); selay(500); }

Pokud vše zapojujete, nezapomeňte si odnést fotosenzor se světly, jinak budete kontrolováni na světlo. Na všem se dá vydělat.

Příště se pokusíme kód zjednodušit a přidat pár funkcí. Brzy se uvidíme!

Necvičte