Hobby CNC Fórum   >>   Fórum   >>   Az AVR és lehetőségei...
Rekalaca kezeli! :))

Ha szeretne hozzászólni, be kell jelentkeznie!
Bejelentkezés >>

Listázás időrendben


 © cree22016. máj. 02. 21:32 | Válasz | #1022 
kültem privit!

 © GPeti2016. máj. 02. 20:58 | Válasz | #1021 
Persze, többen is itt vagyunk.

 © cree22016. máj. 02. 18:36 | Válasz | #1020 
sziasztok!

Valaki tud segiteni arduino programozásban?

 © lazi2016. ápr. 16. 14:29 | Válasz | #1019 
Órajel jó volt, 2561-nél a DIV8 okozhat problémát, de nem az volt.
A sim valóban átugorja, de az nem volt benne.
Kicsit prózaibb volt, nem volt feldugva egy jumper, azért nem ment a kijelző.


 © Csuhás2016. ápr. 15. 14:21 | Válasz | #1018 
Két ötlet:
Helyes a megadott órajel érték?
Mintha volna olyan fordítási opció ( $sim ) ami az időzítések átugrását állítja be a szimulátoros nyomkövetés érdekében.

 © lazi2016. ápr. 15. 13:53 | Válasz | #1017 
Üdv

BASCOM problémám adódott. A waitms parancs nem akar működni, a program lefut, beég a prociba, de az összes időzítés parancsot kihagyja, átlép rajta, sehol nincs várakozás.
Volt már ilyen nyűgöm, de a probléma megoldása után nem véstem fel a kalendáriumba a módszert, hanem jótékonyan elfelejtettem. Van valakinek hasonló emléke és megoldási módszere?

 © Csuhás2016. ápr. 13. 16:00 | Válasz | #1016 
No azt hiszem megoldódott! Üvölteni tudnék...
Bascom alatt fejlesztek és onnan is szoktam programozni ezért a libusb driver volt telepítve a gépemre.
Nos az emlegetett hibák mind ebből felállásból származnak.
Felrakva a jungo drivert, és avrstudióból nézve már olvasható a chip id, törölhető, programozható a chip.
Sajnos két napig ezt nem léptem meg és csak bascomból illetve avrdude programozó felületről próbálkoztam.
Szóval a jó édes nénikéjüket!

 © LZ2016. ápr. 12. 09:55 | Válasz | #1015 
Húha...

Ott van baj bőven. Gondolom a programozód másik panelen megy. VAgyis az kizárható.
Erősen HW hiba szagú a dolog, vagy nem úgy sikerült huzalozni a panelt vagy alkatrész hiba.
Pl az AVcc lábon lévő induktivitás nem szakadt-e.
Xmegának tudtommal egyáltalán nem kell külső órajel programozáshoz (nem lehet olyan állapotba tenni) tehát az biztos nem.
Nyák zárlat esetleg? Egyszer kaptam olyan nyákot hogy finom porszerűen rajta volt a réz a vezetősávok között.
Egyébként studióval próbálkozz szerintem. De ne a hetessel, mert az szegény nagyon gáz lett.

 © Csuhás2016. ápr. 11. 20:37 | Válasz | #1014 
A problémámat elfedte egy másik:
Történt hogy az egyik programozás után nem ment a bootloader. Vettem az avrisp mk2 programozót és beírtam újra a loadert. A programozáskor nem jelzett hibát de a fuse bitek írásánál volt hibajelzés. Viszont innentől kezdve tégla lett a xmega 256a3u prociból. Nem lehet írni mert nem tudja a chippet azonosítani mert ID-ként zérusokat olvas. Adtam neki külső órajelet de semmi változás. Kicseréltem a procit. Minden jó volt de az avrisp-vel való egyszeri programozás után ugyanaz a helyzet. Ugyanígy viselkedik bascom programozó felületről és avrdude alól is.
Ha bascomból rádugok egy másik panelt és felismertetem a procit akkor átdugva a döglött panelre akkor tudom olvasni a fuse biteket. Itt az első protected byte zérus azaz minden védelem be van kapcsolva, a többi config byte rendben van. Ha ilyenkor kiadok egy törlés parancsot akkor nincs hibajelzés, de a procit továbbra sem ismeri fel, de ha egy másik panelről felismertetve újra kiolvasok akkor látszik hogy a lock byte maradt zérus. Mi lehet a hiba, illetve mit lehetne méh kipróbálni?

 © LZ2016. ápr. 11. 07:59 | Válasz | #1013 
Csörgess már meg Attila mert nem találom a számod.
Megnéztem a programot...

 © LZ2016. ápr. 11. 07:50 | Válasz | #1012 
BOD be van kapcsolva?
Mert ha igen és az értéke is jó helyre van belőve, akkor teljesen mindegy milyen lassú a táp felfutásod.

 © Csuhás2016. ápr. 10. 20:21 | Válasz | #1011 
Az rendben van, ellenőriztem. No meg adatsérülés kizárólag ki/be kapcsoláskor van, egyébként hibátlanul működik.

 © cree22016. ápr. 10. 20:08 | Válasz | #1010 
