ArduXPP
Vytvořené odpovědi
-
AutorPříspěvky
-
vidlak
ÚčastníkSosni driver a někam ho rozbal. Digispark píchni do USB alespoň na těch 5 vteřin aby se alespoň jednou inicializoval a pak jej vyndej. Ve Windows otevři správce zařízení (např. pomocí Spustit kl. zkr. Win + R a zadej „mmc devmgmt.msc“). Ve správci zařízení v hl. menu zvol Zobrazit -> Zobrazit skrytá zařízení. V sekci Ostatní zařízení bude Neznámé zařízení s šedivou ikonou. Vyber jej a přes pravé tlač. zobraz kontextové menu a zvol Aktualizovat software ovladače. V dialogu dej Vyhledat ovladač v počítači a zadej složku, kam si rozbalil driver. Dokonči instalaci.
Pokud máš JSON v Arduino IDE a provedl jsi instalaci v manažéru desek, tak postupuj jak zmínil tribal.cz. Vyber vývojovou desku Nástroje -> Vývojová deska -> Digispark (Default – 16.5 mhz), a zvol nahrát. Kód se zkompiluje a konzole zažádá o zapojení digisparku. Digispark zasuň do USB (do 60 sekund). GLHF
michal123
ÚčastníkDěkuji, já zkoušel nastavit smyčku s pohyblivou mezerou a pak vypisovat neuspechy se zastaveni když by byl úspěch ale nšjak se to nepovedlo, nic nezabralo, treba to bude tím že už je pozdě. Konečně už mám osciloskop i když s ním pěkně zápasím aby ukazoval co má.
už mám bjednaní samotné atmegy takže je plánuji pro další testování (až ohle bude fungovat) dát na desku a tím snad eliminovat tyhle různé chyby.
Pěkný večer
Vojtěch Vosáhlo
ÚčastníkTak to můžu popřát jen hodně štěstí. Já testuju na UNU a NANU a vše šlape jak hodinky. Ještě mě napadla jedna věc, když jsem vymýšlel jaká pauza má po resetu nastat, zapojil jsem reset toho programovaného arduina na D13 programátoru. Programátor měl pak nastaveno že hned po spuštění odešle příkazy. Programované arduino bylo tedy resetováno prakticky tou ledkou na pinu 13 a tím jak bliká při běhu bootloaderu. Vše taky fungovalo bez problému a na testování to postačilo, v takových chvílích by bylo hezké mít po ruce osciloskop… Možná by se s tím dalo něco vymyslet. Já se taky zítra pustím do testování 😉
Hezký večer.
michal123
Účastníkřádek 49 bude souviset s tím, že nastavujeme úroveň stejnosmšrného signále ale apsoň u mě je před nožičkou resetu sériově kondenzátor takže se tím jen (maximálně) prodlouží interval, tud´ž by bylo možné že naše sířka restartovacího pulzu není dostatečně široká pro dokonalý restart.
obě arduina mám na stejném napájení (z usb opravdu 0,5A), a k tomu paraelně zdroj 5V (abych mohl usb odpojit)
pořád to můj problém neřeší, tak doufám, že ráno moudřejší večera. (i když se sem pravdšpodobně dostanu až odpoledne)
Vojtěch Vosáhlo
ÚčastníkJak tak na to koukám tak možná dobře že jsem tu chybu neopravil. Nechte delay na 100, baud nechte jako long ale řádek 49 zakomentujte. Teď mi nedochází proč ale mě kód funguje jen bez něj…
EDIT: Taky mějte obě arduina napájená z výkonných zdrojů. Mě např. nefunguje napájet jedno arduino z druhého, musí mít obě zvlášť 5V zdroj. Nevím proč, regulátor by měl dodávat víc než dost proudu…
michal123
Účastníkna to jsem přišel už na začátku a ani mě to nenapadlo, ale to mám upravení již dloho, taky jste napsal při resetu (nepodstatné), že pinMode ( 7 , HIGH ) ; na řádku 49
ale to problém pořád neřeší. napadá mě uz snad jen čpatní doba čekíní ale i to jsem zkoušel
Vojtěch Vosáhlo
ÚčastníkAsi se pudu pifnout 🙂 je to moje hloupá chyba. Na začátku je baud definován jako int, nahraďte int typem long a mělo by to fungovat. Pro UNO by to tedy mělo vypadat takoto
long baud = 115200;
Krystal je v pořádku.
michal123
Účastníkzapojení jsem kontroloval už mockrát, dokonce měřil jestli není někde špatný kontakt, ale signál de kam jít má.
michal123
ÚčastníkUsing Port : COM2
Using Programmer : arduino
Overriding Baud Rate : 115200
AVR Part : ATmega328P
Chip Erase delay : 9000 us
PAGEL : PD7
BS2 : PC2
RESET disposition : dedicated
RETRY pulse : SCK
serial program mode : yes
parallel program mode : yes
Timeout : 200
StabDelay : 100
CmdexeDelay : 25
SyncLoops : 32
ByteDelay : 0
PollIndex : 3
PollValue : 0x53
Memory Detail :Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
———– —- —– —– —- —— —— —- —— —– —– ———
eeprom 65 20 4 0 no 1024 4 0 3600 3600 0xff 0xff
flash 65 6 128 0 yes 32768 128 256 4500 4500 0xff 0xff
lfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
hfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
efuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
lock 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
calibration 0 0 0 0 no 1 0 0 0 0 0x00 0x00
signature 0 0 0 0 no 3 0 0 0 0 0x00 0x00Programmer Type : Arduino
Description : Arduino
Hardware Version: 3
Firmware Version: 4.4
Vtarget : 0.3 V
Varef : 0.3 V
Oscillator : 28.800 kHz
SCK period : 3.3 usale je divné třea ty rachlost krystalu (je to chyba?)
Vojtěch Vosáhlo
ÚčastníkTaké můžete přihodit fotky zapojení ale předpokládám že tam problém nebude.
Vojtěch Vosáhlo
ÚčastníkTak pojďme nejdřív zjistit rychlost UARTu. Jděte do arduino IDE, projděte toudo cestou File->Preferences a zaškrtněte obě možnosti u Show verbose output during…
Pokud máte česky tak Soubor->Vlastnosti Zobrazit více informací výstupu během: [Y] Kompilace | [Y] Programování
Teď nahrajte jakýkoliv kód do toho arduina co bude programované (to co bude updatované). Nahrajte normálně přes kabel třeba program Blink, je to jedno. V konzoli by vám mělo vyjíždět výrazně víc informací. Po nahrátí projeďte konzoli a zkuste najít takovýto blok textu:
avrdude: Version 6.3, compiled on Jan 17 2017 at 12:00:53 Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/ Copyright (c) 2007-2014 Joerg Wunsch System wide configuration file is "C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.2.0_x64__mdqgnx93n4wtt\hardware\tools\avr/etc/avrdude.conf" Using Port : COM4 Using Programmer : arduino Overriding Baud Rate : 57600 AVR Part : ATmega328P Chip Erase delay : 9000 us PAGEL : PD7 BS2 : PC2 RESET disposition : dedicated RETRY pulse : SCK serial program mode : yes parallel program mode : yes Timeout : 200 StabDelay : 100 CmdexeDelay : 25 SyncLoops : 32 ByteDelay : 0 PollIndex : 3 PollValue : 0x53 Memory Detail :
Tenhle řádek, Overriding Baud Rate : 57600 nás zajímá nejvíc. Jaká je tam rychlost? Klidně sem hoďte celý výstup konzole ale až od toho
avrdude: Version 6.3, compiled on Jan 17 2017 at 12:00:53 Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/ Copyright (c) 2007-2014 Joerg Wunsch
, může se to hodit.
michal123
Účastníkprevodník FT231 a procesor ATMEGA328P-AU
Vojtěch Vosáhlo
ÚčastníkJaké arduina používáte a které dělá co? Mají jako sériové převodníky použity ch340 nebo mega16u2?
michal123
ÚčastníkZkoušel jsem snad všechno a spojení se nepodařilo. Kód se zasekne při čekání na odpověď na řádku 55.
Reset proběhl úspěšně, kody pro zadost o synchronizaci arduino poslalo taky ale odpověď žádná. Zkoušel jsem i jiré rychlosti, prohodit tx/rx jeslti nemám špatně ale už význě nevím co zkusit.Nějaká rada?
posjirka
Účastníka one wire sběrnice ?
Fx
ÚčastníkWi-Fi neprichadza vobec do uvahy (hruba zelezobetonova konstrukcia). Uvidim, ci nepostaci I2C (teda, ak sa to vobec bude realizovat). Ale vdaka za radu.
posjirka
Účastníknašel jsem použití TLC5940 jako expanderu pro 16 serv:
https://circuits.io/circuits/211975-arduino-servo-expander
neprověřoval jsem to, ale můžeš to zkusit …posjirka
Účastníkjá bych použil wifi modul esp8266 u každého čidla (ten tech 10 m zvládne), nebo použít třeba arduino mini jako převodníky různých čidelna např.i2C nebo RS485.
posjirka
Účastníknejsem si jistý, že to tak jednoduše půjde. Servo potřebuje pro svou funkci signál o frekvenci cca 50hz a log. 1 o délce 1-2ms (1=0st, 2=180st)
Při přepínání bys musel zajistit detekci všech signálů zároveň a pak je postupně spouštět.
Mimochodem pokud si spočítáte 20ms (50hz) na max.2ms/servo tak dostanete max 10serv.
Toto se týkalo klasických analogových serv. digitální mají trochu jinou logiku, ale i cenu …Fx
ÚčastníkDakujem za rady. Zídu sa!
Vojtěch Vosáhlo
ÚčastníkMůžu tu ještě něco říct z vlastní zkušenosti. Přes etherneťák mám připojené senzory k meteostanici které taky komunikují přes i2c a onewire (BMP180, DTH22…). Kabel má přes 5m a senzory jsou napájené přímo přes dvojici drátů. Při proudech které senzory odebírají se prakticky nemusím bát o úbytek napětí na kabelech, při napětí 3.3V a proudu 10mA bych se o něj musel začít bát až na nějakých 100 metrech kabelu. Přenos dat je zatím také bezproblémový. To je moje vlastní zkušenost. Senzory bych klidně napájel po 2 libovolných kablících toho ethernetového kabelu. Možná by bylo lepší mít senzory napájené z vyššího napětí a mít u každého regulátor kdyby jste se bál o ten úpadek napětí. Nevím jak je to přesně s přenosem dat ale možná by pomohlo přenášet je také na vyšších napětích, tzn senzory by měli u sebe převodník z jejich 3.3V pracovního napětí třeba na 5V a naopak. U tohohle ale opravdu nevím jestli by to pomohlo.
Fx
ÚčastníkPresne – tie senzory sa robia s I2C aj s SPI. Neviem, co by bolo vhodnejsie. Pravdepodobne pojde minimalne o 2x BME280 (potreba merat relativne presne tlak, teplotu a vlhkost a porovnat ich) a asi aj par dalsich (este nie je jasny uplny zoznam). Nebolo by vhodne, aby pri senzoroch bolo treba este nejake dodatocne napajanie – napr. pre prevodnik (leda cez PoE, ale to by to cele predrazilo a komplikovalo), len ak by sa inak nedalo. Fyzicky si to predstavujem cez ethernet kable.
Vojtěch Vosáhlo
ÚčastníkNo otázka je jakých senzorů a jakými protokoly komunikují. První otázka je asi ohledně hardwarového řešení. To je asi na každém zvlášť, já si třeba oblíbil konektory RJ12 a k nim kabely. Je to vše poměrně levné a dobře funkční. Softwarové řešení se bude odvíjet od toho jak pracují ty senzory. Na přenos dat by se dala použít třeba RS485, tou se dá přenášet na stovky metrů, ale ty senzory budou nejspíše komunikovat přes I2C, SPI nebo RS232. U I2C je limit podle kapacity, myslím že drát by neměl mít víc jak 200pF. RS232 se dá vytáhnout snad až na desítky metrů ale nevím jak funkční pak bude.
Jak říkám je to spíš na vás a na senzorech…
V.
DARDEN
ÚčastníkĎakujem za odpoved uz som to opravil ja
som si zle naistaloval dosku dal som si inu a stacilo mat normalnu arduino uno aj ked to neni prava doska ale nejaly duplikant a jz si progrujem v pohode a ďakujem este raz 😀michal123
ÚčastníkDěkuji, tohle funguje. Obrázek je jasný, už se těším až se večer dostanu k druhému arduinu.
Vojtěch Vosáhlo
ÚčastníkZkuste to přes odkaz: https://drive.google.com/open?id=0Bxq_OMaWO7CwaGY5M2VzWWxtSzQ
michal123
ÚčastníkDěkuji, bohůžel nemohu obrázek otevřít (pravděpodobně starý prohlížeč nebo blokovaná ip)
Vojtěch Vosáhlo
ÚčastníkJeště jako bonus tady dávám obrázek jak jsem to měl zapojené. Programátor je samozřejmě arduino na kterém běží kód co jsem výše posílal.
posjirka
Účastníkve výsledku ani nepotřebuješ žádný další modul.
Použij bud PC nebo mobil, kde máš bluetooh , naistaluj si nějáký bluetooth terminál (já mám windows mobile a tam je BTterminal) a pošli si z arduina něco přes bluetooth a v mobilu to musíš dostat presne v tom stavu.
Navíc i zpětně si můžeš poslat nějákou zprávu,nebo kod jako v tom ovládání a musí to fungovat … tady asi žádná rada nebude přesná a je třeba vyzkoušet všechno co jde …Vojtěch Vosáhlo
ÚčastníkA co píše arduino IDE při nahrávání? Zkoušel jste něco co tu bylo napsáno? Ovladače atd.
V.
-
AutorPříspěvky