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   324 / 839
(#) airwalker válasza KoblogPerGyok hozzászólására (») Feb 20, 2017 /
 
A MISO és SCK lábak nem jó helyen voltak, már működik! Köszi
(#) sad_Vamp válasza Kera_Will hozzászólására (») Feb 21, 2017 /
 
Köszi! összenézem a dolgokat, megpróbálok valamit összetákolni, utána kereshetlek az ügyben?
(#) tomi52 hozzászólása Feb 22, 2017 /
 
Üdv Mindenkinek!
Valamikor 1000 éve elég jól ismertem a C nyelvet, de koromnál fogva én már csak felejtek. Azt szeretném kérdezni, ha van egy uint16_t típusú tömböm, hogyan is kell megadni, hogy ugyan erre a helyre tegyek rá egy uint8_t típusú tömböt?
(#) _BiG_ válasza tomi52 hozzászólására (») Feb 22, 2017 / 1
 
Union használatával megoldható. Az unionnak két tagja lesz, egy uint16_t és egy uint8_t tömb, a kezdőcímük azonos lesz, de a két tömbre külön-külön lehet hivatkozni a neveikkel.
(#) KoblogPerGyok válasza tomi52 hozzászólására (») Feb 22, 2017 /
 
A pointert akarod lecserélni alatta, vagy az adatokat is?
(#) tomi52 válasza KoblogPerGyok hozzászólására (») Feb 22, 2017 /
 
8 bitesen beolvasni, 16 bitesen feldolgozni.
(#) tomi52 válasza _BiG_ hozzászólására (») Feb 22, 2017 /
 
Köszönöm, megoldva!
(#) Krisz03 hozzászólása Feb 23, 2017 /
 
Helló!

Kb 2 hónapja ismerkedem, tanulgatom az Arduino programozását. Csak úgy szépen az alapoktól elkezdve (led, gombok, analóg bemenet, pwm, lcd, dht11, szervo, stb). Főként youtube-ról szedem az ötleteket, és most szeretnék készíteni egy távirányítós (bluetooth) kisautót. Amíg megjön kínából a készlet az autóhoz, addig a többi részegységgel foglalkozom. Az L298N modul vezérlése már érthető, nyomógombokkal megy a négy irány és a fordulatszám állítása is.

Most a HC-06 modul van soron, és ez a videó az ismeretanyag: Bővebben: Link. A szintillesztőre még szintén várok, így ellenállásosztót használok a Tx és az Rx lábakon is (1+2kOhm). Az Android applikáció ugyanaz, mint a videóban, az Arduino kód pedig ez:

  1. #define ledPin 13
  2. char val;
  3. void setup() {
  4.   pinMode (ledPin, OUTPUT);
  5.   Serial.begin(9600);
  6. }
  7. void loop() {
  8.   if (Serial.available()) {
  9.     val = Serial.read();
  10.     if (val == '1') {
  11.       digitalWrite(ledPin, HIGH);
  12.     }
  13.     if (val == '0') {
  14.       digitalWrite(ledPin, LOW);
  15.     }
  16.   }
  17. }


Egyszerűen csak a 13-as lábra kötött LED-et szeretném ki-be kapcsolni, de nem megy. A telefon kapcsolódik a modulhoz, a piros és a kék LED is folyamatosan világít a kapcsolódást követően. De utána hiába bökdösöm a jelölőnégyzetet, nem történik semmit sem. Ha jól gondolom 4 helyen lehetne a hibát keresni:

1) Hibásan fut az Arduino-ban a program. Szerintem ez kilőve, mert soros monitoron kiküldve az 1 és 0 karaktereket, a LED úgy működik, ahogy kell.

2) Az ellenállásosztó nem megfelelő. A modul Rx és Tx lába is 1-1db 2kOhm-mal testen, illetve 1-1db 1kOhm-mal az Arduino megfelelő (Tx és Rx) lábain.

3) A telefon és a modul közötti kommunikáció nem működik.

4) A modul és az Arduino közötti kommunikáció nem működik.

Ötletem sincs, hogy ez utóbbiakat hogyan ellenőrizhetném. Annyit tudok, hogy programozáskor az Rx, Tx lábakat le kell kötni, mert zavart okozhat. Ebből kiindulva gondoltam arra (hátha visszafelé is zavarják egymást), hogy nem USB-ről táplálom az UNO-t, hanem külső tápról. De nincs javulás.

A segítségeteket szeretném kérni, a továbblépéshez.
(#) atus1981 válasza Krisz03 hozzászólására (») Feb 23, 2017 /
 
A fizikai rx-tx vonalon van beépített ellenállás sorban a kivezetéssel. Miért kell a szint illesztő? 3,3 V-on járatod a BT modult? Ha 5 V a tápfesze a hc-06-nak is, akkor felesleges a szintillesztés, legalábbis én nem használtam, mondjuk nem is a 0-1 lábakkal kommunikáltam, hanem softwareserial-lal oldottam meg a dolgot.
(#) Krisz03 válasza atus1981 hozzászólására (») Feb 23, 2017 /
 
5V-on használom, de több helyen is olvastam, hogy 3.3V-os jelszintet kíván. A modul hátán is szerepel ez a felirat. Bár ugyanolyan sok helyen láttam szintillesztés nélkül is.
Lényeg a lényeg, kipróbáltam, hogy közvetlen kötöm be, és úgy sem üzemel.
(#) atus1981 válasza Krisz03 hozzászólására (») Feb 23, 2017 /
 
Nincs felcserélve a tx-rx?
(#) Krisz03 válasza atus1981 hozzászólására (») Feb 23, 2017 /
 
Nincs. Modul Rx az Uno Tx-hez és fordítva.
(#) kiborg válasza Krisz03 hozzászólására (») Feb 23, 2017 /
 
Telefon és a modul össze van párosítva? PIN-t beírtad neki?
A telefonos applikáció működőképes? Azt csinálja amit kell, látod valahol, hogy összecsatlakozott a modullal?
(#) atus1981 válasza Krisz03 hozzászólására (») Feb 23, 2017 /
 
Nincs más ötletem,, próbáld meg a 8-9 lábat softwareserial-lal.
(#) sakrafi hozzászólása Feb 23, 2017 /
 
Üdv!
Aki esetleg a Sublime Text programot használja a Stino-ST4ArduinoIDE pluginnal Arduino programozáshoz, annak talán hasznos lehet a plugin magyarítása.A fájlt csak be kell másolni a Stino főmapáján belül a preset mappába és utána programon belül átálítani a nyelvet.A plug a GitHub-ről tölthető.

lang_hu.txt
    
(#) Krisz03 válasza kiborg hozzászólására (») Feb 23, 2017 /
 
Természetesen párosítva van, az alapértelmezett 1234 kódot kérte. Az app jelzi, hogy kapcsolódott, és a modulon is átvált a villogásról a folyamatos világításra a LED.

De annak már nincs jele, hogy a jelölőnégyzetet kipipálva átküldené-e az 1-es számot, illetve eltüntetve a pipát a 0 számot.
(#) Krisz03 válasza atus1981 hozzászólására (») Feb 23, 2017 /
 
Semmi változás. Ez sem csinál semmit:

  1. #include <SoftwareSerial.h>
  2. char c;
  3. int  LED = 13;
  4.  
  5. SoftwareSerial mySerial(8, 9);
  6.  
  7. void setup()
  8. {
  9.   pinMode(LED, OUTPUT);
  10.   mySerial.begin(9600);
  11. }
  12.  
  13. void loop()
  14. {
  15.   while (!mySerial.available());
  16.   c = mySerial.read();
  17.   if (c == '1')
  18.   {
  19.     digitalWrite(LED, HIGH);
  20.   }
  21.   if (c == '0')
  22.   {
  23.     digitalWrite(LED, LOW);
  24.   }
  25. }
(#) nzozz hozzászólása Feb 23, 2017 /
 
Sziasztok!
Milyen szimulátort tudnátok ajánlani, amivel tesztelni lehetne az Arduinohoz írt programokat? Egyrészt maga az Arduino hardver is hiányzik még, másrészt az életben nem próbáltam még saját készítésű programokat használni, úgyhogy célszerűbbnek látom a virtuális tesztelést első körben.
Van egy projekt amit szeretnék majd valamilyen arduinos rendszerrel megoldani, ahol bemenetként 6db kapcsolót, 1 analóg szenzort (nyomásmérő szenzor, vízhez), kimenetként 2db relét és pár LED -et kéne majd kezelni illetve valahogy egy időzítést megoldani (minden nap, x ideig működjenek bizonyos funkciók). Nyilván nem fog összejönni egyik napról a másikra, de majd egyszer csak elkészül... Ehhez melyik arduino hardvert javasolnátok?

Köszönöm
(#) tbarath válasza nzozz hozzászólására (») Feb 24, 2017 /
 
Virtuálisan mit tesztelnél a vázolt projekten? Mert a compiler eldönti hogy lefordul-e, de a többihez komplett áramkörszimuláció kellene. Ami önállóan létezik, de hogy arduinoval összehozták-e, hát passz. Szerintem inkább nem, de hátha tévedek.

A leírt igényeknek egyébként bármelyik megfelel a lilypad és hasonlók kivételével, de talán még azok is. Én Uno-t javasolnék ha akarsz valamilyen shield-et használni, mert az leginkább ahhoz van. Ha nem, akkor inkább Nano, mert kb. ugyanazt tudja, de olcsóbb, kisebb és breadboard-ba dugható/próbanyákba forrasztható. Persze vannak olcsóbb cuccok (pl. pro mini), de ezekről nincs tapasztalatom. Nano klón kb. 700 Ft körül rendelhető Kínából, amire persze várni kell pár hetet, hacsak nincs Tarján körül valaki aki megszánna beker áron. Tavir.hu-n amúgy 2000 Ft az ára amire a szállítás is rájön, szóval ha sürgős akkor az se olyan húdedrága...
(#) vargham válasza nzozz hozzászólására (») Feb 24, 2017 /
 
(#) icserny válasza nzozz hozzászólására (») Feb 24, 2017 / 1
 
(#) tbarath válasza vargham hozzászólására (») Feb 24, 2017 /
 
Ez a circuits.io ingyenes? Mert az autodesk nem épp erről híres...

Amúgy jónak tűnik, lehet regisztrálok rá.
(#) andyka válasza nzozz hozzászólására (») Feb 24, 2017 /
 
Proteus Design, portable-t is lehet talalni
A hozzászólás módosítva: Feb 24, 2017
(#) sanca29 hozzászólása Feb 24, 2017 /
 
Sziasztok, olyan kapcsolást keresek Pic , vagy arduino felhasználásával, programmal együtt, ami egy szervomotort vezérel, adott esetben egy fényforrás megszűnésekor PWM jelet állít elő egy szervó működtetéséhez ,mondjuk negyed fordulatot tegyen meg gyors sebességgel.
(#) vargham válasza tbarath hozzászólására (») Feb 24, 2017 /
 
Ingyenes. Nem csak Arduinot szimulál, hanem össze tudsz rakni komplexebb áramköröket is. Sajnos elég erőforrásigényes, így lassú is. Simán rakhatsz az Arduino mellé shift registert, miegymást.
(#) sany válasza Krisz03 hozzászólására (») Feb 24, 2017 /
 
Szia!
Próbáld meg így. Nekem is így működik valamiért a soros kommunikáció. Az available() függvénnyel nálam sem működik valamiért a soros port.
  1. #define ledPin 13
  2. char val;
  3.  
  4. void setup() {
  5.   pinMode (ledPin, OUTPUT);
  6.   Serial.begin(9600);
  7. }
  8. void loop() {
  9. val = Serial.read();
  10. switch(val){
  11.         case '0':
  12.         digitalWrite(ledPin,HIGH);
  13.         break;
  14.  
  15.         case '1':
  16.         digitalWrite(ledPin,LOW);
  17.         break;  
  18.         }
  19. }
A hozzászólás módosítva: Feb 24, 2017
(#) sany hozzászólása Feb 24, 2017 /
 
Most ismerkedek az arduino programnyelv és C# (Csharp) programnyelv összekapcsolásával. Egy LED PWM vezérlést szeretném megvalósítani megvalósítani. Addig eljutottam, hogyha fix értéket adok meg akkor működik a PWM szabályozás. De ha pl. trackbar (csúszka) elemmel csinálom a vezérlést akkor nem a csúszka aktuális értéket adja át a soros porton.

Arduino kód:

  1. define LED1  9
  2. #define LED2 13
  3. char soros_port_adat;
  4.  
  5. void setup()
  6.  
  7. {
  8.  
  9.   pinMode(LED1, OUTPUT);  
  10.   pinMode(LED2,OUTPUT);
  11.   Serial.begin(9600);
  12. }
  13.  
  14. void loop()
  15.  
  16. {
  17.  soros_port_adat = Serial.read();
  18.      //verify incomingOption
  19.      switch(soros_port_adat){
  20.         case '0':
  21.        
  22.         analogWrite(LED1, 255);
  23.         digitalWrite(LED2,HIGH);
  24.           break;
  25.  
  26.         case '1':
  27.      
  28.           analogWrite(LED1, 0);
  29.               digitalWrite(LED2,LOW);
  30.           break;
  31.  
  32.          case '2':
  33.  
  34.           analogWrite(LED1, 127);
  35.               digitalWrite(LED2,LOW);
  36.           break;    
  37.      }
  38. }


C# kód:

  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Windows.Forms;
  9.  
  10. namespace PWM_proba
  11. {
  12.     public partial class Form1 : Form
  13.     {
  14.         public Form1()
  15.         {
  16.             InitializeComponent();
  17.             serialPort1.Open();
  18.  
  19.         }
  20.  
  21.         private void Form1_FormClosed(object sender, FormClosedEventArgs e)
  22.         {
  23.             serialPort1.Close();
  24.         }
  25.  
  26.         public void trackBar1_Scroll(object sender, EventArgs e)
  27.         {
  28.             int ertek = 0;
  29.  
  30.             textBox1.Text = Convert.ToString(trackBar1.Value);
  31.  
  32.             ertek = trackBar1.Value;
  33.  
  34.             try
  35.             {
  36.  
  37.                 serialPort1.Write(Convert.ToString(trackBar1.Value));
  38.             }
  39.             catch (Exception ex)
  40.             {
  41.                 MessageBox.Show(ex.Message);
  42.             }
  43.  
  44.         }
  45.  
  46.         private void button1_Click(object sender, EventArgs e)
  47.         {
  48.             trackBar1.Value = 0;
  49.             try
  50.             {
  51.                 serialPort1.Write("1");
  52.                 textBox1.Text = Convert.ToString(0);
  53.             }
  54.             catch (Exception ex)
  55.             {
  56.                 MessageBox.Show(ex.Message);
  57.  
  58.             }
  59.         }
  60.  
  61.         private void button2_Click(object sender, EventArgs e)
  62.  
  63.         {
  64.  
  65.             trackBar1.Value = 255;
  66.             try
  67.             {
  68.  
  69.                 serialPort1.Write("0");
  70.                 textBox1.Text = Convert.ToString(255);
  71.             }
  72.             catch (Exception ex)
  73.             {
  74.                 MessageBox.Show(ex.Message);
  75.             }
  76.  
  77.         }
  78.  
  79.         private void button3_Click(object sender, EventArgs e)
  80.         {
  81.             trackBar1.Value = 127;
  82.             try
  83.             {
  84.                 serialPort1.Write("2");
  85.                 textBox1.Text = Convert.ToString(127);
  86.             }
  87.  
  88.             catch (Exception ex)
  89.             {
  90.                 MessageBox.Show(ex.Message);
  91.             }
  92.  
  93.         }
  94.     }
  95. }


Esetleg tudnátok segíteni? Előre is köszönöm!
A hozzászólás módosítva: Feb 24, 2017
(#) szitko válasza sany hozzászólására (») Feb 24, 2017 /
 
A "csúszkás" program, hogy néz ki?
(#) KoblogPerGyok válasza sany hozzászólására (») Feb 25, 2017 /
 
Szia!
Ha jól gondolom, akkor a button-okkal megy, csak a scroll-nál lesz más ugye? Azaz, a C# kódban a scroll működik, azaz a textbox is felveszi az értéket, stb, csak az arduino nem megfelelő értéket kap? A button-oknál meg minden ok?
(#) sany válasza KoblogPerGyok hozzászólására (») Feb 25, 2017 /
 
Igen valóban úgy van, ahogy írod. Már néhány megoldást kipróbáltam. De az érdekes , hogy scroll-kor az egyes pl. 81,103, stb. értéknél is bekapcsolja a LED -et. A gombokkal működik rendesen.
Következő: »»   324 / 839
Bejelentkezés

Belépés

Hirdetés
Lapoda.hu     XDT.hu     HEStore.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