hidegités...tuskék simitása proci tápfesznél...
vagy ami még jó elem..akku táprol inditasz cpu részt ....(alvo üzemodbol) pl

 © Csuhás2016. ápr. 10. 19:50 | Válasz | #1009 
Bootloader van. Elég összetett mert sd kártyára menti a fw és onnan tölti be, mert így lehet frissíteni a kártyára másolással is. Ráadásul a fw aes kódolt hogy nem lehessen lenyúlni. A táp felfutásra rámérek, mert többféle táp van a panelon. Feszültségeket, zajt mértem rajtuk, de felfutást azt eddig nem. Köszi az ötletet.

 © pbalazs2016. ápr. 10. 16:18 | Válasz | #1008 
Van bootloader? Arra gondolok, hogy induláskor esetleg butaságot csinál.
A másik gondolatom, hogy a nem megfelelő táp felfutás okoz gondot. Mérd meg a felfutási meredekséget, és vesd össze az adatlappal. uC-nél még nem találkoztam olyannal, hogy a nem megfelelő táp felfutás gondot okozna, de sok egyéb esetben már igen, amikor megbolondította a belső táp és reset áramköröket.

 © Gyárfás Attila2016. ápr. 10. 13:30 | Válasz | #1007 
Üdv
Egy kis sígítség kellene, arduinoban. Nem cnc,de hátha valaki profi ebben.
Van egy újabb óra projekt. Egy Adafruit Neopixel 60, Ws2812 led gyűrűből áll, rtc, és egy arduino nano-val. A lényeg.
A progi egy oldalról van, működik is rendesen. De egy gond van! Az ebay ről rendeltük a led gyűrűt,ami persze kinai koppintás. És sajnos a kis kinaiak elbaszták, mert az adat bemeneti jel pont rossz oldalon van. Ugy néz ki minha megtükrözték volna a nyákot. Ezért a programv(idő kijelzés) balra megy. A mellékelt linken látható a videón. És a fotókon is. A fekete nyák az eredeti, a kék nyák (ez van nekünk) a kinai. A kérdés, meg lehetne e a programot úgy módosítani,hogy a helyes irányba (jobbra) menjen a kijelzés?
A program is a linken mellékeltem.
ring clock
Ha tudna valaki segíteni, megköszönném.

 © Csuhás2016. ápr. 09. 21:54 | Válasz | #1006 
Ezt ismerem, de ide nem kell, normál estben hetek is eltelnek két konfiguráció változás között.

 © cree22016. ápr. 09. 21:48 | Válasz | #1005 
van olyan modszer ami kiméletes eeprom irási ciklus megnövelésében!
vagyis ha ugyan az az érték van eeprom értékben az uj érték meg egyezik nem irja ujra csak ha eltér a régi érték ez eeprom update....

 © Csuhás2016. ápr. 09. 21:30 | Válasz | #1004 
Az xmega adat eepromjában ritkán változó konfigurációs adatokat ( ip cim és hasonlók ) tárolom. Ezek ritkán változnak. Az egész területről van egy másolatom ugyanitt magasabb címen. Mindkét területnek van itt tárolva crc kódja. Minden bekapcsoláskor ezt újra számolom. A tapasztalat az hogy kb minden huszadik bekapcsoláskor az elsődleges területen nullázódik néhány byte. A terület elején, egymás utáni de adatszerkezet szerint nem összefüggő byteok. A másolt terület eddig még nem volt sérült. Ha hibát találok akkor a hibátlan crc-jű területről visszamásolom az adatokat. Hétfőn kipróbálom hogy az egészet hátrább tolom egy adatterületnyivel és megnézem hogy a véletlen nullázódások maradtak az eredeti címen vagy követték az adatblokkot. Errata nem rossz ötlet, megnézem. Eddig a fórumokat böngésztem, nem sok eredménnyel. Még annyi hogy Bascomban van a program, és abban azért akad néhány bug, pláne az xmega kezelésében.

 © pbalazs2016. ápr. 09. 20:58 | Válasz | #1003 
Mindig ugyanarra a területre mentesz elsődlegesen? Nem lehet, hogy túllépted az írási ciklust? Elsődleges mentés után csinálsz RAM-EEPROM összehasonlítást? (gondolom RAM-ban van a kiírandó adat) A másodlagos mentés is ugyanabban az EEPROM-ban van, csak más területen? Errata nem mond semmit?

 © Csuhás2016. ápr. 09. 19:01 | Válasz | #1002 
Mondjuk ez nem rossz ötlet, van a rendszerben sd kártya, arra mentem az adatokat lehetne oda is egy eeprom mentést készíteni. Mondjuk az eddigi tapasztalat alapján az elsődleges adat eeprom terület szokott sérülni, míg ugyanabban az eepromban levő másolat eddig még mindig ép maradt. Így onnan mindiig visszaállítható volt a konfiguráció.

 © cree22016. ápr. 09. 18:57 | Válasz | #1001 
külsö sd kártya lehet megbizhatobb lene ha sokszor kell menteni szenzor logolás pl még ha 1s ként is eeprom véges lesz rövid idön belül... vagy mentési ciklusra valami timeres figyelés beteni...

 © elektron2016. ápr. 08. 15:52 | Válasz | #1000 
Lehet jobb lenne, ha külső EEPROM-mal menne.

 © elektron2016. ápr. 08. 15:51 | Válasz | #999 
Gondolom a táp megkapása elengedése sem mindegy, hogy történik, lehet legjobb lenne, ha valami komparátor figyelésével kapna a processzor tápot, kikapcsolásnál is, lekapná a resetjét stb. hogy halálbiztos legyen a működése.

A sima megáknál is olvastam az EEPROM nem valami megbízható, csak ha valami kül9n védelemmel van felszerelve az áramkör, de azt meg nem szokták csinálni, ha az ember magának megoldja akkor lehet menne garantáltan.

 © Csuhás2016. ápr. 08. 15:45 | Válasz | #998 
Menet körben tudnom kell írni olvasni. A BOD 2.6V jelenleg ( az xmega 3.3V-os )
A működés során az eeprom írás után végzek egy olvasást a 0 címről hogy oda álljon a pointer, de az sem igazán segített. A program futása közben számolgattam a crc-t de nincs hiba csak a ki/be kapcsolás rontja az adatot az is csak a eeprom terület elején. Mindjárt hátrébb teszem próba célból az adatokat, csak épp megmakkant a procim vagy a programozóm: nem ismeri fel cpu-t (chip id: 0000 )

 © elektron2016. ápr. 08. 15:36 | Válasz | #997 
FUSE bitekkel esetleg, én sem tudom csak gyanítom, meg kell nézni. Lehet, hogy nem tudja, az EESAVE bit a chip erase-nél védia tartalmát, az lehet menet közben nem védi meg az írástól.

A BOD level biteket mindenképp 4.5V-ra érdemes tenni, az valamennyire megvédi, ha atáp megy lefele, akkor proci megáll így.

 © Csuhás2016. ápr. 08. 15:29 | Válasz | #996 
Lehet az adat eepromot írásvédettre kapcsolni?

 © elektron2016. ápr. 08. 15:27 | Válasz | #995 
EEPROM-ot írásvédettre programozni talán ?

 © Csuhás2016. ápr. 08. 14:49 | Válasz | #994 
Ötletet kérek.
Van egy elég nagy műszer vezérlő programom egy atxmega256-nak több mint felét megtölti. A beállításokat a belső adat eepromban tárolom, de mert volt adatvesztésem ezért a fontos területről másolatot készítek és az eredeti illetve a másolt részről is crc-t számítok.
Bekapcsoláskor ellenőrzöm és ha kell javítom. A tapasztalat azt mutatja hogy az elsődleges terület gyakran sérül, néhány, vagy akár egy tucatnyi byte is nullázódik. Kérdés mit lehet tenni áramkörileg vagy program oldalról a ki/be kapcsoláskori adatvesztés megelőzésére?

 © M.L.2016. ápr. 05. 18:00 | Válasz | #993 
Megjöttek a tranzisztorok, ki is cseréltem.
Sikerült megoldani, a programot is. Most működik 2 tolómérővel. A többi már könnyen fog menni. Köszönöm a segítséget.

 © M.L.2016. ápr. 03. 16:33 | Válasz | #992 
A program működik, egy tolómérőt kiír. A próbálgatások alatt két erősítőt megsütöttem. Nincs itthon több transisztorom. Vettem a neten. Talán kedden megjön. Addig építem a házat, a kijelzőnek. Köszönöm a segítséged.

 © hidroponi2016. ápr. 03. 11:23 | Válasz | #991 
ha kiszeded a decode rutinbol a kiiratast es a loop-ban a for zaro kapcsos zarojele utan iratod ki oket a results tomb-bol akkor egyszerre lathatod mindet.

 © M.L.2016. ápr. 03. 10:38 | Válasz | #990 
A program szintaktikailag jó. Működik is. :-)
egyelőre egy tolómérőt tudok kiíratni.

 © M.L.2016. ápr. 02. 19:25 | Válasz | #989 
Egyelöre hibaüzeneteket kapok. Megpróbálom kijavítani. Vagy ha Neked nincsenek hibaüzenetek, el tudnád küldeni e-mailben az .ino fájlt?


 © M.L.2016. ápr. 01. 21:14 | Válasz | #988 
A bekötés nem gond, azt a részét még érem is. :-)

 © M.L.2016. ápr. 01. 21:05 | Válasz | #987 
Csak annyi a bajom, hogy az esztergámhoz szeretnék digitális kijelzőt csinálni Arduino Uno-val. Van 3 tolómérőm. Azokat szeretném dekódolni. Kiírni egy LCD-re, hogy jobban lássam. A neten találtam egy programot ami 1 tolómérőt tud kiolvasni. Ezt a programot szeretném átalakítani, hogy tudjon 3 tolómérőt dekódolni. Röviden ennyi.

 © M.L.2016. ápr. 01. 20:59 | Válasz | #986 
