Fórum témák

» Több friss téma
Fórum » Arduino
A klónok CH340 Soros-USB illesztőjének drivere (Letöltés)
Lapozás: OK   103 / 850
(#) cupika97 hozzászólása Ápr 19, 2015 /
 
Sziasztok. Ha eztet megépítem, fog működni? Esetleg valaki tudna linkelni ibelyen mikrofonra linket?
A hozzászólás módosítva: Ápr 19, 2015
(#) david10 válasza cupika97 hozzászólására (») Ápr 19, 2015 /
 
Ez volna az: Mikrofon
(#) Kera_Will válasza cupika97 hozzászólására (») Ápr 19, 2015 /
 
Arduinot programoznál meg fényeket vezérelnél?
De hangfrekvenciás erősítőt meg nem tudsz építeni?
Némi elektronikai alapismereteket is illene magadhoz venni.
Értem én "olcsóbb" "íbajon" rendelni meg készen van.
De ennyiből magad is meg tudod építeni.
Esetleg uA747, tl072 , tl082 , stb. kettős műveleti erősítőt használsz
az analóg/digitális átalakító bemenet előtt.Kb.: 500-1000 körüli erősítést kell beállítanod.
(#) szikorapéter hozzászólása Ápr 19, 2015 /
 
Üdv. Lehet egy picit off de valaki tudja hogy hogyan zsúfolta bele a basic-et Ben Heck az arduino 328p processzorába? ITT van róla egy bejegyzés,és nem is rossz,főleg úgy sok lábat még szabadon is hagyott,melyeket a Basic lekezel. Nagyon tetszik a megvalósítása,de érdekelne a technikai háttér,ami sajnos nem elérhető (legalábbis nem találtam.)
Kíváncsi vagyok ki milyen véleménnyel van erről a projectről vagy csak engem fogott meg ennyire.
(#) Kovidivi válasza szikorapéter hozzászólására (») Ápr 20, 2015 /
 
Ez csak Tinybasic. Alap utasítások vannak benne, mint goto, delay, talán még list (ha egyáltalán lefut), (többet nem láttam), és több egyéni, pl. servo - ez biztosan nem volt basicben. Van pár parancs, amit felismer a program, és végrehajt. A 60nap alatt Arduino után Te is meg tudnád csinálni. A 32Kbyte is bőven elég. A billentyűzet usart-n keresztül küldte a szabványos karaktereket, ehhez elég 1 bemenet, az LCD 4bites módban hajtva sem igényel túl sok lábat.
(#) andykaaa hozzászólása Ápr 20, 2015 /
 
A kovetkezo lama kerdesem lenne
Az ATMega644P-nek az SCL es SDA kivezetesek a 16 es 17 digitalis labakon vannak.
1. Ha egy DS1307, vagy DS3231 orat csatlakoztatok ezekre, akkor ezzel mar elhasznaltam a kivezeteseket ?, vagyis nem lehet mar egyebre - digitalis kimenetkent, hasznalni ?
2. Ajanlanatok olyan, nem draga, hasonlo modult amit akarmelyik digital labra kotheto ? Vagy letezik megoldas mas labakra kotni a fentiaket ?
Koszonom.
A hozzászólás módosítva: Ápr 20, 2015
(#) kapu48 válasza andykaaa hozzászólására (») Ápr 20, 2015 /
 
Ezek az eszközök a linkelt ábra szerint párhuzamosan köthetők az I2C sínre.
Bővebben: Link
(#) andykaaa válasza kapu48 hozzászólására (») Ápr 20, 2015 /
 
Nem igazan ertelmeztem eggyertelmuen. Vagyis, ha az abra szerint kotom ra akkor nem befolyasolja az adott kivezetesek digitalis (digitalWrite) mukodeset es egyszerre mindketto mukodik a kivezeteseken ?
(#) kissi válasza andykaaa hozzászólására (») Ápr 20, 2015 /
 
Idézet:
„Ha egy DS1307, vagy DS3231 orat csatlakoztatok ezekre”
A "vagy" és a logika ( minek egyszerre két óra ?!) miatt nem arra gondolunk, hogy egyszerre két órát akarsz rákötni... ! Az I2C buszra egyébként köthetsz több/néhány eszközt egyszerre, ha nem azonos a címük ( hiszen címzéssel dolgozik! ) !
(#) andykaaa válasza kissi hozzászólására (») Ápr 20, 2015 /
 
Nos irtam hogy lama kerdes kovetkezik, de azert ismerem a logikaba a vagy szo ertelmet, ami szerint az egyik kizarja a masikat (nem hordok ket karorat).
(#) kapu48 válasza andykaaa hozzászólására (») Ápr 20, 2015 /
 
Ha arra gondolsz, hogy ezeket a kivezetéseket párhuzamosan + relék vagy LED-ek vezérlésére is használnád? Az nem működik!
Viszont vannak I2C-re köthető port bővítő eszközök!
(#) andykaaa válasza kapu48 hozzászólására (») Ápr 20, 2015 /
 
Nem igazan lelkesedek a vallaszert, de EZT akartam hallani.
(#) kapu48 válasza andykaaa hozzászólására (») Ápr 20, 2015 /
 
Ha elfogytak a digitális pinek?
Köthetsz az óra mellé I/O bővítőt:8bit I/O Expander
Lesz további 8 digitális programozható ki/be pined.
(#) andykaaa válasza kapu48 hozzászólására (») Ápr 20, 2015 /
 
Nem akadekoskodom, csak vallaszt szeretnem a lama kerdeseimre.
Hasonlo modul amit akarmelyik digital labra kotheto letezik ? Sajnos mar megepitettem, harmadszorra es nincs kedvem ujra csinalni.
(#) kapu48 válasza andykaaa hozzászólására (») Ápr 20, 2015 /
 
Más lehetőség a SPI bővítő: Bővebben: Link

Viszont ehhez már 4 vezérlő vonal kel!
(#) andykaaa válasza kapu48 hozzászólására (») Ápr 20, 2015 /
 
Koszonom a segitseget, sajna ugy nez ki hogy ujra kell az aramkort tervezzem es epitsem.
A hozzászólás módosítva: Ápr 20, 2015
(#) kapu48 válasza andykaaa hozzászólására (») Ápr 20, 2015 /
 
Ezért tervezték az Arduinot, egymás tetejére dugható kártya bővítők seregének lehetőségével!
(#) Kovidivi válasza andykaaa hozzászólására (») Ápr 20, 2015 1 / 1
 
Ezeket az IC-ket rárakhatod bármelyik digitális lábra, de ekkor neked kell a lábakat fel-le húzogatva, időzítgetve elküldened a megfelelő parancsokat DS1307 felé. Ezt hívják bit banging-nek. Nem egy közkedvelt megoldás, de működőképes. Mivel az I2C szabvány nagyon elterjedt, ezért ki lett fejlesztve egy olyan periféria, aminek csak az adatot kell elküldened, beállítasz néhány dolgot, és magától adja a clock jelet, és az adat kábelt is megfelelően kapcsolgatja, így tehermentesíti a procit, így tudsz párhuzamosan adatot küldeni, és fut a programod tovább. Ezért kellene a megfelelő perifériához kötni az ilyen IC-ket.
Amit kérdezel, az lehetséges, köthetsz I2C lábra LED-et, vagy relét, ezzel párhuzamosan pedig DS1307-es IC-t, csak ennek semmi értelme sincs, mert ha kommunikálsz a DS1307-tel, akkor a LED vagy relé villogni, kattogni fog (persze ha le tudja követni azt a frekvenciát.) A relé mondjuk szerintem blokkolni fogja a kommunikációt, mert beterheli a PIN-t, de a LED le fogja villogni 100KHz-cel az adatokat, tehát derengeni, esetleg világítani fog. Ha meg magasra állítod a PIN-t, az csak addig lesz magas, amíg el nem kezdesz egy I2C kommunikációt, mert olyankor átveszi az uralmat a PIN felett az I2C periféria. Mindent lehet, csak lehet nincs értelme...
(#) kapu48 válasza Kovidivi hozzászólására (») Ápr 20, 2015 /
 
Ez érdekes eszmefuttatás!
De gyakorlati haszna semmi!

(#) Kovidivi válasza kapu48 hozzászólására (») Ápr 20, 2015 / 1
 
Próbáltam elmagyarázni a dolgot andykaaa-nak, hogy is működik az egész, mi az az I2C periféria, mivel ahogy láttam, ő nem is tudja, hogyan működik egy ilyen egység, mit is csinálnak a lábak a kommunikáció közben. Ezt olvasd el a szöveg végén: "Mindent lehet, csak lehet nincs értelme... " A negatív jelölés pedig rosszul esett.
(#) mechanika hozzászólása Ápr 20, 2015 /
 
Sziasztok!

Egy egytizedes pontosságú számot (Beallitott) szeretnék eeprom területen tárolni
Így gondoltam:

  1. ...
  2. float Beallitott;
  3. int eee;
  4. float eet;
  5. int eete;
  6. ...
  7.   eee = Beallitott / 1;  //egesz resz
  8.   eet = Beallitott % 1 ;  //tört resz
  9.   eete = eet * 10;       //tört rész egésszé alakítva tároláshoz
  10.   EEPROM.write(1, eee);
  11.   EEPROM.write(2, eete);


amikor futtatná az alábbi hibaüzenetet kapom a 15-ös sornál:

invalid operands of types float and int to binary operator

gondolom valami triviális hiba, csak én nem ismerem.

Tudna valaki segíteni?!

Köszönöm!
A hozzászólás módosítva: Ápr 20, 2015
(#) proba válasza kapu48 hozzászólására (») Ápr 20, 2015 / 1
 
Azért némi haszna lehet. Pl két gombot is le lehet kezelni. (a gombot az I2C forgalom alatt nem figyeli , valamint biztosítja hogy a gombnyomásnál ne blokkolja a forgalmat. ) Ha kevés a processzorláb lehet furcsa dolgokat kitalálni. ( pl kijelzéshez is lehet soros adatokat ott előállítani, hiszen a valódi átírást másik láb végezheti. Az időzítés meg programból befolyásolható)
A hozzászólás módosítva: Ápr 20, 2015
(#) kapu48 válasza proba hozzászólására (») Ápr 20, 2015 /
 
Roppant érdekes lehet, mikor a tudatlan felhasználó elkezdi nyomkodni a gombokat, I2C forgalmazás közben!
Mert hát mért ne?
(#) proba válasza kapu48 hozzászólására (») Ápr 20, 2015 /
 
Azért annál bonyolultabb. Pl a gombok másik vége egy bemenetre van kötve. Amíg együtt nem nyomják a két gombot addig semmi sem változik a buszon. Egyébként meg a két gomb már olvasható a busz használat szünetében.
(#) andykaaa válasza Kovidivi hozzászólására (») Ápr 20, 2015 /
 
Mindenféleképpen Köszönöm. Hasznos volt a magyarazatod. Valamit csak kieszelek. Ha nem egyebet akkor átkötöm huzallal.
Lenne meg egy kérdésem, ha bizonyos időközönként elmentek adatokat SD -re, txt fájlba, akkor az adott fájl tartalmát a használt LCD -n milyen megoldással / eljárással tudom visszaolvasni, mondjuk amolyan Page-up - Page-down görgetéssel ?
A hozzászólás módosítva: Ápr 20, 2015
(#) Kovidivi hozzászólása Ápr 20, 2015 /
 
Sziasztok!
Arduino Leonardo-t ha USB-vel a géphez csatlakoztatom, akkor AVR Studioval, a Studioban írt programot fel tudnám a bootloaderen keresztül rá tölteni? Vagy hogyan tudnám programozni az Atmega-t USB-n keresztül, az Arduino IDE-t kihagyva?
Köszönöm!
(#) kapu48 válasza Kovidivi hozzászólására (») Ápr 20, 2015 /
 
Van az AtmelStudio Help menüben: Atmel Gallery
Bővebben: Link
Itt megkeresed és letöltöd a:
Arduino IDE for Atmel Studio

Visual Micro
FOR ARDUINO 1.6.3 SUPPORT PLEASE DOWNLOAD THE LATEST RELEASE FROM VISUALMICRO.COM Arduino for Atmel Studio is a simple and fully compatible alternative to the Arduino IDE. Compatible with all Arduino versions including 1.6.1. With Visual Micro, your source code remains fully compatible with the Arduino IDE, allowing either the Arduino Ide or Atmel Studio to be used as a code editor. Suitable for both novice and expert, supports multiple versions of Arduino within a single Atmel Studio instance. Simple setup. Installation takes less than 10 minutes and requires

Arduino IDE and Atmel Studio
A hozzászólás módosítva: Ápr 20, 2015
(#) saua hozzászólása Ápr 21, 2015 /
 
Sziasztok

Hall-effektus elvén működő ACS712-es modult próbálgatok arduino unoval. A modulnak 20A a méréstartománya, 1A/100mV felbontással.
ezen a fórumon Bővebben: Link a #48 -as hozzászólásnál találtam egy kis programot hozzá
  1. const int currentPin = 4;
  2. const unsigned long sampleTime = 100000UL;                           // sample over 100ms, it is an exact number of cycles for both 50Hz and 60Hz mains
  3. const unsigned long numSamples = 250UL;                               // choose the number of samples to divide sampleTime exactly, but low enough for the ADC to keep up
  4. const unsigned long sampleInterval = sampleTime/numSamples;  // the sampling interval, must be longer than then ADC conversion time
  5. //const int adc_zero = 522;                                                     // relative digital zero of the arudino input from ACS712 (could make this a variable and auto-adjust it)
  6. int adc_zero;                                                                   //autoadjusted relative digital zero
  7.  
  8. void setup()
  9. {
  10.   Serial.begin(9600);
  11.    adc_zero = determineVQ(currentPin); //Quiscent output voltage - the average voltage ACS712 shows with no load (0 A)
  12.   delay(1000);
  13. }
  14.  
  15. void loop(){
  16.   Serial.print("ACS712@A2:");Serial.print(readCurrent(currentPin),3);Serial.println(" mA");
  17.   delay(150);
  18. }
  19.  
  20. int determineVQ(int PIN) {
  21.   Serial.print("estimating avg. quiscent voltage:");
  22.   long VQ = 0;
  23.   //read 5000 samples to stabilise value
  24.   for (int i=0; i<5000; i++) {
  25.     VQ += analogRead(PIN);
  26.     delay(1);//depends on sampling (on filter capacitor), can be 1/80000 (80kHz) max.
  27.   }
  28.   VQ /= 5000;
  29.   Serial.print(map(VQ, 0, 1023, 0, 5000));Serial.println(" mV");
  30.   return int(VQ);
  31. }
  32.  
  33. float readCurrent(int PIN)
  34. {
  35.   unsigned long currentAcc = 0;
  36.   unsigned int count = 0;
  37.   unsigned long prevMicros = micros() - sampleInterval ;
  38.   while (count < numSamples)
  39.   {
  40.     if (micros() - prevMicros >= sampleInterval)
  41.     {
  42.       int adc_raw = analogRead(currentPin) - adc_zero;
  43.       currentAcc += (unsigned long)(adc_raw * adc_raw);
  44.       ++count;
  45.       prevMicros += sampleInterval;
  46.     }
  47.   }
  48.   float rms = sqrt((float)currentAcc/(float)numSamples) * (75.7576 / 1024.0);
  49.   return rms;
  50.   //Serial.println(rms);
  51. }


az áram számításánál ezt a részt egyáltalán nem értem :
átlagérték* (75.7576 / 1024.0), tehát mi az a 75,7576 ?
valami nem stimmel ezzel a számmal mert egy 230V/100W-os égővel 675 mA a mért érték és 430 körüli kellene legyen, és ráadásul 0,675mA -nek jelenik meg.
A hozzászólás módosítva: Ápr 21, 2015
(#) andykaaa válasza saua hozzászólására (») Ápr 21, 2015 /
 
Szerintem az a felbontas kell hogy legyen, az a valaki ilyen felbontassal hasznalta a kodot.
"ráadásul 0,675mA -nek jelenik meg", a tizedesvesszot leget mozgatni.
A hozzászólás módosítva: Ápr 21, 2015
(#) saua válasza andykaaa hozzászólására (») Ápr 21, 2015 /
 
persze a tizedesvesszőt lehetne mozgatni, vagy a 16. sorban egyszerűen átírni a miliampert amperre...de a program állítólag így jó.
Ezek a modulok csak 185mV/A, 100mV/A és 66mV/A felbontásban vannak...75,7576 nincs
A hozzászólás módosítva: Ápr 21, 2015
Következő: »»   103 / 850
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem