Tartalomjegyzék:
- Kellékek
- 1. lépés: Az áramkör építése:
- Lépés: Az Arduino programozása:
- 3. lépés: A Python programozása az Arduino grafikonjainak grafikonjaihoz:
- 4. lépés: Végső program a szoba fényintenzitásának ellenőrzésére
- 5. lépés: Eredmény:
Videó: Fényintenzitás ábrázolása az Arduino és a Python Arduino Master Library használatával: 5 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:40
Mivel az Arduino gazdaságos, ugyanakkor rendkívül hatékony és funkcionális eszköz, az Embedded C programozásával unalmassá válik a projektek készítésének folyamata! A Python Arduino_Master modulja leegyszerűsíti ezt, és számításokat végez, eltávolítja a szemétértékeket, és grafikont rajzol az adatok vizuális megjelenítéséhez.
Ha még nem ismeri ezt a modult, telepítse azt a pip install Arduino_Master paranccsal
Ne aggódjon, ha nem tudja, hogyan használja ezt a modult, keresse fel ezt a linket => Arduino_Master
Ennek a projektnek a kódja azonban mindig elérhető lesz ebben az utasításban.
Kellékek
Ehhez a projekthez a következőkre lesz szüksége:
- Egy Arduino
- Fényfüggő ellenállás (LDR) és
- Python 3 telepítve a számítógépre.
1. lépés: Az áramkör építése:
Az Arduino A1 tűjét használjuk a bemeneti adatok beszerzéséhez. Az akkumulátor helyett az Arduino 5V és GND csapjait is használhatja. Csatlakoztassa a következőképpen:
- Csatlakoztassa az LDR egyik végét az 5 V -os akkumulátor pozitív pólusához vagy az Arduino 5 V -os érintkezőjéhez.
- Csatlakoztassa az LDR másik végét párhuzamosan az A1 tűvel és az akkumulátor negatív pólusával vagy az Arduino GND csapjával.
- Használjon ellenállást annak biztosítására, hogy az összes áram ne áramoljon a GND -be, ami azt eredményezné, hogy nem kap elég erős jelet az Arduino A1 terminálján történő érzékeléshez. (10 k ohmos ellenállást használok).
Lépés: Az Arduino programozása:
Az Arduino_Master modul az Arduino soros monitorát használja az adatok küldésére és fogadására. Ennek a modulnak az az előnye, hogy miután beprogramozta Arduino -ját, egyedül megváltoztathatja a python programot a különböző projektekhez, mivel a pythonban való programozás viszonylag egyszerűbb!
Kód:
// Az LDR_1 változó az Arduino A1 tűjének jelölésére szolgál.
int LDR_1 = A1;
// Az A1 -től kapott adatok az LDR_Value_1 fájlban lesznek tárolva.
float LDR_Value_1;
String bemenet;
üres beállítás ()
{pinMode (LDR_1, INPUT); // Az LDR_1 INPUT tűként van beállítva. Sorozat.kezdet (9600); // A kommunikációs átviteli sebesség 9600.
üres hurok ()
{if (Serial.available ()> 0) // ha a bemenet elérhető a soros monitoron, akkor folytassa. {input = Serial.readString (); // Olvassa el a bemenetet karakterláncként. if (input == "DATA") {LDR_Value_1 = analogRead (LDR_1) * (5.0 / 1023.0); // (5 /1023) az átváltási tényező az érték megadásához voltban. Serial.println (LDR_Value_1); // Ha a bemenet megegyezik a "DATA" értékkel, akkor olvassa be az LDR_1 bemenetét, és nyomtassa ki a soros monitoron. } else int i = 0; // ha a bemenet nem egyenlő "DATA" -val, ne tegyen semmit! }
}
3. lépés: A Python programozása az Arduino grafikonjainak grafikonjaihoz:
Minden LDR -nek megvannak a saját ellenállási értékei, és emlékeznünk kell arra, hogy az elektronikus alkatrészekre adott nem minden esetben pontosan azonos. Így először meg kell találnunk a feszültséget különböző fényintenzitásoknál.
Töltse fel a következő programot a python IDE -be, és futtassa:
Tegye ezt különböző fényintenzitások esetén, és a grafikon segítségével vonjon le egy következtetést, például, ha az intenzitás kisebb, mint 1, a helyiség túl sötét. Az 1 és 2 közötti intenzitás esetén a szoba jelentősen sötét. 2 -nél nagyobb intenzitás esetén a fény be van kapcsolva.
# Arduino_Master modul importálása
az Arduino_Master importből *
# adatgyűjtés
adatok = szűrő (ardata (8, squeeze = Hamis, dinamikus = igaz, msg = "DATA", sorok = 30), várt_típus = 'szám', limit = [0, 5])
# korlát 5 -re van állítva, mivel 5V -os akkumulátort használunk.
# Az értékek ábrázolása
Grafikon (adatok, stl = 'dark_background', label = 'Light Intensity')
4. lépés: Végső program a szoba fényintenzitásának ellenőrzésére
Miután a kapott adatokból következtetésre jutott, töltse fel a következő programot, és győződjön meg arról, hogy a következtetés szerint módosítja a korlátokat.
# Arduino_Master modul importálása
az Arduino_Master importból # adatgyűjtés adatok = szűrő (ardata (8, squeeze = Hamis, dinamikus = igaz, msg = "DATA", sorok = 50), várt_típus = 'szám', limit = [0, 5]) # adatok osztályozása következtetés alapján info = az i tartományban (len (adatok)): intenzitás = adat ha az intenzitás 1 és intenzitás = 2: info.append ('Light ON') # A grafikon ábrázolása. compGraph (adatok, információk, stl = 'dark_background', label1 = 'Light Intensity', label2 = 'State')
5. lépés: Eredmény:
A program futása egy -két percet vesz igénybe, mivel 50 pillanatnyi értéket olvas az Arduino -ból.
Ha fel akarja gyorsítani a folyamatot, próbálja meg megváltoztatni az ardata függvény lines paraméterét. De ne feledje, hogy minél kevesebb a megfigyelés, annál rosszabb lesz az adatok minősége.
Megjegyzés: Ha a fenti képen látható teljes grafikon nem látható, nézze meg a Bevezetés szakasz fölötti grafikont.
Ajánlott:
Fényintenzitás mérése a BH1715 és a Raspberry Pi használatával: 5 lépés
Fényintenzitás -mérés a BH1715 és a Raspberry Pi használatával: Tegnap LCD kijelzőn dolgoztunk, és közben rájöttünk a fényintenzitás számításának fontosságára. A fény intenzitása nemcsak a világ fizikai területén fontos, hanem a biológiai életben is jól megfogalmazott
Hőmérséklet -érzékelő élő adatainak ábrázolása (TMP006) MSP432 LaunchPad és Python használatával: 9 lépés
Hőmérséklet -érzékelő (TMP006) élő adatainak ábrázolása MSP432 LaunchPad és Python használatával: A TMP006 egy hőmérséklet -érzékelő, amely méri az objektum hőmérsékletét anélkül, hogy kapcsolatba kellene lépnie az objektummal. Ebben az oktatóanyagban a BoosterPack (TI BOOSTXL-EDUMKII) élő hőmérsékleti adatait ábrázoljuk a Python használatával
Fényintenzitás -számítás BH1715 és Arduino Nano használatával: 5 lépés
Fényintenzitás -számítás a BH1715 és az Arduino Nano használatával: Tegnap az LCD -kijelzőkön dolgoztunk, és azokon dolgozva rájöttünk a fényintenzitás számításának fontosságára. A fény intenzitása nemcsak a világ fizikai területén fontos, hanem a biológiai életben is jól megfogalmazott
Fényintenzitás -számítás BH1715 és részecskefoton használatával: 5 lépés
Fényintenzitás -számítás a BH1715 és a részecskefoton segítségével: Tegnap LCD kijelzőkön dolgoztunk, és azokon dolgozva rájöttünk a fényintenzitás számításának fontosságára. A fény intenzitása nemcsak a világ fizikai területén fontos, hanem a biológiai életben is jól megfogalmazott
Arduino dátum/idő ábrázolása/naplózása Millis () és PfodApp használatával: 11 lépés
Arduino dátum/idő ábrázolása/naplózása Millis () és PfodApp használatával: Nincs szükség Arduino vagy Android programozásra. RTC és GPS modulok is támogatottak. Automatikus korrekció az időzónákhoz, az RTC sodródás és a hiányzó szökő másodpercek GPS Bevezetés Ez az oktatóanyag bemutatja, hogyan kell használni az Arduino millis ( ) időbélyegek az adatok ábrázolásához