Köszönöm, sajnos ma már nem tudom kipróbálni. Közbejött valami, de alig várom, hogy teszteljem.

 © hidroponi2016. ápr. 01. 17:19 | Válasz | #985 
koszi, odaraktam.

 © hidroponi2016. ápr. 01. 17:18 | Válasz | #984 


ide feltoltottem

ez csak annyit csinal, hogy 3 tolomero adatait
lekeri es kiirja. illetve csinaltam egy results tombot amibe bele is pakolja az egyes eszkozok eredmenyeit. szintaktikailag ugy nez ki jo. arra hogy jol mukodik is eszkozok hianyaban nem tudok garanciat vallalni.

(nem tudom mennyire vilagos, azt hogy az arduinod melyik digi bemenetere kototted a tolomeroidet azt a clockpin es datapin tombok ertekeivel tudod beallitani. most ugy nezki az elso mero a 4-5, a masodik a 6-7 es vegul 8-9)

sok sikert!

 © elektron2016. ápr. 01. 15:42 | Válasz | #983 
Mi is a bajod végül is , mi nem jó, vagy érthető ?

 © gab272016. ápr. 01. 07:27 | Válasz | #982 
Próbáld meg itt, sokaknak bevált az elmúlt bő 10 évben.

Így fog kinézni a kódrészlet, ha a C nyelvhez tartozó kiemelést választod.

 © M.L.2016. ápr. 01. 06:40 | Válasz | #981 
Az nagyon jó lenne. :-)

 © hidroponi2016. márc. 31. 21:59 | Válasz | #980 
holnap ha lesz egy kis idom, megprobalom leirni..

 © M.L.2016. márc. 31. 21:00 | Válasz | #979 
Így kellet volna?
[code]
int i;
int s;
int sign[] = {0,1,2};
long value[] = {0,1,2};
float result[] = {0,1};
int clockpin[] = {4,6,8};
int datapin[] = {5,7,9};
unsigned long tempmicros;
[/code]

 © M.L.2016. márc. 31. 20:37 | Válasz | #978 
Dehogynem
a 7. és 8. sor pl.
Aztán a Serial.begin után
A void loopután is az áll amit javasoltál.
A mult héten kezdtem a programozással foglalkozni. Tudom ez nem kezdő feladat, de erre lenne szükségem.

 © hidroponi2016. márc. 31. 20:31 | Válasz | #977 
nem latom, hogy alkalmaztad volna azokat a dolgokat, amiket emlitettem.

a pin beallitasokkor nem hivatkozol a tomb adott elemere es a hasznalatkor sem.

 © M.L.2016. márc. 31. 20:14 | Válasz | #976 
úgy gondolom, már csak a decode rész ami nincs rendben. Legalább is remélem.

 © M.L.2016. márc. 31. 20:11 | Válasz | #975 
Jól elszúrtam a topicot

 © M.L.2016. márc. 31. 20:09 | Válasz | #974 
[code]
int i;
int s;
int sign;
long value;
float result0;
float result1;
int clockpin[] = {4,6,8};
int datapin[] = {5,7,9};
unsigned long tempmicros;

void setup() {
Serial.begin(9600);
for(i=0; i < sizeof(datapin); i++) {

pinMode(clockpin, INPUT);

pinMode(datapin, INPUT);

}

}

void loop() {

for(i=0; i < sizeof(datapin); i++) {

pinMode(clockpin, INPUT);
pinMode(datapin, INPUT);
}

while (digitalRead(clockpin)==HIGH) {} //if clock is LOW wait until it turns to HIGH

tempmicros=micros();

while (digitalRead(clockpin)==LOW) {} //wait for the end of the HIGH pulse

if ((micros()-tempmicros)>500) { //if the HIGH pulse was longer than 500 micros we are at the start of a new bit sequence

decode(); //decode the bit sequence

}

}

void decode() {

sign=1;

value=0;

for (s=0;s<23;s++) {

while (digitalRead(clockpin)==HIGH) { } //wait until clock returns to HIGH- the first bit is not needed

while (digitalRead(clockpin)==LOW) {} //wait until clock returns to LOW

if (digitalRead(datapin)==LOW) {

if (i<20) {

value|= 1<<i;

}

if (i==20) {

sign=-1;

}

}

}

result0=(value*sign)/100.00;
result1=(value*sign)/100.00;

Serial.print(result0,2);
Serial.println(result1,2);
delay(1000);

}

[/code]

 © M.L.2016. márc. 31. 20:08 | Válasz | #973 
[code]int i;
int s;
int sign;
long value;
float result0;
float result1;
int clockpin[] = {4,6,8};
int datapin[] = {5,7,9};
unsigned long tempmicros;

void setup() {
Serial.begin(9600);
for(i=0; i < sizeof(datapin); i++) {

pinMode(clockpin, INPUT);

pinMode(datapin, INPUT);

}

}

void loop() {

for(i=0; i < sizeof(datapin); i++) {

pinMode(clockpin, INPUT);
pinMode(datapin, INPUT);
}

while (digitalRead(clockpin)==HIGH) {} //if clock is LOW wait until it turns to HIGH

tempmicros=micros();

while (digitalRead(clockpin)==LOW) {} //wait for the end of the HIGH pulse

if ((micros()-tempmicros)>500) { //if the HIGH pulse was longer than 500 micros we are at the start of a new bit sequence

decode(); //decode the bit sequence

}

}

void decode() {

sign=1;

value=0;

for (s=0;s<23;s++) {

while (digitalRead(clockpin)==HIGH) { } //wait until clock returns to HIGH- the first bit is not needed

while (digitalRead(clockpin)==LOW) {} //wait until clock returns to LOW

if (digitalRead(datapin)==LOW) {

if (i<20) {

value|= 1<<i;

}

if (i==20) {

sign=-1;

}

}

}

result0=(value*sign)/100.00;
result1=(value*sign)/100.00;

Serial.print(result0,2);
Serial.println(result1,2);
delay(1000);

}


[/code]

 © hidroponi2016. márc. 31. 19:45 | Válasz | #972 
tedd [code] és [/code] köze a programot

 © M.L.2016. márc. 31. 19:23 | Válasz | #971 
Nekem is kiszedte a szögletes zárójeleket az i-vel együtt. Van valamilyen megoldás arra, hogy feltegyem a programot?

 © M.L.2016. márc. 31. 19:19 | Válasz | #970 
Ahogy olvastam, egyszerűnek tünt, de most, hogy próbálom megírni, nem megy.
Itt elakadtam:

int i;
int s;
int sign;
long value;
float result0;
float result1;
int clockpin[] = {4,6,8};
int datapin[] = {5,7,9};
unsigned long tempmicros;

void setup() {
Serial.begin(9600);
for(i=0; i < sizeof(datapin); i++) {

pinMode(clockpin, INPUT);

pinMode(datapin, INPUT);

}

}

void loop() {

for(i=0; i < sizeof(datapin); i++) {

pinMode(clockpin, INPUT);
pinMode(datapin, INPUT);
}

while (digitalRead(clockpin)==HIGH) {} //if clock is LOW wait until it turns to HIGH

tempmicros=micros();

while (digitalRead(clockpin)==LOW) {} //wait for the end of the HIGH pulse

if ((micros()-tempmicros)>500) { //if the HIGH pulse was longer than 500 micros we are at the start of a new bit sequence

decode(); //decode the bit sequence

}

}

void decode() {

sign=1;

value=0;

for (s=0;s<23;s++) {

while (digitalRead(clockpin)==HIGH) { } //wait until clock returns to HIGH- the first bit is not needed

while (digitalRead(clockpin)==LOW) {} //wait until clock returns to LOW

if (digitalRead(datapin)==LOW) {

if (i<20) {

value|= 1<<i;

}

if (i==20) {

sign=-1;

}

}

}

result0=(value*sign)/100.00;
result1=(value*sign)/100.00;

Serial.print(result0,2);
Serial.println(result1,2);
delay(1000);

}

 © VViktor2016. márc. 31. 19:11 | Válasz | #969 
Köszönöm mindenkinek ;)

 © hidroponi2016. márc. 31. 15:11 | Válasz | #968 
[code]

for(i=0; i < sizeof(datapin); i++) {
pinMode(clockpin[i], INPUT);
pinMode(datapin[i], INPUT);
}

[/code]

asszem most mar jo(bb)..

 © hidroponi2016. márc. 31. 14:30 | Válasz | #967 
koszonom a moderatornak hogy probalta kijavitani de csak rosszabb lett, mert fontos reszek maradtak ki a javitas miatt belole..

 © RogerCo2016. márc. 31. 10:59 | Válasz | #966 
Én azért még így kiegészíteném:
for(i=0, ipinMode(clockpin[i], INPUT);
pinMode(datapin[i], INPUT);
}

 © hidroponi2016. márc. 31. 10:55 | Válasz | #964 
oops. most vagy a forummotor kiszedte a lenyeget vagy en felejtettem el..

szoval helyesen:


for(i=0, i pinMode(clockpin[i], INPUT);
pinMode(datapin[i], INPUT);
}

 © M.L.2016. márc. 31. 10:50 | Válasz | #963 
Köszönöm. Délután kipróbálom.
Remélm sikerül, mivel kezdö vagyok a programozásban.

 © hidroponi2016. márc. 31. 10:22 | Válasz | #962 
a merok pinjeit tombe rakod.

pl.
int clockpin[] = {4,6,8};
int datapin[] = {5,7,9};

es mindenhol ahol hasznalja irsz egy for ciklust ami vegig szalad az osszes meron
es az adott mero tombbeli hivatkozasat hasznalja.

pl. a setup()-ban:

for(i=0, i pinMode(clockpin[i], INPUT);
pinMode(datapin[i], INPUT);
}

ugyanezt eljatszod a loop es a decode -nal is ertelemszeruen..

 © M.L.2016. márc. 31. 09:04 | Válasz | #961 
