Obsah:
- Krok 1: Co potřebujete…
- Krok 2: Připojení kusů
- Krok 3: Nastavení Arduino IDE
- Krok 4: Čas na kódování
Video: Indikátor teploty RGB (s XinaBoxem): 5 kroků (s obrázky)
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:22
Toto je oficiálně můj první článek Instructables, takže se přiznám, že právě teď tuto příležitost využívám k vyzkoušení. Získejte přehled o tom, jak platforma funguje, o celé její uživatelské zkušenosti. Ale když to dělám, usoudil jsem, že mohu také využít příležitost podělit se o jednoduchý projekt, na kterém jsem dnes pracoval (pomocí produktů od XinaBoxu, který se mimochodem vyslovuje jako „X-in-a- Krabice ).
V tomto jednoduchém pětistupňovém pokynu se budu zabývat následujícími tématy:
- Potřebné součásti
- Propojení různých xChipů dohromady.
- Nastavení prostředí Arduino IDE.
- Psaní kódu
- A nakonec testování myšlenky
Co nebudu sdílet v tomto pokynu:
- I když se rád ponořím do vysvětlování, co každý z těchto xChipů dokáže a jak s nimi můžete manipulovat, aby vykonával určité funkce, nebyl by to cíl tohoto pokynu. V blízké budoucnosti plánuji vydat další Instructables, které se ponoří do každého z různých xChipů, které jsou k dispozici prostřednictvím katalogu produktů XinaBox.
- Nebudu zacházet do základů kódu Arduino, protože předpokládám, že již máte určitou úroveň zkušeností s používáním Arduino IDE a základní znalosti programování v C/C ++.
Krok 1: Co potřebujete…
Technicky vzato, většina základních návodů k produktům obvykle začíná „Hello World!“příklad, nebo dokonce příklad „Blink“, který už možná velmi dobře znáte, protože jste v určitém okamžiku spolupracovali s Arduino nebo Raspberry Pi. Ale nechci s tím začínat, protože všichni už dělají totéž, což je ve skutečnosti trochu nudné.
Místo toho jsem chtěl začít s praktickou myšlenkou projektu. Něco, co je dostatečně jednoduché a škálovatelné do složitějšího projektu, pokud chcete.
Zde jsou položky, které budeme potřebovat (viz fotografie poskytnuté pro tuto část Instructable):
- IP02 - Pokročilé programovací rozhraní USB
- CC03 - Arm Cortex M0+ jádro
- SW02 - VOC a senzor počasí (který používá snímač BME680 od BOSCH)
- Konektory xBUS - umožňují komunikaci I2C mezi různými xChipy (x2)
- Konektor xPDI - umožňuje programování a ladění (x1)
Krok 2: Připojení kusů
Abychom spojili všechny kusy dohromady, začneme nejprve s 1 kusem konektoru xBUS a konektoru xPDI.
Podle obrázků, které jsem poskytl, si všimněte orientace xChips a kam půjdou konektory.
Mezi IP02 a CC03 xChips je docela snadné identifikovat spojovací body.
U CC03 to bude jižní strana. Pro IP02 to bude severní strana xChip.
Jakmile to bude hotové, přidáme další konektor xBUS na západní stranu CC03 xChip.
Hotovo?
Nyní stačí připojit SW02 xChip k západní straně CC03.
Před vložením IP02 do našeho notebooku se ujistěte, že jsou pro dva přepínače vybrány následující možnosti:
- Je vybráno B (levý spínač)
- Je vybrána DCE (pravý přepínač)
Konečně jsme nyní připraveni vložit IP02 do našeho notebooku a začít nastavovat Arduino IDE.
Krok 3: Nastavení Arduino IDE
V tomto pokynu jsem opět učinil předpoklad, že jste již obeznámeni s prostředím Arduino IDE a také s tím, jak spravovat knihovny ve vývojovém prostředí.
Pro účely tohoto projektu budeme potřebovat dvě hlavní knihovny:
- arduino-CORE-https://github.com/xinabox/arduino-CORE
- Knihovna SW02 -
Stáhněte si obě knihovny na místo na ploše.
Dále spusťte Arduino IDE.
V hlavní nabídce vyberte „Skica“> „Zahrnout knihovnu“> „Přidat knihovnu. ZIP…“
Opakujte stejný postup pro oba soubory knihovny.
Dále budeme muset vybrat příslušnou „desku“a také „port“. (Všimněte si, že jsem také zvýraznil potřebné výběry pomocí oranžového rámečku.
- Deska: „Arduino/Genuino Zero (nativní port USB)“
- Port: "COMXX" (to by mělo být podle portu COM, který se odráží na vašem počítači. Můj používá COM31)
V pořádku! Vím, že jste toužili skočit do kódování, takže v dalším kroku se na to zaměříme.
Krok 4: Čas na kódování
V této části začnu sdílením fragmentů kódu z dokončeného kódu projektu. A na konci zveřejním celý zdroj, což vám usnadní kopírování a vložení kódu do zdrojového souboru Arduino IDE.
Soubory záhlaví:
#include /* Toto je knihovna hlavních základních funkcí XinaBoxu. */
#include /* Toto je knihovna pro VOC & Weather Sensor xChip. */
Definování některých konstant pro ovládání signálů LED RGB:
#definovat redLedPin A4
#definovat greenLedPin 8 #definovat blueLedPin 9
Dále musíme deklarovat prototyp funkce pro předávání hodnot RGB
neplatné setRGBColor (int redValue, int greenValue, int blueValue);
Deklarace objektu SW02:
xSW02 SW02;
Metoda setup ():
neplatné nastavení () {
// Spusťte I2C Communication Wire.begin (); // Spusťte senzor SW02 SW02.begin (); // Zpoždění pro normalizaci zpoždění senzoru (5000); }
Nyní k hlavní smyčce ():
prázdná smyčka () {
float tempC; }
Dále budeme muset provést hlasování pomocí objektu SW02, který jsme vytvořili dříve v programu, abychom zahájili naši komunikaci se senzorovým čipem:
// Čtení a výpočet dat ze senzoru SW02SW02.poll ();
Nyní čteme, abychom získali teplotu snímače
tempC = SW02.getTempC ();
Jakmile budeme mít odečet, poslední věcí, kterou uděláme, je použít řadu příkazů if… else… k určení teplotního rozsahu a poté zavolat funkci setRGBColor ()
// Teplotní rozsah můžete upravit podle svého klimatu. Pro mě žiji v Singapuru, // což je tropické po celý rok a teplotní rozsah zde může být docela úzký. if (tempC> = 20 && tempC = 25 && tempC = 30 && tempC = 32 && tempC = 35) {setRGBColor (255, 0, 0); }
Poznámka: Pokud vás zajímá, jaké jsou příslušné hodnoty RGB pro konkrétní barvu, doporučuji vám vyhledat na Googlu „hodnoty barev RGB“. Existuje spousta stránek, kde můžete pomocí voliče barev vybrat požadovanou barvu
// Pokud chcete a je to volitelné, můžete také přidat zpoždění mezi hlasováním pro čtení ze senzoru.
zpoždění (DELAY_TIME);
Samozřejmě můžete deklarovat konstantu DELAY_TIME na začátku programu, takže pouze musíte upravit její hodnotu jednou, nikoli na více místech v celém programu. Nakonec potřebujeme funkci pro ovládání naší RGB LED:
void setRGBColor (int redValue, int greenValue, int blueValue) {
analogWrite (redLedPin, redValue); analogWrite (greenLedPin, greenValue); analogWrite (blueLedPin, blueValue); }
Závěrečný program
#zahrnout
#include #define redLedPin A4 #define greenLedPin 8 #define blueLedPin 9 void setRGBColor (int redValue, int greenValue, int blueValue); const int DELAY_TIME = 1000; xSW02 SW02; void setup () {// Spusťte I2C Communication Wire.begin (); // Spusťte senzor SW02 SW02.begin (); // Zpoždění pro normalizaci zpoždění senzoru (5000); } void loop () {// Vytvořte proměnnou pro ukládání dat načtených ze SW02 float tempC; tempC = 0; // Čtení a výpočet dat ze senzoru SW02 SW02.poll (); // Požádejte SW02 o získání měření teploty a uložte do // proměnné teploty tempC = SW02.getTempC (); if (tempC> = 20 && tempC = 25 && tempC = 30 && tempC = 32 && tempC = 35) {setRGBColor (255, 0, 0); } // Malé zpoždění mezi zpožděním čtení snímače (DELAY_TIME); } void setRGBColor (int redValue, int greenValue, int blueValue) {analogWrite (redLedPin, redValue); analogWrite (greenLedPin, greenValue); analogWrite (blueLedPin, blueValue); }
Nyní, když je náš program připraven, pojďme naprogramovat xChip! Proces nahrávání je úplně stejný, jako byste nahráli program na desky Arduino.
Až budete hotovi, proč jej neodpojit a nevyvést na zkušební provoz.
Doporučuje:
Indikátor teploty procesoru Raspberry Pi: 11 kroků (s obrázky)
Indikátor teploty procesoru Raspberry Pi: Dříve jsem zavedl jednoduchý obvod indikátoru provozního stavu Raspberry Pi (dále jen RPI). Tentokrát vysvětlím některé užitečnější indikační obvody pro RPI běžící bezhlavým způsobem (bez monitoru). Výše uvedený obvod ukazuje Teplota CPU
Indikátor stavu rodiny / spolupracovníka: 6 kroků (s obrázky)
Ukazatel stavu rodiny / spolupracovníka: Můj první instruktabilní, mnoho projektů mi za ty roky pomohlo, doufejme, že to pomůže někomu jinému. Povídka … Potřebovali jsme způsob, jak si navzájem ukázat svůj stav, než přerušovat hovory nebo se držet stranou, když předpokládáme další
LED indikátor vzdálenosti psího postroje: 5 kroků (s obrázky)
LED indikátor vzdálenosti Psí postroj: Obvykle vezmu svého psa Rusia na procházku, když zapadne slunce, aby si mohl hrát, aniž by mu bylo příliš horko. Problém je v tom, že když je mimo vodítko, někdy je příliš vzrušený a běží dál, než by měl, a při slabém osvětlení a ostatní psi
Indikátor teploty a vlhkosti Arduino: 7 kroků (s obrázky)
Indikátor teploty a vlhkosti od společnosti Arduino: Tento návod vám ukáže, jak vytvořit krabici, která pomocí Arduina může ukazovat teplotu a vlhkost. Tuto krabici můžete postavit na stůl pro měření teploty a vlhkosti ve vaší místnosti Díky vysoké kvalitě MDF krabice laserovým řezáním je každá věc kompaktní
Zvuk piezo bzučáku s Blynkem a XinaBoxem: 9 kroků
Zvuk Piezo bzučáku s Blynkem a XinaBoxem: Ovládejte jakýkoli 5V prvek pomocí Blynk a xChips. Tento projekt zní z mého telefonu jako Piezo Buzzer