HobbyCNC fórum
v0.9.6 Régi HobbyCNC oldal: http://archiv.hobbycnc.hu

Új regisztráció / Átregisztráció a régi fórumról
    
   

 
Arduino



 

Időrend:
Oldal 2 / 42 Ugrás ide:
Sorok:
|◄ Első  ◄ Előző   1  2  3  4  5  6   Következő ►  Utolsó ►|

  Fórum főoldal  |  A lap aljára

Csuhás | 6750    2024-03-09 17:27:01 [2016]

Megemlítek neked egy általam használt alternatívát. Van egy olcsó Bascom névre hallgató elég hatékony kódot generáló basic fordító atmelekre. ( Ne egy sorszámozott goto-kal teli kódra gondolj) Magam évek óta használom, pár száz kbyteos forráskódú, szívhang elemző, vagy sok csatornás EEG programokat írtam ezzel. Jól kezeli a procik hw elemeit, illetve az időkritikus részeknél simán lehet ASM-be váltani. Az ingyenes demó verzióval kipróbálható.

Előzmény: Robsy1, 2024-03-09 15:47:45 [2015]


Robsy1 | 356    2024-03-09 15:47:45 [2015]

Biztos úgy van, ahogy mondod, te vagy a szakértője a témának.
Én nem tudom pontosan mennyi van (volt aki jóval száz fölöttiről beszélt a 16 bites verzióknal, mert a 8 biteseket nagyjából még én is átlátom), ezért is érdeklődtem itt. Egy biztos: a korszerűség, kényelem jegyében azt érzékelem, hogy szinte minden programozó manapság "menekül" az AVR ASM programozástól, mindenki valamilyen C fejlesztő rendszert/fordítót javasol, hogy ott kezdejek ezekkel foglalkozni. És azért egy ilyen AT Mega pdf adatlap még terjedelemre is elég "ijesztő", ha megnyitja az ember.

Na majd meglátjuk, majd jobban beleásom magam, aztán ha elakadok, majd jelentkezem. Köszi neked is az infókat.

Előzmény: dezsoe, 2024-03-09 14:53:39 [2014]


dezsoe | 2934    2024-03-09 14:53:39 [2014]

A PIC, az AVR és az ARM processzorok RISC architektúrájúak: nemhogy több ezer, de sokszor még 100 utasításuk sincs.

Előzmény: Robsy1, 2024-03-09 14:39:22 [2013]


Robsy1 | 356    2024-03-09 14:39:22 [2013]

Köszi, de attól félek, hogy ennek a huroknak meg a benne lévő utasítás ciklusoknak az össz eredő végrehajtási ideje nagyobb lesz így már mint 0.5 us.

Lehet, hogy át kéne tanulmányoznom idővel egy 16 bites AVR assembly utasításkészletét. Csak azt a tapasztaltam, akikkel beszélgettem már erről, hogy manapság már szinte senki (a profi programozók se) fejlesztenek ilyen AVR programokat ASM-ben, mert ezek már nem azzal a pár száz (hanem akár több ezer), viszonylag áttekinthető utasításkészlettel dolgoznak, mint egy 8 bites PIC, amiket eddig volt szerencsém programozgatni, és viszonylag átláthatók, megtanulhatók még nekem is, csak ugye "lassúak" nekem. Ez a 16 bites adatkezelésű AVR vagy (akár a PIC világ is) ilyen szinten egy más világ, nyilván a profi programozó se fog kínlódni manapság ASM-ben, inkább egy jó minőségű C fordítót használnak, ha még beleférnek a szűkös futási idő keretbe.

De valami trükje, csínja-bínja csak van ennek az AVR technikának, hiszen egy kis "vacak" Ardunió csak-csak elvezérelget egy 3D nyomtatót, néhány 10 kHz-es step/dir frekivel, ami azért nem annyira rossz eredő eredmény egy ilyen kis "kütyühöz" képest.

Na mindegy, köszi mindenkinek a segítséget.

Előzmény: TBS-TEAM, 2024-03-09 13:44:40 [2012]


TBS-TEAM | 3006    2024-03-09 13:44:40 [2012]

Ha minimum 16 bitre van szükséged, de egy kritikus (gyors) kódszakaszban szeretnéd használni, akkor az int_fast16_t definíciókat használhatod.


16 bites mesterkód

#include <Wire.h>

void setup()
{
Wire.begin();
Serial.begin(9600);
}

void loop()
{
delay(2000);

int16_t bigNum;

byte a,b;
Wire.requestFrom(54,2);

a = Wire.read();
b = Wire.read();

smallNum = a;
smallNum = smallNum << 8 | b;

Serial.print(bigNum);
Serial.print("\n");
}

____________________________________________

16 bit slave code

#include <Wire.h>

void setup()
{
Wire.begin(54);
Wire.onRequest(requestEvent);
}

void loop()
{
delay(100);
}

void requestEvent()
{
int16_t bigNum = 1234;
byte myArray[2];

myArray[0] = (bigNum >> 8) &amp; 0xFF;
myArray[1] = bigNum & 0xFF;
Wire.write(myArray, 2);
}



  

morvfer7 | 2578    2024-03-09 12:54:18 [2011]

Úgy gondolom, hogy ha a fordító az PORTx regiszterekhez hozzáférést lát, 8 bites blokkokban fogja kezelni az adatokat.

Így ha egy 16 bites adatot írsz egy PORTx regiszterbe, akkor a fordító automatikusan fogja kezelni, akkor a 8 bites regiszterekhez tartozó két blokkot használ úgy, hogy az alsó 8 bitet a PORTx regiszter megfelelő bitjeire írja, majd az felső 8 bitet pedig a PORTx regiszter következő bitjeire.

Most nem tudom tesztelni, de kb így képzelem el.

Előzmény: dezsoe, 2024-03-09 12:02:47 [2009]


Robsy1 | 356    2024-03-09 12:27:46 [2010]

Köszönöm a segítségedet, ezek nagyon biztatóak, ha tényleg így megvalósíthatók C-ből is.
Bár az nagy kérdés, hogy ha egy port csak 8 bit szervezésű, szélességű, akkor mi lesz a 255 feletti adattal, ahogy Dezsoe ezt fekvetette. Én is azt gyanítom, hogy ehhez olyan Arduino típus kellene, ami 16 bites adat szervezésű, és képes egy utasításban a 0-FFFF adat mezőt "mozgatni" vagy azokkal műveletek végezni.
Mert az időnyerés miatt pont ez a bajom ezekkel a 8 bites utasításokkal, hogy ezekből több kell, mint amikor ezt egy soros utasítás is elintézi.

Előzmény: morvfer7, 2024-03-09 11:30:24 [2007]


dezsoe | 2934    2024-03-09 12:02:47 [2009]

A fordító el fogja dobni a felső 8 bitet, mivel a regiszterek 8 bitesek.

Előzmény: morvfer7, 2024-03-09 11:30:24 [2007]


dezsoe | 2934    2024-03-09 12:01:00 [2008]

Nincs. Amit tudok, az annyi, hogy kifejezetten jól optimalizál a C fordító, de nem volt még szükségem ennél pontosabb megközelítésre.

Előzmény: Robsy1, 2024-03-09 10:40:31 [2004]


morvfer7 | 2578    2024-03-09 11:30:24 [2007]

PORTx regiszterre való közvetlen hivatkozással a leggyorsabb.

Példaként, ha a 16 bites adatot egy adott portra (például PORTB) kiírni:

void setup() {
// port - kimenet
DDRB = 0xFFFF; // minden bit kimenet
}

void loop() {
// 16 bites adatot a PORTB-re
PORTB = 0xABCD; // Példa
}




Ez az ABCD értéket írja ki a PORTB regiszterbe.


Például Arduino UNO 328P mikrovezérlője 16 MHz-es órajellel ketyeg.

Az PORTx regiszterekhez történő közvetlen hozzáférés egy utasításnak számít, ez elég gyors, így amíg egy 16 bites adatot ki tudsz írni a portra, mindössze egy utasításciklus hosszúságú lesz, azaz körülbelül 62.5 nanoszekundum. (1 / 16 000 000 másodperc)

Fontos, hogy ez azt feltételezi, hogy az adott művelet szinkronizált a processzor órajelével, és nincs egyéb időveszteség a környezetben.