Nekem elég lesz, ha ki tudom olvasni a 2 vagy 3 tolóméröt. Esetleg még majd kibövitem szerszám tárolóval. Az is elég lenne, ha tudnék 4-5 szerszámot tárolni.

 © M.L.2016. márc. 31. 09:01 | Válasz | #960 
Itttaláltam.

 © Csuhás2016. márc. 31. 08:16 | Válasz | #959 
Nem akarsz nagyobbat álmodni? Android DRO

 © ebalint2016. márc. 31. 08:03 | Válasz | #958 
Ha nem is pont ez, de Itt is

 © VViktor2016. márc. 31. 05:47 | Válasz | #957 
Szia. Linkelnéd az oldalt ahol ezt találtad meg?

 © M.L.2016. márc. 30. 21:16 | Válasz | #956 
Nem értem minek kellene bármit is átkapcsolni? Ez így most működik. A programot kellen átírni hogy, pl. az 5, 6, 7, és 8-as pin-en bejövő jelet is dekódolja. Én kezdő vagyok a programozásban, de biztos meg lehet oldani.

 © GPeti2016. márc. 30. 19:49 | Válasz | #955 
Csak úgy tudod ha a két vonalat átkapcsolod egy külön IC-vel például 2 darab CD4052, keress rá az adatlapjára látni fogod hogyan működik.

 © M.L.2016. márc. 30. 19:41 | Válasz | #954 
Szevasztok!
Az esztergámhoz szeretnék digitális kijelzőt csinálni Arduino Uno-val.
Idáig ott artok, hogy ki tudom írni egy tolómérő jeleit LCD-re. Itt meg állt a tudományom. A program magját a neten találtam. Így néz ki:

int i;

int sign;

long value;

float result;

int clockpin = 4;

int datapin = 5;

unsigned long tempmicros;





void setup() {

Serial.begin(9600);

pinMode(clockpin, INPUT);

pinMode(datapin, INPUT);

}



void loop () {

while (digitalRead(clockpin)==HIGH) {} //if clock is LOW wait until it turns to HIGH

tempmicros=micros();

while (digitalRead(clockpin)==LOW) {} //wait for the end of the HIGH pulse

if ((micros()-tempmicros)>500) { //if the HIGH pulse was longer than 500 micros we are at the start of a new bit sequence

decode(); //decode the bit sequence

}

}



void decode() {

sign=1;

value=0;

for (i=0;i<23;i++) {

while (digitalRead(clockpin)==HIGH) { } //wait until clock returns to HIGH- the first bit is not needed

while (digitalRead(clockpin)==LOW) {} //wait until clock returns to LOW

if (digitalRead(datapin)==LOW) {

if (i<20) {

value|= 1<<i;

}

if (i==20) {

sign=-1;

}

}

}

result=(value*sign)/100.00;

Serial.println(result,2); //print result with 2 decimals

delay(1000);

}


Tudna valaki segíteni abban, hogyan lehet ezt a részt úgy átalakítani, hogy 3 tolómérőt dekódoljon.
Előre is köszönöm.

 © elektron2015. okt. 13. 21:41 | Válasz | #953 
A bootloaderes ATMega2560 panelt mikor megnyitom PC felől a soros portját, az úgy látom reseteli, ezt lehetne arra használni, ha az USB kommunikáció elszáll, akkor így újraindítani és akkor megy tovább, mert elég megbízhatatlanok ezek ugye általában azt tapasztalom.

 © elektron2015. szept. 11. 12:43 | Válasz | #952 

 © elektron2015. szept. 11. 12:42 | Válasz | #951 
Tegnap megoldottam a távcső vezérló PIC proci kimenetének a közvetlen tekercskapcsoló jeleiből való Step-Dir átalakítást, ami ugye a a 4 unipoláris tekercs megfelelő sorrendben való kapcsolgatása eredetileg.

Mivel ez a cuccom már megvan összerakva és a léptető motor lépegetése miatt túl sok rezgés ment át a képbe, így szervóra fogom cserélni, ami nem fog ilyen durván lépkedni, meg jó nagy sebességet is el tudok vele érni, gyorsan tekerje a csövet, ezáltal.

Ma a szervó panelt is bekötöm, ami elvileg már OK, és egy szervó motor mozgatást megtesztelek még a szobában, az idő amúgy is elég felhős, az átalakító kód a következő:

#define INPUT0_PIN A0
#define INPUT1_PIN A1
#define INPUT2_PIN A2
#define INPUT3_PIN A3

#define OUTPUT_STEP A4
#define OUTPUT_DIR A5

#define INPUT0 digitalRead(INPUT0_PIN)
#define INPUT1 digitalRead(INPUT1_PIN)
#define INPUT2 digitalRead(INPUT2_PIN)
#define INPUT3 digitalRead(INPUT3_PIN)


int prev_stat=3; // 0b00000011
int curr_stat=0;

int new_stat() {
return (INPUT3<<3)|(INPUT2<<2)|(INPUT1<<1)|(INPUT0<<0);
}

int up_stat() {
prev_stat+=prev_stat&0x0F;
}

