ArduXPP
Vytvořené odpovědi
-
AutorPříspěvky
-
BlindP
ÚčastníkNebude jednodušší protáhnout nový kabel? (přivázat na starý a protáhnout) Přenášet 0-5v na takovou dálku nebude nejpřesnější… Nemusíte to arduino cpát za každou cenu všude. :)))
lil_bow_wuw
Účastníkzdravím.
1/ Je to program na zkoušení elektromagnetických cívek kdy se musí každí cívka zkontrolovat 30.000 cykly. Každý cyklus musí mít 1200 milisekund sepnutí a 800 milisekund rozepnuti a v rozepnutí se musí kotva cívky vrátit zpět.
2/ Měl jsem tentýž program zobrazován přes ethernet shield a koukal jsem na to přes webové rozhraní. To ale nebylo ideální protože se muselo tahat moc kabelu k zařízení. Nakonec jsem chtěl udělat krabičku s displejem kde budou zobrazeny všechny hodnoty stejně jak v seriovém monitoru. Jsem v tomto úplně začáteční a nemám ani páru o programování (jsem čistokrevný strojař bez elektro vzdělání :-))
3/ Musí to být v loopu celý ten program?? Když je to totiž v setupu tak se celý program udělá 30.000 a „zastaví se“. Když je to v loopu tak dojede na hodnotu 30.000 a opakuje se což nechci.
4/ Zkoušel jsi ten program nahrát do arduina? On takhle úplně v pohodě běží a díky pinu 2 a 3 indikuje sepnutí cívky, respektive mechanické přitáhnutí kotvy cívky.
5/ mělo by to na tom displeji vypadat stejně jak na tom seriovem monitoru. Vždy po jenom cyklu cívky A a B obnova displeje a znova dokola 30.000 krát a na konci celé to vyhodnocení a už neobnovovat displej a zastavit se.Asi to píšu jak nějaký tupec co??? 😀
posjirka
Účastníkz pohledu přístupu není rozdíl mezi LCD a OLED, je to jen v technologii zobrazení, ale komunikační protokoly jsou podobné/stejné.
zkus si ještě jednou přečíst co jsem ti psal v předchozím příspěvku.
Musíš si představit jak by to na tom OLED display mohlo vypadat a podle toho napsat program. je vhodné si program rozdělit na základní funkční celky:
– nastavení ( setup() )
– měření
– vyhodnocení
– regulace
– zobrazenívšechny 4 poslední body musí být ve smčce loop() aby se průběžně aktualizovali
Když to dodržíš, tak budeš mít výstup pro zobrazení na 1 místě a nemusíš to vyzobávat z celého programu. Pak není problém zobrazovat ty údaje na serial monitoru a zároveň na LCD.Co má ten tvůj program vlastně dělat?
lil_bow_wuw
ÚčastníkZdar, já mám oled display ne LCD. Spustit ho umím ale nevím jak tam vypsat data „duplicitně “ jak v seriovem monitoru.
Axamith
ÚčastníkUž jsem to pochopil, nějak mi to napoprvé nedocvaklo. Teď už jen vymyslet obslužný program a dořešit detaily HW.
michal123
ÚčastníkDěkuji, zrovna jsem našel takový hex, ke kterímu mám i ino ale už to nejspíš není třeba. Děkuji teď mi to došlo, první byt by měl znamenat počet datových bytů takže to sedí. Snad se mi to podaří brzy vyzkoušet.
Vojtěch Vosáhlo
ÚčastníkDobře, generuje mi to stejně, nebo alespoň podobně, můj hex je v příloze, je jiný než ten váš ale je to jen zkompilované arduinoISP. V tomhle případě bych tedy asi řádek dopsal FF tzn. toto:
:02134000 FFCFDD
se změní na toto:
:02134000 FFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD
Tak by to asi mělo fungovat, to DD musí být na konci protože by to měl být checksum který my ignorujeme, takže data která pošlete by mělo být těchto 16B FFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
Vojtěch Vosáhlo
ÚčastníkPošlete *.ino jestli máte abych to zkompiloval.Pardon, to je obyčejné ISP, je to z Příkladů ne?
michal123
Účastníkje to obyčejný o něco delší kus kodu http://leteckaposta.cz/581550497 (je ten jehož číst jsem posílal pred chvílí), ale dělají to i některé jiné i úplně jednoduché,
Vojtěch Vosáhlo
ÚčastníkTakhle vám to vygenerovalo ten intel hex soubor? To vypadá opravdu divně. Hoďte sem ten *.hex co to vygenerovalo a i ten kód ze kterého jste to generoval, já to zkusím u sebe.
michal123
ÚčastníkUž jsem se k tomu konečně dostal, nedaří se mi to pořádně vyzkoušet. Možná špatně „ořezávám“ například tento kus hex dat:
:101320000FBECDBFED01089510E0C2E6D0E004C0CD
:10133000FE010E944B072196C336D107C9F7F894E6
:02134000FFCFDD
:10134200000055028000000000001F019B00E80021
:10135200C600DA0066010000000036029B008A0225
nebo
:101150000895EE0FFF1F0590F491E02D099481E0B2
:0C11600090E0F8940C94B408F894FFCFD1
:10116C000880000000001B019700E400C200D600BCco s tím když řádek začíná takto?
Dreamer
ÚčastníkNo a já jsem popsal způsob jak co nejjednodušeji ovládat jedním vodičem nezávisle dva ventily. Když dva vodiče použiješ na napájení tak zbydou tři, tedy můžeš popsaným způsobem nezávisle ovládat 6 ventilů. Nic jednotušího mě už nenapadá. Reléový modul bude potřeba ale sám o sobě je k ničemu.
RomanB
ÚčastníkAhoj
#include <Wire.h>
#include <LiquidCrystal_I2C.h>int tlacitko = 9; //tlacitko na pinu 9
boolean tlacitkostav = 0;
boolean lcdstav = 0;LiquidCrystal_I2C lcd(0x27, 16, 2);
void setup()
{
lcd.begin();
lcd.backlight();
pinMode(tlacitko, INPUT_PULLUP); //zvedame vnitrnim odporem pin 9 do stavu HIGH
lcd.print(„text prvni“);
}void loop()
{if (digitalRead( tlacitko ) == LOW & tlacitkostav == 0 ) { //tlacitkem spiname GND
if ( lcdstav == 1 ) { lcd.clear(); lcd.print(„text prvni“); }
if ( lcdstav == 0 ) { lcd.clear(); lcd.print(„text druhy“); }
tlacitkostav = 1; lcdstav = !lcdstav; } // lcdstav negujeme
if (digitalRead( tlacitko ) == HIGH & tlacitkostav == 1 ) { tlacitkostav = 0; }
delay(200); //osetreni zakmitu tlacitka
}
posjirka
Účastník1, nezakladej duplictní vlákna
2, dej sem kod co už máš včetně zapojení a můžeme se na to podívat.
není to nic složitýho …Axamith
ÚčastníkJá potřebuji zcela nezávisle ovládat 5 ventilů. Nyní mám připojené 4 ventily, 5 vodičů. GND a 4x VCC. Řídící jednotka, která to ovládá dává na výstup 12V=. Co ventil, to jeden výstup.
Šlo by nějak využít releový modul ?
Ovládání přes Bluetooth není asi zrovna dobré řešení …?Ještě doplňuji, vzdálenost 15 metrů, přímá viditelnost. Délka vodičů, které mám nyní položeny je do 20 metrů, průřez 1 mm2.
Dreamer
ÚčastníkMožností je spousta ale na I2C rovnoou zapomeň. To je sběrnice na propojení modulů v jednom celku ne na komunikaci na desítky metrů. Co třeba 2 vodiče použít na napájení, tři zbudou na logiku. Na straně vysílací do nich pouštět přes analog output napěti 0 – 1,7 – 3,4 – 5V máš obsloužený dva ventily. Na přijímací straně vhodně zatížit aby dekódování neovlivňovalo rušení a podle naměřeného napětí na analog input ovládat ventily. 0 – oba vypnuté, 1,7 -1 ventil zapnutý, 3,4 druhý zapnutý, 5V oba.
Easy
ÚčastníkKoukam taky vcelaris po nocich.
Axamith
ÚčastníkNa UNO to jede, na Wemos jsem to ještě nerozchodil, páč nejsou lidi (čas) 😀
Zapojení a kód je v linku v mém prvním příspěvku, jen jsem displej připojil přes I2C a trochu upravil kód.P.S. zdravím kolegu včelaře 🙂
Easy
ÚčastníkPodarilo se ti tu vahu rozchodit? Maš k tomu nejake schema a soft?
navrc
ÚčastníkJde mě o nízké ceny HW vysílač a peříjmače.
Projekt je zaměřen na zahradní altánek kde tlačítkem A sepnu 12V stykač rozvaděče (zapojen elektrikářem) a tlačítkem B ho vypnu (je tam čerpadlo na vodu kde muže prdnout hadice a pojede celou noc a celkem kvuli bezpečnosti atd..) chci to proste jak budu před domem a bude mě svítit na cestu ho vypnu. + ovladače za necelou stokorunu rozdám členům rodiny. S kódem Arduina už si poradím jen mě napadla souvislost 433MHz a těch cen 🙂posjirka
Účastníka, jde to s tím co máš, jen to není tak úplně jednoduchý.
b, na googlu bys asi něco našel, ale smdrí to čertovinou.posjirka
Účastníkv čem je problém? nevíš jak spustit LCD nebo jak tam dostat požadované data?
Musíš si to představit jak by to mohlo fungovat a podle toho navrhnou tprogram.
Vem si excel, zažlu´t si sloupce/řádky podle toho kolk jich máš v LCD (já standardně 2×16) a vlož si tam náhled max. počtu znaků aby is předsatvil jak by to mohlo vypadat.
Podle toho si pak navrhneš programEasy
ÚčastníkAno myslim ze jo.
RomanB
ÚčastníkPodporuje ti tablet USB OTG?
Easy
ÚčastníkDíky zkusim najit.
Axamith
ÚčastníkZkus dohledat, jestli jde Wemos do té aplikace doinstalovat. V klasickém IDE taky není obsaženo, musí se doinstalovat, viz. návod.
Easy
ÚčastníkNasel jsem peknou aplikaci pro programovani na androidu Arduinodroid bohuzel tato nepodporuje desku Wemos d1 mini.Mam pouze tablet tak schanim neco pro android.
Axamith
ÚčastníkV Andoidu vůbec nic neprogramuješ. Program pro Wemos napíšeš klasicky v IDE, naměřená data pošleš přes wifi na web a v mobilu (Android) si jen zobrazuješ webovou stránku se zpracovanými daty.
Tady je hezky popsaný miniseriál o Wemos (a následující díly), dá se z toho mnohé pochopit a zdrojáky upravit podle vlastních potřeb.Easy
ÚčastníkDiky za radu odkaz moc pomohl.Jeste bych potreboval poradit jak programovat wemos d1 mini v Androidu.
posjirka
Účastníkno jestli trochu znáš princip WIFI resp ethernetu tak ti musí být jasné že to přímo nejde.
Vše fungujena principu server-klient tzn. 1 musí být jako server a druhé jako klient.
To je pak i održeno v komunikaci. Klient pošle data na server a server odešle odpově´d,…
Tady bych spíš volil něco jako NRF24 -
AutorPříspěvky