Előzmény: Robsy1, 2024-03-09 10:40:31 [2004]


tibs | 190    2024-03-09 11:19:36 [2006]

Szia!

Egy kiragadott példa az egyik programomból.

int inicial2(int buf2, int br)
{

PORTD &= B00111111;

_delay_loop_2(br);



for(int i=0; i<9; i++)


{
if((buf2>>i)&1)
{
PORTD |= B11000000;
_delay_loop_2(br);

}
else
{
PORTD &= B00111111;
_delay_loop_2(br);

}


}


PORTD |= B11000000;
_delay_loop_2(TX_P_STOP2);

}




Egy cikuls idő alatt hajtja végre ha jól tévedek.

Előzmény: Robsy1, 2024-03-09 07:44:18 [2002]


TBS-TEAM | 3006    2024-03-09 11:04:23 [2005]

Ha nagy sebességet szeretnél arduino kód futtatására akkor:
Teensy 4.1
ARM Cortex-M7 600 MHz-en
Lebegőpontos matematikai egység, 64 és 32 bit

Előzmény: Robsy1, 2024-03-09 10:40:31 [2004]


Robsy1 | 356    2024-03-09 10:40:31 [2004]

Köszönöm.
A C nyelvű utasítás(ok) eredő futási idejéről van tapasztalatod?

Előzmény: dezsoe, 2024-03-09 09:34:43 [2003]


dezsoe | 2934    2024-03-09 09:34:43 [2003]

A portok 8 bites szélességben írhatók/olvashatók. Nem kell hozzá feltétlenül lemenni assembly-ig, C-ből is elérhetőek. A mellékelt képen PA, PB, PC és PD kezdetű lábak tartoznak egy-egy 8 bites egységbe. Láthatóan nincs minden láb kiépítve, ahogy más mikrokontrollereknél is szokott lenni.

  

Előzmény: Robsy1, 2024-03-09 07:44:18 [2002]


Robsy1 | 356    2024-03-09 07:44:18 [2002]

A profi hozzáértőktől, AVR programozóktól kérdezném:
Van az Arduino utasítások közt olyan, ami csak egy-két sorból áll, és képes 8-16 bit szélességű adat Output műveletet egy porton végezni 0.5 mikrosec alatt?

Mert ahogy látom, szinte mindenütt csak ez a bitenkénti LED ki-be kapcsolgatási játék demo program van terítéken.

dtb | 1922    2024-02-27 22:00:15 [2001]

Egy másik verzió, ez egyszerűbb...

  


dtb | 1922    2024-02-27 21:54:40 [2000]

Elég régóta keresgéltem már egy power loss indikátor panelt, ma véletlenül beleszaladtam...
Ha esetleg valaki készít magának, én is szívesen megvennék belőle 4-5 darabot! Igazából úgy lenne célszerű, hogy egy panelra kerülne a puffer kondi és a védő dióda, meg maga az indikátor rész is, és 4 vagy 5 csatlakozó lenne:5VIN, 5VOUT, 2 x GND, meg a Signal

  


kaqkk007 | 1567    2023-04-30 09:53:50 [1999]

Akkor átvert, gyárilag jár hozzá.Max veszel bele egyet és beleteszed.

Előzmény: morvfer7, 2023-04-29 22:01:01 [1998]


morvfer7 | 2578    2023-04-29 22:01:01 [1998]

aki szerelte azt mondta, hogy nincs benne wifi, bár a távirányítóján van wifi gomb

Előzmény: kaqkk007, 2023-04-29 21:51:30 [1996]


kaqkk007 | 1567    2023-04-29 21:58:11 [1997]

Ha okos volt a klímás vagy a klíma előlapjának a belsejére vagy a távirányító elemfedelenének a belső oldalára ragasztotta , de az is lehet hogy a papírok közt van egy kicsi fehér dobozkában .

Előzmény: kaqkk007, 2023-04-29 21:51:30 [1996]


kaqkk007 | 1567    2023-04-29 21:51:30 [1996]

Elvileg benne van gyárilag a wifi stick , csak meg kell keresned a qr kódos matricát a papírok közt azt beolvasni a telóddal , letölteni az alkalmazást és rátanítani a wifidre

