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   376 / 854
(#) wbt válasza world-s hozzászólására (») Aug 14, 2017 /
 
Nem tudom, mennyi színt szeretnél használni és mennyi memóriád van (ROM). Én 99%-ban palettát használok, így a színek tárolása csak 1 byte, a paletta meg tetszőleges, igaz megeszik 768 byte-ot a ROMból. (már ha nem találok ki más sületlenséget, akkor annyi *). Lehet használni még numerikus, 332 vagy 323 színkezelést, ilyen esetben, ha átmenet kell, akkor azt lineáris közelítéssel szoktam csinálni már a palettából kiolvasott RGB adatokon, akkor nem látszik ugrás, bár sajnos ez is eszi a memóriát (mi kell / most mennyi /hova tart, igaz lehet röptében is számolni, de még van memóriám, nem sanyargatom magam).
(#) szarka.p hozzászólása Aug 14, 2017 /
 
Hello mindenkinek.
Fordításkor ez a hiba mit akar jelenteni:

collect2.exe: error: ld returned 1 exit status
Hiba a fordítás során.

Köszönöm.
(#) berkesandor hozzászólása Aug 14, 2017 /
 
Sim800l modul-t szeretnék használni.
Indulás után küldöm neki az AT parancsokat, pár után jön is vissza az "ok".
Ha még egyszer küldök neki AT-t, "ok" jön vissza, a harmadikra viszont egy kocka a válasz.
Hiába próbálom a baud rate-t fix értékre állítani, nem fogadja el.
Ilyenkor merre van a tovább? Tanácstalan vagyok...
(#) RoliNyh hozzászólása Aug 14, 2017 /
 
Még egy gyors kérdés így estére.
Attiny85 kimenetére LED -et melyík táp felé érdemes bekötni? Tápfesz vagy test felé?
A hozzászólás módosítva: Aug 14, 2017
(#) bbb válasza RoliNyh hozzászólására (») Aug 14, 2017 /
 
Attól függ, hogy a magas szinten akarod, hogy világítson, vagy alacsony szinten (0, v. 1)
(#) Panhard válasza berkesandor hozzászólására (») Aug 15, 2017 /
 
Szia. Minden AT-ra OK-nak kell visszajönni. Ha ezer AT-t küldesz, akkor ezer OK-nak kell visszajönni. Hogy jött, hogy SIM800 modult akarsz használni? Mire akarod használni? Mivel küldöd neki a parancsokat? Milyen terminál programból? Milyen USB-s FTDI adaptert használsz? Szintillesztés jó? A sebesség hibás beállításán, és a szintillesztésen kívül mást nagyon nem lehet elrontani a kapcsolattal. Ráadásul a SIM800 is alapértelmezetten autobaudrate-re van beállítva, ami annyit tesz, hogy bekapcsolás után addig küldöd neki az AT parancsot, amíg vissza nem küldi az OK-t. Ekkor kész, beállította magát, és a kikapcsolásig ez lesz a sebessége. De persze menet közben is tudod módosítani.
Ne érts félre, nem bántásból írom, de ha egy ilyen egyszerű dolognál elakadsz, és tanácstalan vagy, hogy egy uart kapcsolat létrehozásánál egy eszközzel nehézségekbe ütközöl, akkor szerintem nem SIM800 modullal kellene kezdened, és nem ebben a topicban. A sebesség hibás beállításán, és a szintillesztésen kívül mást nagyon nem lehet elrontani.

sim800.jpeg
    
(#) berkesandor válasza Panhard hozzászólására (») Aug 15, 2017 /
 
Azért kell a SIM800 mert, SMS-t akarok küldeni, meg hívni szeretnék vele .
AT parancsokat arduinon keresztül soros monitoron küldöm neki.
Szintillesztés jó. Tudom mi az autobaudrate, tudom hogyan lehet állítani a kapcsolat sebességét.
De ha nem jön létre a kapcsolat, nem tudok semmit állítani.
(#) wbt válasza RoliNyh hozzászólására (») Aug 15, 2017 / 1
 
Általában az alsó tranzisztorok erősebbek szoktak lenni illetve a 0-szint igen csak GND, tehát adja, a tápfesz felöli LED-meghajtást, de néhány alkalmazásban nem javasolt (külön tápon a LED és a uC), mert a LED-en keresztül kaphat tápfeszt a PORT úgy, hogy a uC tápja nem épült fel. Ha kisfogyasztású LED-et hajtasz meg, betartva a max áramokat, akkor mindegy, hogyan hajtod (3.3V-os tápról nem biztos, hogy elég lesz mondjuk kék LEDhez a kimeneti 1-szint, azt alulról érdemesebb hajtani)
(#) RoliNyh válasza bbb hozzászólására (») Aug 15, 2017 /
 
Nem erre vonatkozott a kérdés...
(#) RoliNyh válasza wbt hozzászólására (») Aug 15, 2017 /
 
Ok, valami ilyesmire voltam kíváncsi...
(#) trickentrack hozzászólása Aug 15, 2017 /
 
Sziasztok!
A CNC építéses topicban kértem segítséget.
Idézet:
„Sziasztok!

Elkezdtem építeni egy egyszerű cnc gépet arduino segítségével. Ez a dolog még nagyon idegen nekem ez az első ilyen projektem. A programot úgy találtam egy youtube videóban. Működését tekintve nincs is vele gond, csak az, hogy a program "nagyobb felületre" van írva. Tehát tovább akar venni a "kocsi" mint amennyire tudna. Elég hülyén sikerült megfogalmazzam, de máshogy nem tudom!
Meg tudnátok mondani, hogy melyik értékkel lehet ezt beállítani és hol?

Előre is köszönöm!”


Ahonnan @csatti2 fórumtár ide irányított, hogy nem érdemes ilyen "gagyi" kódokkal szórakozni, mivel van egy GRBL nevű projekt.
Idézet:
„Nem biztos, hogy érdemes feltalálnod a meleg vizet ebben az esetben (ha viszont mégis, akkor inkább az Arduino fórumon kérdezd meg ezt szerintem). Létezik ugyanis egy GRBL nevű projekt, ami jelenleg szintén arduino kártyákon fut (de nem arduino, hanem rendes C, már fejlesztik viszont hozzá az ARM-os programot is) és fényévekre van ettől az ócska kis kódtól. Lehet hozzá bagóért shield-et venni ebayen, amibe akár bele teheted a kis teljesítményű léptető meghajtókat is (ha azok elegek a gépedhez).”


Tudnátok nekem ebben segíteni, hogy mi ez konkrétan és mi kell hozzá?

Előre is köszönöm!
(#) Kera_Will válasza trickentrack hozzászólására (») Aug 15, 2017 /
 
Ha már kaptál útba igazítást akkor keresd fel az adott eszköz publikációit olvasd át és akkor sokkal közelebb leszel a kérdésekhez is, amit konkrétabban a problémáidra utalnak.
Így csak a levegőbe lóg a felvetésed.
(google a barátod és a kereső szó : GRBL esetleg mellé írva hogy CNC arduino )
A hozzászólás módosítva: Aug 15, 2017
(#) RoliNyh válasza trickentrack hozzászólására (») Aug 15, 2017 /
 
Nem vagyok egy nagy CNC -s, de ezt az értéket nem a vezérlő programban szokták beállítani/kalibrálni? Úgy mint a gép paraméterei, sebessége, végálláskapcsolók, orsófordulatszám (ha tudja kezelni),
szerszám méretei meg még vagy kitudja hány száz paramétert stb...
Nézd meg a Mach3 cnc vezérlőt...
A hozzászólás módosítva: Aug 15, 2017
(#) geko hozzászólása Aug 16, 2017 /
 
Sziasztok!

Arduino Leonardo boardra szeretnék SPI porton keresztül, több eszközzel kommunikálni. Jelen esetben egy ethernet modullal (W5100 HR911105A) és egy SD modullal (ami ilyen). A problémám az hogy, nem tudom ezeket az eszközöket együtt működésre bírni. Külön külön működnek de együtt nem.
Illetve általában csak ez SD működik az ethernet modul a Ethernet.begin(); résznél meghal és nem csatlakozik.

Az eszközöket az Arduino eszköz ICSP portjára csatlakoztattam a MISO, MOSI, SCK összekötöttem.
Az ethernet SS-t a 10-es digitális portra csatlakoztattam. Az SD SS-t a 4-es digitális portra.

Kipróbáltam Mega2560 -as boardon is és másik ethernet hardwerrel, de ugyanaz a hiba.

Máshol azt tanácsolták, hogy használjak másik SD modult. (pl ezt)

test.ino
    
(#) tbarath válasza geko hozzászólására (») Aug 16, 2017 /
 
Idézem: "tl;dr pin must be used to select the SD card. This can be the hardware SS pin - pin 10 (on most Arduino boards) or pin 53 (on the Mega) - or another pin specified in the call to SD.begin(). Note that even if you don't use the hardware SS pin, it must be left as an output or the SD library won't work."

Próbáld meg 10-es helyett más pin-nel.
(#) geko válasza tbarath hozzászólására (») Aug 16, 2017 /
 
Igen ezt már én is olvastam, és próbáltam is másik lábon is. De így sem működött..
(#) KoblogPerGyok válasza geko hozzászólására (») Aug 16, 2017 /
 
Szia!

Az Ethernethez melyik libet használod? Linket tudsz küldeni? Illetve ezen a shielden van micro sd, az nem jó?

A shielden lévő SD olvasó is a 4-re kapcsolódik nem? Ezzel gond van, mert ugyanarra a pinre akarod tenni az extra olvasót.

Próbáld ki, hogy csak az Ethernet shieldet haszálod, a 4-re high, majd azután próbáld elindítani az ethernetet. Küzdj vele addig amíg az nem stabil, illetve próbáld meg a beépített micro sd-t is elindítani rajta. Ha az megy, akkor próbálkozz az extra sd-val, de másik lábon! Így már 3 eszközzel kell kommunikálnod!
(#) KoblogPerGyok válasza geko hozzászólására (») Aug 16, 2017 /
 
http://www.mouser.com/catalog/specsheets/A000056_DATASHEET.pdf

Ha tényleg jól értem amit csináltál, akkor az a god amit írtam. A fenti linkben írják, hogy ugyan nincs sd lib mellékelve, de mivel közös az SPI ezért mielőtt az ethernet shield-et akarod használni, a 4-es lábra, vagy ami nálad a shield sd-t kapcsolgatja high. MErt egyszerre nem használhatod őket.

Ha ezzel megy, akkor az extra olvasó, de annak az ss lába már 4 nem lehet.
(#) Kovidivi hozzászólása Aug 16, 2017 /
 
Sziasztok!
Van egy normál RC távirányítós autóm, és zavart, hogy nem tudtam tuningolni a távirányítóját, plusz szépen lassan lecsökkent a hatótávolsága is, új elemek sem segítettek. Van másik távom, így kvarc cserével kiderült, hogy a távirányítóval van gond. Az 1m-es antennáját se szerettem, és azt se, hogy a hatótáv szélén az autó elkezdett össze vissza menni.
Kapott a táv. egy Arduino nano-t, egy külső antennás RF24l-t, és egy db 18650-es lithium akksit (az eredeti 8db AA cella helyett). Implementáltam minden korábbi funkciót, plusz visszajelez az adó, ha a vevő túl messze van. A 2 éves fiam is szeretne játszani az autóval mindig, de neki kicsit erős egy 1/10-es modell, így beépítek egy plusz kapcsolót, ami limitálja az autó sebességét minimálisra. Az autón levő lámpák is kapcsolhatóak lesznek. Kb. 10 csatornáig nem lesz problémám, jelenleg 2 van a programban, a vevőn 5db-ot készítettem elő. A képek szörnyűek, de 2 gyerek mellett az ember nem foglalkozik ilyen dolgokkal, örül, ha kész van valami
A távirányítón kívülről csak az antenna tűnt el, helyén rendes wifi antenna van. 10 óra üzemidőt saccolok, amit powerbankra kapcsolva addig tol ki az ember, ameddig akar.
A hozzászólás módosítva: Aug 16, 2017
(#) roland9 hozzászólása Aug 17, 2017 /
 
Sziasztok!

Egy olyan problémával fordulnék hozzátok, hogy ha ARDUINO UNO-ra van fel programozva a következő kód akkor az hibátlanul müködik, viszont ha ugyan ezt a kódot ARDUINO MEGA-ra fordítom ott nem csinál semmit. (Az encoder jól van bekötve).
Tudna valaki segíteni?

  1. int aState;
  2. int aLastState;
  3.  
  4. static int pinA = 2; // Our first hardware interrupt pin is digital pin 2
  5. static int pinB = 3; // Our second hardware interrupt pin is digital pin 3
  6. static int enSW = 49;
  7.  
  8. volatile byte aFlag = 0; // let's us know when we're expecting a rising edge on pinA to signal that the encoder has arrived at a detent
  9. volatile byte bFlag = 0; // let's us know when we're expecting a rising edge on pinB to signal that the encoder has arrived at a detent (opposite direction to when aFlag is set)
  10. volatile uint16_t encoderPos = 0; //this variable stores our current value of encoder position. Change to int or uin16_t instead of byte if you want to record a larger range than 0-255
  11. volatile uint16_t
  12. oldEncPos = 0; //stores the last encoder position value so we can compare to the current reading and see if it has changed (so we know when to print to the serial monitor)
  13. volatile byte reading = 0; //somewhere to store the direct values we read from our interrupt pins before checking to see if we have moved a whole detent
  14.  
  15.  
  16.  
  17. void setup() {
  18.   aLastState = digitalRead(pinA);
  19.   pinMode(enSW, INPUT_PULLUP);
  20.   pinMode(pinA, INPUT_PULLUP);
  21.   pinMode(pinB, INPUT_PULLUP);
  22.   attachInterrupt(0,PinA,RISING);
  23.   attachInterrupt(1,PinB,RISING);
  24.   Serial.begin(9600);
  25. }
  26.  
  27. void loop() {
  28.    Serial.println(encoderPos);
  29. }
  30.  
  31. void PinA(){
  32.   cli(); //stop interrupts happening before we read pin values
  33.   reading = PIND & 0xC; // read all eight pin values then strip away all but pinA and pinB's values
  34.   if(reading == B00001100 && aFlag) { //check that we have both pins at detent (HIGH) and that we are expecting detent on this pin's rising edge
  35.     encoderPos --; //decrement the encoder's position count
  36.     bFlag = 0; //reset flags for the next turn
  37.     aFlag = 0; //reset flags for the next turn
  38.   }
  39.   else if (reading == B00000100) bFlag = 1; //signal that we're expecting pinB to signal the transition to detent from free rotation
  40.   sei(); //restart interrupts
  41. }
  42.  
  43.  
  44. void PinB(){
  45.   cli(); //stop interrupts happening before we read pin values
  46.   reading = PIND & 0xC; //read all eight pin values then strip away all but pinA and pinB's values
  47.   if (reading == B00001100 && bFlag) { //check that we have both pins at detent (HIGH) and that we are expecting detent on this pin's rising edge
  48.     encoderPos ++; //increment the encoder's position count
  49.     bFlag = 0; //reset flags for the next turn
  50.     aFlag = 0; //reset flags for the next turn
  51.   }
  52.   else if (reading == B00001000) aFlag = 1; //signal that we're expecting pinA to signal the transition to detent from free rotation
  53.   sei(); //restart interrupts
  54. }
A hozzászólás módosítva: Aug 17, 2017
(#) KoblogPerGyok válasza roland9 hozzászólására (») Aug 17, 2017 /
 
Szia!

Gyors próbát megér:

  attachInterrupt(0,PinA,RISING);
  attachInterrupt(1,PinB,RISING);

Helyett:

  attachInterrupt(pinA,PinA,RISING);
  attachInterrupt(pinB,PinB,RISING);

Kissé zavaró, hogy nagyon hasonló elnevezésűek a lábak és a függvények. Gondolom ez nem okoz gondot, mert érzékeny a kis és nagybetűkre, de a helyedben a függvényeket átnevezném pl egy "_" karakter hozzáadásával, biztos ami biztos.

Valamint :

Idézet:
„For example, if you connect to pin 3, use digitalPinToInterrupt(3) as the first parameter to attachInterrupt.”


Idézet innen:
Bővebben: Link

  attachInterrupt(digitalPinToInterrupt(pinA),PinA,RISING);
  attachInterrupt(digitalPinToInterrupt(pinB),PinB,RISING);
A hozzászólás módosítva: Aug 17, 2017
(#) urh hozzászólása Aug 17, 2017 /
 
Sziasztok!
Van egy alábbi modulom!
Szeretnék rajta PIN illetve NAME változtatást csinálni.

Bővebben: Link

  1. #include <SoftwareSerial.h>
  2.  
  3. SoftwareSerial BTSerial(10, 11); // RX | TX
  4.  
  5. void setup()
  6. {
  7.   pinMode(9, OUTPUT);
  8.   digitalWrite(9, HIGH);
  9.   Serial.begin(9600);
  10.   Serial.println("Enter AT commands:");
  11.   BTSerial.begin(9600);
  12. }
  13.  
  14. void loop()
  15. {
  16.  
  17.  
  18.   if (BTSerial.available())
  19.     Serial.write(BTSerial.read());
  20.  
  21.  
  22.   if (Serial.available())
  23.     BTSerial.write(Serial.read());
  24. }


Találtam egy ilyen kódot, de nem jártam sikerrel.
Semmi reakció.
A modul működik viszont, mert lehet rá csatlakozni, csak nincs neve.
(#) nedudgi válasza urh hozzászólására (») Aug 17, 2017 /
 
Úgy próbáld meg a parancsokat, hogy nincs vezeték nélküli kapcsolat.
(#) urh válasza nedudgi hozzászólására (») Aug 17, 2017 /
 
Valamiért ez az átkozott 1200-as BAUD1-re állt át. Ezért nem működött. De már megoldottam vissza raktam nagy nehezen 9600-ra BAUD4-re és tökéletesen működik.
(#) urh hozzászólása Aug 17, 2017 /
 
A következő problémám az, hogy hogyan tudnám megcsinálni a leg-leg egyszerűbben egy Motor Shielden keresztül 2db DC motor ki-be kapcsolását. Csatoltam , hogy milyen shieldem van. Úgy kéne megoldani, hogy nem akarom az arduino tetejére rányomni, mert akkor az összes nem használt pint is lefogja. Tehát a legminimálisabb PIN felhasználásával kellene ezt megoldani. A már foglalt PIN-ek 0/1/5V/GND (itt komunikál a BT module). A motornak nem kell semmi sebességet állítani, csak be/ki.

Ezt próbáltam így működik is, de szeretném Shielden keresztül (esztétikusabb+jó lenne azt is megismerni).

Bővebben: L293D 2DC Motor Direct

Előre is hatalmas köszönet.
(#) roland9 válasza KoblogPerGyok hozzászólására (») Aug 18, 2017 /
 
szia
sajnos egyik megoldásban sem akar működni a MEGA, viszont az UNO

ezen kívül: attachInterrupt(pinA,PinA,RISING);
attachInterrupt(pinB,PinB,RISING);

mindegyikkel megoldással működik.
(#) gerleimarci válasza urh hozzászólására (») Aug 18, 2017 /
 
Szerintem cseréld ki a tüskesort ilyenre, a nem használt IC-t meg egyszerűen kiveszed.
(#) KoblogPerGyok válasza roland9 hozzászólására (») Aug 18, 2017 /
 
Az Arduino IDE-ben az alappanelt megváltoztattad gondolom.

Nézelődök a neten még, de nem nagyon találok hibát sehol sem.
(#) urh válasza gerleimarci hozzászólására (») Aug 18, 2017 /
 
Azt mindenképpen le akarom cserélni, de attól még nem fogom sajnos érteni, hogy hogyan kéne mondjuk az M1-et működésre bírni a legegyszerűbb módon.
(#) gerleimarci válasza urh hozzászólására (») Aug 18, 2017 /
 
Ha jól nézem, akkor ez az Adafruit félének a koppintása, amihez van lib és példaprogi, amiket megtalálsz itt. Vagy ha ez nem tetszik, akkor a shiftout-al is mehet, bár ahhoz kell egy nagyon picit gondolkodni.
Következő: »»   376 / 854
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