Luke_CZ
Vytvořené odpovědi
-
AutorPříspěvky
-
Luke_CZÚčastník
a, zakrýt HC-SR04 je z principu funkce čidla blbost
b, to, co máš v linku, je enem čidlo bez elektroniky = tudíž k prdu
c, kup tohle, jede to od 600 do 20cm a připojíš to rovnou v arduinu, ještě bych doplnil do konstrukce teploměr pro kompenzaci rychlosti šíření zvuku v závislosti na teplotě vzduchuL.
Luke_CZÚčastníkTO boylucky:
A, nebylo by od věci sdělit na jakém HW to pojede (pokud to vůbec tušíš)
B, používat PHP(MySQL, Apache) apod. pro zobrazení teploty v HTML je jak orat brambory Veyronem
C, nejdříve si ujasni, co to má umět a potom sháněj pomocTO kejlicz:
pro měření teploty, vlhkosti stačí i NodeMcu apod., ten zvládne i jednoduchou flat file dbTO vojjta:
A, po zkušenostech s těmito „hotovými“ systémy jdu raději cestou vlastního návrhu, než pochopíš jak to rozchodit a upravit, tak vyjde nová verze, kde je všechno jinak
B, spočítej si spotřebu energie, páč to musí jet na desktopuL.
PS. Technika se super, jen bude sranda, až spadne net a z tebe se stane bezdomovec, páč do baráku se prostě nedostaneš.Luke_CZÚčastníkMám 🙂
L.
Luke_CZÚčastníkJelikož je 1264 grafický, tak v něm žádný charset natvrdo není(aby se ti tam při restartu cpal) a font se musí řešit za pomoci SW. Tohle bych tipnul na 99% rušení.
Zkontroluj zapojení a uvidíš.L.
Luke_CZÚčastníkA, k jakému účelu ten TCRT5000 bude?
B, než zvedat citlivost, tak se raději podívej na jiné senzory, zvýšením citlivosti přináší samozřejmě zvýšené riziko chybných signálůL:
Luke_CZÚčastníkVšecko jde, enem hledat 🙂
L.
Luke_CZÚčastníkArduino(UNO) má 10-bit analogově-digitální převodník, který převádí napětí na vstupním pinu na digitální hodnotu viz. analogRead(), jelikož je to 10-bit, tak napětí na pinu ti převede na číslo 0-1023 (2 na desátou – 1).
Příklad: Pro 5V Arduino je tedy 5V na vstupním pinu převedeno na číslo 1023.
Tedy z toho plyne, že nejmenší jednotku jsi schopen změřit 5V/1024 = 0,004882813V = cca 5mV(analogicky platí pro 3.3V verzi arduina tam by to bylo při 3.3V cca 3mV).
Pro přesný A/D převod potřebuješ mít referenční napětí, a tím napájet čidla.
Například jaké napětí dává integrovaný stabilizátor a skeč upravit tak, aby reflektoval toto napětí coby referenční. Více zde analogReference().
Před tím, než začneš cokoliv měřit na vstupním pinu je nutno si ověřit:
1, napěťovou logiku arduina 5V, 3.3V
2, nikdy se nesmí dostat na pin vyšší napětí, než je napěťová logika arduina, jinak ho spolehlivě odpálíš!
3, pro měření vyšších napětí je nutné vyrobit napěťový dělič více zde
Online kalkulačka
4, v autě bych určitě ochránil piny před možným přepětím. Další inspirace na Google(arduino adc protection))
Tož kdyby něco tak napiš 😉
L:
Luke_CZÚčastníkMusíš juknout do zdrojáků, předpokládám, že na začátku skeče vkládáš hlavičkový C soubor pro knihovnu:
#include <TM1640.h>
Tož se jukni do něj(TM1640.h), jak je funkce definována, pokud není (jakože není), tak je v něm (TM1640.h) vkládán další hlavičkový soubor#include "TM16XX.h"
.
Koukni do TM16XX.h a hleďme:/** Set the display to the values (left to right) */ virtual void setDisplay(const byte values[], unsigned int length = 8);
Prostě, ne každý autor píše detailní manuál ke knihovně a raději dává popis funkcí rovnou do zdrojáku.
L.
Luke_CZÚčastníkA propos pro čidla bych volil referenční zdroj, pak to lítat nebude.
Luke_CZÚčastníkLuke_CZÚčastníkA, TM1640 není i2C, ačkoliv k obsluze potřebuje pouze dva vodiče
B, pro každý module je nutná tedy vlastní instance asi takto:
TM1640 module1(6, 7);
TM1640 module2(8, 9);
atd..
Samozřejmě to zabere více pinů, ale funguje to, já to řešil úspěšně pro TM1637.L.
Luke_CZÚčastníkNahrej do arduina: http://playground.arduino.cc/Main/I2cScanner
Uvidíš, jestli je na I2C ten tvůj senzor (vypíše to nějakou adresu nalezeného zařízení), pokud ne, je něco špatně v zapojení.L:
Luke_CZÚčastníkCelkem chápu nechuť sdílet hotový skeč, ale bez toho ti nikdo neporadí. Já bych to tipoval na problém při aktivaci a připojení WiFi, jak máš ošetřené připojení? Máš tam programové prodlevy, ono připojení na WiFi chvilku trvá. Tak jak to popisuješ by to na to vypadalo.
L.
Luke_CZÚčastníkLuke_CZÚčastníkTož, ve tvém případě by měl ADC ukazovat při 4.89V(Vdd) hodnotu 255. Jde tedy o to, jaká hodnota je pro ADC brána jako 100%, změnou referenčního napětí(na pinu 14) můžeš samozřejmě změnit i rozlišení ADC, hezky popsáno zde.
Každopádně, pokud chceš používat ADC, tak je vhodné mít externí zdroj stabilního referenčního napětí, ve tvém případě to znamená, že pokud bys změnil napájecí zdroj, třebas na 5.1V, tak by bylo 100% (255) při napětí právě oněch 5.1, jelikož se ti reference posune vždy dle Vdd. Tomu se právě předchází externím zrojem ref.napětí, jako tento zdroj se dá třeba použít zenerka, či přímo vyráběné šváby.
Zapojení máš na bastldesce? Pokud jo, tak to vypadá, že máš někde blbej kontakt, zkus změřit, kolik je na Vdd teho PCF8591(no, on tenhle šváb není žádnej zázrak, nehledě na to, že to je na 99% nějakej čínskej klon).L:
Luke_CZÚčastníkIDE pro Linux je stejný jak pro jiné OS, je to Java. Dej sem skeč(do CODE) + výpis chybového hlášení.
Obecně pro všechny co potřebují poradit:
1, dávejte sem váš problémový skeč
2, vložte chybové hlášení kompilátoru
3, uveďte OS a verzi IDE ArduinaL.
Luke_CZÚčastníkNapájíš to přesně 5V, nebo pře USB, které je plus minus autobus? Předpokládám, že víš, co je referenční napětí.
L.
Luke_CZÚčastníkJeště jednou zkontroluj zapojení, to co popisuješ vypadá na nepřehozený RX TX.
L.
Luke_CZÚčastníkNe.
Luke_CZÚčastníkA, použít arduino na blikání diod je zhovadilost
B, pokud nevíš, jaký signály ti RX přijímá, tak nic neuděláš
C, když píšeš dotaz jak Maďar, tak ti neporadí nikdoL.
Luke_CZÚčastníkJá měl dokonce ESP bez FW, doručuji to, co kolegové. Tj. nehledě na deklaraci prodejce nahrát odzkoušený FW.
L.
Luke_CZÚčastníkJen pro ujasnění, 5V logiku sice ESP8266 zvládne, ovšem pouze díky tomu, že má ochranu na vstupech. Obecně bych 5V logiku pro ESP8266 nepoužíval.
L.
Luke_CZÚčastníkA, když shoří odpor, tak se na 99% přeruší = na pin pošleš rovnou 24V
B, 24V na pinu arduino spolehlivě odpálíL.
Luke_CZÚčastníkSamozřejmě, stačí použít Google.
L.
Luke_CZÚčastníkDůležité je z jakého mobilu je. Pokud z nějakého starého, tak to by šlo, z nových dotykových ne, to by musel být displej i s řadičem a ten je na základní desce a nevím o takovém, který by měl řadič přímo fyzicky na displeji.
L.
Luke_CZÚčastník17.1.2017 v 11:12 odpověď na: BRNO – plně automatizovaná zahrada s dohledem // od píky, někdo z lokality? #10059Luke_CZÚčastníkA, HW to není problém, jen si ujasni, kolik drátů budeš, v případě drátového připojení, tahat, nebo jít do částečně bezdrátové varianty, tj. posílat data z místních čidel do ústředny vzduchem
B, pokud chceš provozovat zahrádku online, tak bych spíše šel do ESP8266, resp.NodeMcu, či WeMos, a nebo už do nějakého levného OrangePi
C, v případě výše uvedených mcu lze provozovat vlastní webový server či posílat data do cloudu, samozřejmě to předpokládá, že máš v dosahu zahrádky WiFi
L.
PS: Kdyžtak se ozvi na Skype: velky_ujezdLuke_CZÚčastníkTož jak jsi dopadl?
L.
Luke_CZÚčastníkTož já bych v tomto případě určitě šel do rychlejší alternativy mcu. Pokud chceš ušetřit(kdo by nechtěl), tak bych zkusil i ESP8266. Wifi se dá vypnout, samotný 32-bit procák jede na 80MHz, 96 KiB RAM, 4MB FLASH (jsou i 16MB verze), SPI a I2C samozřejmostí.
Předpokládám, že budeš chtít na displeji zobrazovat rychlejší děje a mít hezké rozhraní, to samozřejmě nese nemalé nároky na rychlost a SRAM. Arduino v tomto případě jede na hraně(8-bit frekvence 16MHz a 2KiB SRAM).
Pro vývoj bych ti doporučil NodeMcu, ta má na sobě nejen ESP8266, ale rovnou i převodník USB<>RS232, programuje se v IDE Arduina a používá většinu knihoven jak klasické arduino. Stačí připojit a programovat.
Pokud by vadil pomalejší A/D převodník v mcu, tak dáš externí.L.
-
AutorPříspěvky