Előzmény: morvfer7, 2023-04-29 16:07:54 [1992]


morvfer7 | 2578    2023-04-29 21:15:07 [1995]

azért ennnyire mélyre nem megyünk. a klímának sem tenne jót a csak elveszem az áramot menet közben dolog.

ighazából nem gond a program, van is 2 féle elképzelésem, épp azért kérdeztem itt, hátha már valaki megoldotta. ha nem akkor beleugrok és összehozom

Előzmény: Jozs, 2023-04-29 20:54:07 [1994]


Jozs | 891    2023-04-29 20:54:07 [1994]

Ha csak annyi hogy be szeretnéd kapcsolni és nem akarod távolról állítgatni akkor egy sima wifi -s konnektor is megoldás lehet.

Előzmény: morvfer7, 2023-04-29 13:45:02 [1987]


szf | 4462    2023-04-29 16:18:48 [1993]

Köszönöm!

Előzmény: morvfer7, 2023-04-29 14:56:45 [1990]


morvfer7 | 2578    2023-04-29 16:07:54 [1992]

2 éves
Gree GWH12QB-K6DND6I-I

Előzmény: kaqkk007, 2023-04-29 15:44:46 [1991]

kaqkk007 | 1567    2023-04-29 15:44:46 [1991]

Milyen idős a klíád ? Milyen típus ? Már több éve lehet Wifi-stick et tenni a klímákba ami éppen erre van kitalálva .

Előzmény: morvfer7, 2023-04-29 13:45:02 [1987]


morvfer7 | 2578    2023-04-29 14:56:45 [1990]

itt van a komplett leírása kóddal együtt...

Előzmény: szf, 2023-04-29 14:46:40 [1989]


szf | 4462    2023-04-29 14:46:40 [1989]

Amennyiben publikus akkor érdekel az órának a progija.

Előzmény: morvfer7, 2023-03-26 21:22:01 [1986]


sanyi84 | 1358    2023-04-29 13:48:42 [1988]

ESP32? Elég olcsó, tudja a wifit. Más nem is nagyon kell hozzá, csak egy infra LED és cuccai.

Előzmény: morvfer7, 2023-04-29 13:45:02 [1987]


morvfer7 | 2578    2023-04-29 13:45:02 [1987]

lassan itt a nyár és szeretném az itthoni klímát valahogy "okosítani", hogy ne kelljen állandó üzemben menni, de mire hazaérek már a megfelelő hőmérséklet fogadjon.
Szóval nem tudom valaki már csinált-e ilyet, hogy ne kelljen újra feltalálnom a kereket.
Ha nekem kell előlről megoldani, akkor is kérdezném, mi lenne a jobb megoldás.
Egy arduinoval kiolvassam az eredeti távvezérlő kódjait, majd egy programban ezeket felhasználva készítsek egy "wifire csatlakozott távvezérlőt" amit távolról telefonon tudok kezelni, vagy alapból a klímába kössem be a vezérlést?


morvfer7 | 2578    2023-03-26 21:22:01 [1986]

Csak úgy unatkoztam, a héten kevés a meccs.



ebalint | 1774    2023-03-08 08:34:04 [1985]

szia!
A múlt héten nézegettem a netet rexasztal ügyben.

Publikus a megépített asztalod?

Előzmény: Törölt felhasználó, 2023-03-07 18:38:11 [1976]


Sásdi Zoltán | 735    2023-03-08 08:18:45 [1984]

Én ilyen kicsikkel csináltam egy "gravírozót, ceruzával a kezében, A5-ös területtel. Sosem bízok a G kódokban amit én írok, megrajzolja a műszer előlapot, látom hol a hiba, olcsón javitható.

Előzmény: vad3mb3r, 2022-09-01 23:53:12 [1973]


TBS-TEAM | 3006    2023-03-07 20:15:40 [1983]

Magyar angol szabályok

Előzmény: Törölt felhasználó, 2023-03-07 20:01:48 [1980]


TBS-TEAM | 3006    2023-03-07 20:13:48 [1982]

Amennyiben a piros golyó lyukba kerül, akkor csak azzal végezhetjük a következő lökést.

Előzmény: Törölt felhasználó, 2023-03-07 20:01:48 [1980]

TBS-TEAM | 3006    2023-03-07 20:07:47 [1981]

Még egy pár érdekesség aminek a megoldása
fejtörést okozhat.
A golyóknak ütküzni kell csak akkor érvényes
a lyukba kerülő golyó értéke.
A pályát elhagyó golyó, és főleg ami az alapvonali bőrre
kigorul annak az érzékelése kezelése.

Előzmény: Törölt felhasználó, 2023-03-07 19:51:37 [1978]


Törölt felhasználó    2023-03-07 20:01:48 [1980]

Ezt most lehet, hogy nem teljesen értem...
Amúgy van még egy buktató amire eddig nem gondoltam... A piros golyó duplát ér ugye... na itt a követkeező kihívás..

Előzmény: TBS-TEAM, 2023-03-07 19:56:40 [1979]


TBS-TEAM | 3006    2023-03-07 19:56:40 [1979]

Angol játékot nem akarsz játszani?

Előzmény: Törölt felhasználó, 2023-03-07 19:51:37 [1978]


Törölt felhasználó    2023-03-07 19:51:37 [1978]

igazad van! lehe, hogy a gomba esetében a nullázás is egy külön nyomógombbal történne.. Erre nem is gondoltam. bár van itthon mindenféle szenzorom (lézer, induktív, kapacitív, színérzékelő, stb....) Valamelyikkel csak sikerül megoldanom... ha meg nem hát marad a jó öreg nyomógomb..

Előzmény: TBS-TEAM, 2023-03-07 19:11:20 [1977]


TBS-TEAM | 3006    2023-03-07 19:11:20 [1977]

Egy érdekes kihivás van benne a gomba.
Ha a gomba felborul nullázódak az addigi potok, viszont
Ha:
Ha a gombát csupán arrébb tolja egy golyó, de az nem borul fel, ez az eset nem számít hibának.

Na itt kell agyalni a megoldáson.

Előzmény: Törölt felhasználó, 2023-03-07 18:38:11 [1976]


Törölt felhasználó    2023-03-07 18:38:11 [1976]

Sziasztok!
Építettem egy REX asztalt és szeretném a pontokat digitálisan számoltatni illetve kijeleztetni. Olyan hozzáértő személyt keresek aki megírna egy programot arduinora ami számolja a pontokat, figyeli a gombát és nulláz, ha kell. illetve egy váltó gomb is helyet kapna a több játékos miatt. Az elektronikát én elkészítem csak a program kellene. Természetesen több információval, konkrétumokkal is tudok szolgálni, ha megtaláltam a megfelelő személyt!
Mondanom sem kell, hogy anyagi juttatás fejében várom mindezt, nem ingyen!
Köszönöm!


Kisamotors | 709    2022-09-02 06:01:56 [1975]

Keress rá, hogy mi is a különbség a bipoláris és az Unipoláris léptetők között.
Legegyszerűbb, ha az A és a B fázistekercs középső megcsapolását nem kötöd be, így máris 4 vezetéked van. (Igaz, elég rossz működési tulajdonságokkal, de mozgatható.)

A YT-on milliónyi videó van arról, hogy lehet különféle megoldásokkal léptecseket vezérelni. Elég, ha csak beírod az Arduino és stepper motor keresőszavakat.
Az alapokat ismerd meg, aztán építhetsz ezekből a motorokból mondjuk egy CNC rajzgépet (plottert), vagy vehetsz új gombokat a kabáthoz, de ez már a következő lépcső.

Előzmény: vad3mb3r, 2022-09-02 00:00:29 [1974]


vad3mb3r | 9    2022-09-02 00:00:29 [1974]

...ez előbb elment bocsi...
Szóval azzal tisztában vagyok, hogy ezzel nem fogok marogatni, acélt forgácsolni, a célom nem is ez lenne! A lényeg egy részről az építés öröme, másrészről a CNCk felépítésének megértése, a vezérlés tanulása. Szóval tudom, hogy ezek nem erős motorok!
A kérdésem az lenne, hogy hogy a viharba kell bekötni ennek a 6 pinjét???
Ami arduinoshildeket láttam, azok 4 pinesek. Hogy mozgathatnék meg egy ilyen motort? ...ha egyáltalán arduinoval lehet...

