System Monitoringu Parametrów Środowiska - patrz opis pod filmem
Mierzone parametry / Czujniki:
Temperatura / Wilgotność wzgl. powietrza - czujnik HTU21D
Ciśnienie atmosferyczne bezwzględne / względne przeliczone - czujnik BME280
Natężenie światła słonecznego ( w luxach czyli lumenach/m2) - czujnik BHA1750
Strumień mocy światła słonecznego ( składowe R/G/B/C) - czujnik ADPS9960
Poziom promieniowania UVA/UVB, Index UV - czujnik VEML6075
Przetwornik A/D dla czujników analogowych - ADS1115 (16-bitowy + PGA)
Strumień mocy słońca - panel PV z lampki solarnej + przetwornik I/U na OpAmpie
Temperatura panelu PV - czujnik LM75A (I2C)
Jakość powietrza (względna) - czujnik MQ135
Natężenie pola EM 200kHz-500MHz ( moc na impedancji wej.) - układ AD8307
Natężenie pola EM 700MHz-2.7GHz ( moc na impedancji wej.) - układ AD8318
Procesor: ATMEGA 328P-AU (Arduino NANO)
Wyświetlacz: SSD1306
Obsługę wszystkich czujników napisałem z palca bez używania gotowych bibliotek z wyjątkiem czujnika HTU21D i BME280. Korzystałem jedynie z biblioteki Wire.h do obsługi magistrali I2C
Mam świadomość tego że na magistrali I2C są czujniki zasilane zarówno z +3.3V jak i z +5V. W tej sytuacji powinny być stosowne układy przesuwania poziomu napięcie (level shiftery) - ale nie chciało mi się ich tam wstawiać więc mamy lekki hardcore :) W tym układzie mamy linie SDA i SCL podciągnięte do obu tych napięć, więc napiecie wypadkowe ustala się na poziomie powyżej 3.3 i poniżej 5V a konkretnie to ok. 4V Dla układów wyjścia tych czujników to nie stanowi problemu bo wyjścia są typu Open-Drain, natomiast dla układów wejścia czujników zasilanych z 3.3V to też jest do przyjęcia bo na wejściu są diody zabezpieczające w normalnych warunkach spolaryzowane zaporowo do 3.3V i masy - w tych warunkach dioda włączona do 3.3V przewodzi - zbijając napięcie wejściowe. W każdym razie stan niski jest "legalnym" stanem niskim dla czujników zasilanych dowolnym napięciem, natomiast stan wysoki jest "ponad legalny" dla czujników 3.3V i "poniżej legalny" dla czujników 5V :) Biorąc pod uwagę 3m kabla (skrętka UTP) łączący czujniki I2C bezpośrednio z prockiem to mamy solidny hardcore :) ...w każdym razie działa to bardzo dobrze i bez błędów dla taktowania zegarem 100kHz i zbocza wyglądają całkiem przyzwoicie dzięki stosunkowo niskiej rezystancji wypadkowej oporków podciągających linie SCL i SDA.
Видео System Monitoringu Parametrów Środowiska - patrz opis pod filmem канала andrzej doniczka
Temperatura / Wilgotność wzgl. powietrza - czujnik HTU21D
Ciśnienie atmosferyczne bezwzględne / względne przeliczone - czujnik BME280
Natężenie światła słonecznego ( w luxach czyli lumenach/m2) - czujnik BHA1750
Strumień mocy światła słonecznego ( składowe R/G/B/C) - czujnik ADPS9960
Poziom promieniowania UVA/UVB, Index UV - czujnik VEML6075
Przetwornik A/D dla czujników analogowych - ADS1115 (16-bitowy + PGA)
Strumień mocy słońca - panel PV z lampki solarnej + przetwornik I/U na OpAmpie
Temperatura panelu PV - czujnik LM75A (I2C)
Jakość powietrza (względna) - czujnik MQ135
Natężenie pola EM 200kHz-500MHz ( moc na impedancji wej.) - układ AD8307
Natężenie pola EM 700MHz-2.7GHz ( moc na impedancji wej.) - układ AD8318
Procesor: ATMEGA 328P-AU (Arduino NANO)
Wyświetlacz: SSD1306
Obsługę wszystkich czujników napisałem z palca bez używania gotowych bibliotek z wyjątkiem czujnika HTU21D i BME280. Korzystałem jedynie z biblioteki Wire.h do obsługi magistrali I2C
Mam świadomość tego że na magistrali I2C są czujniki zasilane zarówno z +3.3V jak i z +5V. W tej sytuacji powinny być stosowne układy przesuwania poziomu napięcie (level shiftery) - ale nie chciało mi się ich tam wstawiać więc mamy lekki hardcore :) W tym układzie mamy linie SDA i SCL podciągnięte do obu tych napięć, więc napiecie wypadkowe ustala się na poziomie powyżej 3.3 i poniżej 5V a konkretnie to ok. 4V Dla układów wyjścia tych czujników to nie stanowi problemu bo wyjścia są typu Open-Drain, natomiast dla układów wejścia czujników zasilanych z 3.3V to też jest do przyjęcia bo na wejściu są diody zabezpieczające w normalnych warunkach spolaryzowane zaporowo do 3.3V i masy - w tych warunkach dioda włączona do 3.3V przewodzi - zbijając napięcie wejściowe. W każdym razie stan niski jest "legalnym" stanem niskim dla czujników zasilanych dowolnym napięciem, natomiast stan wysoki jest "ponad legalny" dla czujników 3.3V i "poniżej legalny" dla czujników 5V :) Biorąc pod uwagę 3m kabla (skrętka UTP) łączący czujniki I2C bezpośrednio z prockiem to mamy solidny hardcore :) ...w każdym razie działa to bardzo dobrze i bez błędów dla taktowania zegarem 100kHz i zbocza wyglądają całkiem przyzwoicie dzięki stosunkowo niskiej rezystancji wypadkowej oporków podciągających linie SCL i SDA.
Видео System Monitoringu Parametrów Środowiska - patrz opis pod filmem канала andrzej doniczka
Показать
Комментарии отсутствуют
Информация о видео
Другие видео канала
Solar Power Flux Density Meter 0-999 W/m2Moduł GPS Navibe GB732 transmisja szeregowa RS232 do kompa lub trakeraMiernik EMF 100kHz-300MHz, +10dBm...-90dBmAntena aktywna VLF / Detektor Licznik BurzyGenerator Liczby Losowej / Random Number GeneratorTesty procedur obsługi wyświetlacza LCD HD44780, Enkodera, Przetwornika A/C i Modułu PWMLicznik Geigera-MulleraGenerator Funkcji FeelTech FT3224 - TestAlternator jako Silnik BLDC - test układu docelowego (Running Alternator as a BLDC motor)Oscyloskop Cyfrowy ATMEGA 328P/Arduino NANO cz.1Miernik Refleksu / Man reaction time meterGenerator Impulsów Nanosekundowych na 2N3904Odbiornik FM 88-108MHz z demodulatorem PLLGenerator Liczb Losowych ( Random Number Generator DIY)Napęd synchroniczny do pojazdu (roweru) elektrycznego - Testy c.dWahadełko bez sensu, czyli: Most Useless Device Ever :) (Magnetic pendulum)Rower z napędem elektrycznym BLDC sterowanym mikroprocesorem (BLDC Drive electric bike)Mikroprocesorowy Kontroler Silnika Prądu Stałego (uC DC Motor Controller)Zasilacz wysokiego napięcia 0-30kV DC / 2mA / High Voltage Power SupplyLinia Długa - zjawiska falowe (Transmission Line)