void step_up() {

digitalWrite(OUTPUT_DIR, HIGH);
digitalWrite(OUTPUT_STEP, HIGH);
digitalWrite(OUTPUT_STEP, LOW);

}

void step_dn() {

digitalWrite(OUTPUT_DIR, LOW);
digitalWrite(OUTPUT_STEP, HIGH);
digitalWrite(OUTPUT_STEP, LOW);

}


void setup(void) {

pinMode(OUTPUT_STEP, OUTPUT);
pinMode(OUTPUT_DIR, OUTPUT);
pinMode(INPUT0_PIN, INPUT);
pinMode(INPUT1_PIN, INPUT);
pinMode(INPUT2_PIN, INPUT);
pinMode(INPUT3_PIN, INPUT);
digitalWrite(OUTPUT_DIR, LOW);
digitalWrite(OUTPUT_STEP, LOW);
prev_stat=new_stat();

}


void loop () {

while (1) {

curr_stat=new_stat();

if (curr_stat!=prev_stat) {

if (curr_stat==up_stat()) step_up();
else step_dn();

prev_stat=curr_stat;
}

}
}


A képen látható a step jel, az eredeti tekercsjelek felett, az oszcilloszkópon.

http://kepfeltoltes.hu/150911/PICT2743_kicsi_www.kepfeltoltes.hu_.jpg

 © Csuhás2015. szept. 04. 07:05 | Válasz | #950 
Picit hasonló hibával én is szívtam már. A jtag debuggot sem célszerű véletlenül bekapcsolni a konfigban mert az érintett lábak furcsán kezdenek viselkedni.

 © elektron2015. szept. 04. 03:26 | Válasz | #949 
Megtaláltam a hibát, az adott lába a procinak kimenetnek volt definiálva és azért nem tudott rajta megjelenni a potiból e jel, csak oylan 0.09V ... én meg a programban a rutinokban kerestem hogy mi lehet a hiba, de ott nem volt hiba azért is akartam már megzakkanni lassan, na de most már ujjé van.

 © elektron2015. szept. 04. 01:23 | Válasz | #948 
Atmega168 processzorból szeretnék egy ADC adatot kiolvasni, de nem megy, C-ben megy, assemblerben kellene, valami tuti működő kis példa, ami sorosra esetleg ki is írná, ha valaki tud ilyet, megköszönném. 2 napja kinlódok vele már, kezdem unni.

 © cree2015. aug. 21. 18:07 | Válasz | #947 
Én maximum arduino szinten vagyok csak c vel kapcsolatba arduino ide környezetben...

 © NewUser2015. aug. 21. 11:34 | Válasz | #946 
Ez a módszer, csak akkor működik, ha külső órajel forrás lett kiválasztva a fusebitekkel. A HVSP macerásabb, de mindent alaphelyzetbe lehet vele állítani.

 © lazi2015. aug. 21. 11:12 | Válasz | #945 
Nekem fordításnál jelzi a laphatár átlépést. Lebegőpontos változónál problémázott, ha van olyanod azt nézd át.

 © lazi2015. aug. 21. 11:10 | Válasz | #944 
Kell hozzá egy külső órajel, azzal kell megtáplálni, utána programozható. Mezei generátor is jó, néhány mega kell, hogy ne őszülj meg mire letöltődik. Órajel forrást pontosan állítsd be utána a következő programozásnál.

 © NewUser2015. aug. 21. 11:06 | Válasz | #943 
Kell hozzá egy HVSP programozó. Neten található hozzá infó. Amit én használtam, egy ATMEL kontroller + 1 NPN tranzisztor (12V-ot kapcsolja a RESET lábra). A forráskódot felraktam ide: FuseBitRepair

 © nyarfa2015. aug. 21. 10:09 | Válasz | #942 
Olvasd el az adatlapot, van benne egy leírás az alaphelyzetbe állításról. Ha jól emlékszem 12V kell hozzá, de én sem csináltam ilyet csak rémlik valami, mintha olvastam volna.

 © cree2015. aug. 21. 09:30 | Válasz | #941 
Digispark spi akartam bootloadert cserélni de a config bitek rosszul voltak beálitva vagyis kizártam magam ATtiny85 böl hogy lehet vissza álitani hogy ujra lehesen programozni?

 © Csuhás2015. aug. 10. 13:36 | Válasz | #940 
Van itt bascom használó rajtam kívül? Hogyan lehetne egy cross-reference táblázatot kinyerni fordítás után? A laphatárt meghaladó programom időnként misztikus hibákat produkál. Valahol módosítok egy apróságot, és valami kritikus rész pont belecsúszik a laphatárba és hirtelen nem működik a program egy ritkán használt ága, én pedig kiadom a kezemből mert nem veszem észre a hibát. Valahogy el szeretném kerülni ezeket a szívásokat.

 © elektron2015. júl. 30. 21:33 | Válasz | #939 
Érthető, majd jön valaki lehet és elvállalja.

 © Fidomaster2015. júl. 30. 21:06 | Válasz | #938 