Előzmény: vad3mb3r, 2022-09-01 23:53:12 [1973]


vad3mb3r | 9    2022-09-01 23:53:12 [1973]

Üdvözleheletem!

Sok más projektem mellett, gondolkodom egy icipici CNC építésén. ...amit arduinoval terveznék vezérelni!
Namármost van kb 8 léptető motorom, amit egyszet egy diszkó lámpából szedtem ki.

  


csatlos.laszlo | 145    2022-07-15 07:10:48 [1972]

XTisztelt: forumosok! Valakinek nincs veletlenul telefon bluetoot arduino relle eszkozre irt hexben kapcsolo programja?

Törölt felhasználó    2022-03-03 11:13:06 [1971]

Nekem sem sok programozási tudásom de ezek még mennek kénytelen cél érdekében!
Ami ardu programozási szinten fontos (minta példa elinduláshoz) modbus eszköz tudjad milyen eszköz cimen indul ez 001-255 közöt választható...eszköz baund értéke 4800..9600 tetszés szerint! Az rs485 sorosport átalakítót amit mutattam az könnyü elindítani össze drótozni érdemes hadveres szeriált használni az megbízhatóbb .....sajnos softserial nálam töbször is elakadt ami alapban arduino ide használ de van több softserial könyvtár fejlesztés amik jobbak megbizhatobak!
notepad meg átírod a te fogyasztásmerőd regiszter cimeit "lent linkeltem " Szintén ebben a könyvtárban SDM.h sdm120..220 eszközre van meg irva!
SDM_Energy_Meter-master sdm_simple.ino mintapélda meni fog szépen ha amit mutattam port átalakítóval csinálod meg! Sajnos vannak más átalakítok ami szinte csak vesződni lehet a rossz port fesz szintek miat és nem indul el a kommunikáció rajta azok felejtősek

Előzmény: szf, 2022-03-03 09:22:27 [1970]


szf | 4462    2022-03-03 09:22:27 [1970]

Számítottam a sok jelentkezőre

Hasonló modullal próbálkoztam. Van is kapcsolat, legalábbis a fogyasztásmérőn a felirat jelzi. Csak nincs elegendő tudásom a továbblépéshez.

Előzmény: Törölt felhasználó, 2022-03-03 02:07:24 [1969]


Törölt felhasználó    2022-03-03 02:07:24 [1969]

sok a jelenkezö!:)

rs485 modul ami jóó... már 3.3v is elindul!
https://www.google.hu/aclk?sa=l&ai=DChcSEwjslc3P3Kj2AhVEAYsKHTyEBDoYABAFGgJlZg&sig=AOD64_2P-gucU7p-nyWm48sKnkdJpKKaDA&adurl&ctype=5&ved=2ahUKEwiOyMLP3Kj2AhXX7rsIHbYZASsQvhd6BAgBEFU
protocol
https://www.socomec.com/files/live/sites/systemsite/files/SCP/6_gestion_energie/diris/diris_a10/DIRIS-A-10_COMMUNICATION-TABLE_2018-01_DCG01013_MULTI.html

sdm220 könyvtárba átt irod DIRIS-A-10 protokol regisztereire "read" szekcióban

https://github.com/peninquen/Modbus-Energy-Monitor-Arduino

egy régi hasonló projekt (esp8266)


Előzmény: szf, 2022-03-02 15:48:09 [1968]


szf | 4462    2022-03-02 15:48:09 [1968]

Van egy DIRIS A10 villamos fogyasztásmérőm , szeretném az adatokat arduino-val modbus-on kiolvasni.
Van valakinek valami kiforrott progija erre. Nem pont erre a típusra, hanem valami általános dolog amivel el lehetne indulni.


PSoft | 18696    2022-02-10 18:37:36 [1967]

Előzmény: szf, 2022-02-10 18:14:59 [1966]


  Fórum főoldal  |  A lap tetejére

Időrend:
Oldal 2 / 42 Ugrás ide:
Sorok:
|◄ Első  ◄ Előző   1  2  3  4  5  6   Következő ►  Utolsó ►|


 ◊ 
[ 0.8039 ]