Meglehet, csak mivel nekem mechanikailag készen van a mozgató, így adott méretre kéne áttervezni , átalakítani. Ezért kérdeztem hogy lehet-e, és ha igen akkor vállalja e valaki:)

 © elektron2015. júl. 30. 20:58 | Válasz | #937 
Lehet van ilyen készen is nem ilyen szendvics alakban, csak keresgélni kell.

 © Fidomaster2015. júl. 30. 20:48 | Válasz | #936 
Mutatni csak úgy tudom hogy feltettem a dokut:
PDF
Nekem az is jó hogy valaki ez alapján, ír, vagy tervez egy jobbat, természetesen nem ingyen:)

 © elektron2015. júl. 30. 20:40 | Válasz | #935 
Konkrétan azt mutasd meg, hogy mit is kellene megcsinálni. Az ARDUINO Due lehet azért kell hozzá, mert a TFT-t kezelni gyors processzor kellhet, vagy egyéb tevékenységhez is.

 © Fidomaster2015. júl. 30. 20:36 | Válasz | #934 
Az össze kapcsolási rajz megvan, de az Uno helyett hogy mi kell én nem tudom.
Tehát minden periféria külön kapcsolási rajzon megvan, szabadon felhasználható.

 © elektron2015. júl. 30. 20:26 | Válasz | #933 
Meg lehet csinálni az biztos, csak kérdés mennyi darab kell belőle, mert azért átrajzolni egy ilyet nem kevés idő, persze ha már valakinek van valami hasonló rajza készen, abból alakítva lehet egyszerűbb, meg ez már működik, míg egy prototípusnál lehetnek hibák is elsőre.

 © Fidomaster2015. júl. 30. 20:21 | Válasz | #932 
Sziasztok!
Van e lehetőség arra, hogy egy ArduinoDue-ra megírt programot, átrakni egy nem ilyen fejlesztői izébe, van rajta egy tft kijelző, két léptető vezérlő, ez egy eléggé fura " szendvics".
A lényeg hogy valahogy méretileg optimalizálni kellene.
Van erre lehetőség? az egész egy opensource-os megoldás minden dokumentáció megvan hozzá.
Esetleg vállakozót is keresnék egyúttal :)
Köszönöm!

 © tomtoled2015. júl. 27. 21:09 | Válasz | #931 
Mindenkinek!

 © tomtoled2015. júl. 27. 21:07 | Válasz | #930 
Ok köszönöm , jobban nem szeretnék belemenni , mert akkor meg kelleni tanulnom az egészet , de ez csak stepper motor hajtásához kell ,ezért megelégszem ennyivel.Köszönöm!
Említettem , hogy van belőle egy pár csak az egyik nem működött ezért próbáltam , helyrehozni.
Holnap mindenképpen megnézem , hhogy sikerül-e.
Mégegyszer Köszönöm!

 © elektron2015. júl. 27. 20:58 | Válasz | #929 
Ha az UNO-t beprogramozod egy programozó kóddal, utána azzal mindnet meg leht csinálni, mint programozóként hazsnálni, törölni is lehet, meg FUSE biteket is, vannak erre különböző programok, amik tudják kezelni.

AZ IDE segítségével ies lehet csinálni, mert az is egy programozó szoftvert hazsnál, ha az be van állítva neki, amit akarsz, FUSE bitek, stb, van egy külön file, ott lehet csinálni nem szokványos dolgokat is, csak az már eléggé hackelés.

 © RogerCo2015. júl. 27. 20:57 | Válasz | #928 
Törölni nem tudod. Ha nem az ARDUINO-val programozod, hanem direktben, pl ISP programozóval, vagy Az ATMEL Studio-val ISP-n, az eleve felül vágja a Bootloader-t így több helyed marad a hasznos kódnak.

 © tomtoled2015. júl. 27. 20:57 | Válasz | #927 
Most már meg lesz köszönöm !
Szerencsére van pár darab

 © tomtoled2015. júl. 27. 20:56 | Válasz | #926 
Akkor mégkétszer
Bocsánat!
Még annyi, ha így megcsinálom , akkor tudom törölni is a bootloader-t ?

 © tomtoled2015. júl. 27. 20:54 | Válasz | #925 
Akkor mégegyszer.
Bocsánat!
Még annyi, ha így megcsinálom , akkor tudom törölni is a bootloader-t ?

 © RogerCo2015. júl. 27. 20:54 | Válasz | #924 
Egymagában nem lehet. kell egy másik Uno, vagy egy ISP programozó, és akkor 6 vezetéken fel tudod programozni.

 © tomtoled2015. júl. 27. 20:53 | Válasz | #923 
Még annyi, ha így megcsinálom , akkor tudom törölni is a bootloader-t

 © elektron2015. júl. 27. 20:51 | Válasz | #922 
Jobboldalon a hozzászólás fejrészben a "Válasz " gombot, ha megnyomod, akkor lehet látni, hogy mire válaszolsz.


[1] 2 3 4 5 ... Utolsó

Ugrás a tetejére

Tárhely és domain a MediaCentertől

Untitled Document Fórumtagok ftp könyvtára: cnctar.hunbay.com