Teade

Collapse

Foorumi reeglid.

Foorumi reeglistik on uuendatud. Palume tutvuda ja arvesse võtta.
See more
See less

Kas keegi tahaks aidata Arduino C++ kirjutamisega?

Collapse
X
 
  • Filter
  • Kellaaeg
  • Show
Clear All
new posts

    Kas keegi tahaks aidata Arduino C++ kirjutamisega?

    Vajaks abi progemisega. Ise saan asjast aru nii palju, et oskan seletada, mida vaja teha oleks. Sellega mu areng on aga ka lõppenud.

    #2
    Vs: Kas keegi tahaks aidata Arduino C++ kirjutamisega?

    Tahad Arduinot panna käituma nii, nagu soovid?
    Kaks varianti:
    * lappad juhendeid, näidiseid, katsetada koodikesi, küsid foorumist samm-sammult
    * allhange. Püstitad probleemi, ise ei proovi, saad valmis asja. Veidi kulukam vaid.
    Erilahendused.
    PS või mail.

    Comment


      #3
      Esimene variant on paari aasta jooksul läbi proovitud. Enamjaolt ei toimi ja ajakulu mõõtmatu. Tavaliselt tuleb abi mingite mõistatuste kujul. Paljudele selline õppimise viis sobib. Mind aga viivad asjast üha kaugemale. Ka pole mu eesmärk katsetada progemisega vaid saada projektile töötav lahendus.
      Nii et siis teine variant. Ainult kui kulukas on ”veidi kulukam”?

      Näiteks pusin praegu sellise asja kallal:
      4 mahtuvuse sensorit lülitavad thershold'i ületamisel sisse MIDI nootidest jada(sequence) - iga üks erineva. Oleks vaja vabaneda delay() ja kasutada millis() noodi pikkuste määramiseks, et samaaegselt saaks mitut sequence mängida.
      Ma saan millis() põhimõttest küll aru, aga kodeerimine käib üle mõistuse.
      viimati muutis kasutaja Scott; 09 May 2014, 03:17. Põhjus: järjestikpostitused kokku

      Comment


        #4
        Vs: Kas keegi tahaks aidata Arduino C++ kirjutamisega?

        Näita delay()'ga varianti.
        Kulukam on u. 400EUR.
        Erilahendused.
        PS või mail.

        Comment


          #5
          Vs: Kas keegi tahaks aidata Arduino C++ kirjutamisega?

          400EUR.
          Kahjuks pole need projektid, millega ma raha teenin. Mu võimalused piirduvad 50EUR+plus huvi asjaga tegeleda.

          Comment


            #6
            Vs: Kas keegi tahaks aidata Arduino C++ kirjutamisega?

            No kui on huvi asjaga tegeleda, siis ikka see esimene variant ju.
            Keegi oma vabast ajast ju sinu eest tööd tegema ei hakka.

            Oleks sul endal mingi kood ette näidata, siis võib olla mõni targem aitab üle vaadata ja sättida sealt kust vaja.
            Aga algusest lõpuni küll keegi seda sinu eest ei tee.

            Comment


              #7
              Vs: Kas keegi tahaks aidata Arduino C++ kirjutamisega?

              Olen ikka natuke koode kirjutanud ja arvan, et 50EUR on täitsa mõistlik pakkumine. Huvi all mõtlen huvi osaleda projektis, tegeleda huvitava probleemiga.
              400 eest tahaks saada juba kogu lahendust koos riist ja tarkvaraga ning hooldust installatsiooni jooksul. Kui nii ette kujutasite, siis võin eelarve tekkimisel ühendust võtta.

              Muide, minu kõige suuremat rõõmu valmistanud tegevused on olnud just oma vabast ajast kellelegi millegi tegemine - lihtsalt niisama. Sest raha pole kunagi midagi väärt.
              viimati muutis kasutaja oldbear; 09 May 2014, 15:22.

              Comment


                #8
                Vs: Kas keegi tahaks aidata Arduino C++ kirjutamisega?

                Mitte huvipakkuva probleemiga tegelemine on märksa kallim kui 400EUR.
                Aga see selleks.
                Näita oma olemasolevat koodi, kus delaydega pmst. töötab. Proovime selle millis'te peale üle viia.
                Kui seda pole näidata, peab keegi selle lihtsalt väljamõtlema. Selleke võiksid olla täitsa sina. Kood pole ju võõras.
                Erilahendused.
                PS või mail.

                Comment


                  #9
                  Vs: Kas keegi tahaks aidata Arduino C++ kirjutamisega?

                  OK! Vaataks siis.
                  Asi töötab mingil määral ka sellisena. Ainult kui sensorid saavad väga küllastatud, siis koos delay()dega läheb asi hirmus aeglaseks. Ja miilis()te peale tegemist olen üritanud juba ammu(korduvalt) ja teoreetiliselt saan aru, mis toimuma peaks, aga kuna ma õpin vaid näidete varal ja head sellist pole leidnud, siis ei ole ka hakkama saanud.

                  Kood:
                  #include <MIDI.h>
                  
                  #include <CapacitiveSensor.h>
                  byte note = 0;
                  int a=120; //threshold
                  int c=1; //midi channel
                  
                  
                  
                  
                  
                  
                  CapacitiveSensor   cs_2_3 = CapacitiveSensor(2,3);       
                  CapacitiveSensor   cs_2_4 = CapacitiveSensor(2,4);        
                  CapacitiveSensor   cs_2_5 = CapacitiveSensor(2,5);        
                  CapacitiveSensor   cs_2_6 = CapacitiveSensor(2,6);        // 10M resistor between send pin 2 and sensor pin 3, 4, 5, 6 
                  
                  
                  void setup()                    
                  {
                  
                  
                    Serial.begin(31250); //MIDI baudrate
                  }
                  
                  
                  void loop()                    
                  {
                    long start = millis();
                    long total1 =  cs_2_3.capacitiveSensor(30);
                    long total2 =  cs_2_4.capacitiveSensor(30);
                    long total3 =  cs_2_5.capacitiveSensor(30);
                    long total4 =  cs_2_6.capacitiveSensor(30);
                  
                  
                  
                  
                    //PAD 1/////////////////////////////////////////////
                  
                  
                    static int lastInput1 = 0;
                  
                  
                    int newInput1 = total1;
                  
                  
                    if((lastInput1 < a) && (newInput1 > a)) {
                  
                  
                  
                  
                      MIDI.sendNoteOn(54,127,c);
                      delay(300);
                      MIDI.sendNoteOn(58,127,c);
                      delay(300); 
                      MIDI.sendNoteOn(66,127,c);
                      delay(100);
                    }
                  
                  
                    if((lastInput1 > a) && (newInput1 < a)) {
                  
                  
                      MIDI.sendNoteOff(54,0,c);
                      MIDI.sendNoteOff(58,0,c);
                      MIDI.sendNoteOff(66,0,c); 
                  
                  
                    }
                  
                  
                    lastInput1 = newInput1;
                    delay(10);
                  
                  
                    //PAD 2/////////////////////////////////////////////
                  
                  
                    static int lastInput2 = 0;
                  
                  
                    int newInput2 = total2;
                  
                  
                    if((lastInput2 < a) && (newInput2 > a)) {
                  
                  
                  
                  
                      MIDI.sendNoteOn(68,127,c);
                      delay(100);
                      MIDI.sendNoteOn(70,127,c);
                      delay(100);
                      MIDI.sendNoteOn(73,127,c);
                      delay(100);
                      MIDI.sendNoteOn(75,127,c);
                      delay(100);
                    }
                  
                  
                    if((lastInput2 > a) && (newInput2 < a)) {
                  
                  
                      MIDI.sendNoteOff(68,0,c);
                      MIDI.sendNoteOff(73,0,c);
                      MIDI.sendNoteOff(70,0,c);
                      MIDI.sendNoteOff(75,0,c);
                  
                  
                    }
                  
                  
                    lastInput2 = newInput2;
                    delay(10);
                  
                  
                    //PAD 3/////////////////////////////////////////////
                    static int lastInput3 = 0;
                  
                  
                    int newInput3 = total3;
                  
                  
                    if((lastInput3 < a) && (newInput3 > a)) {
                  
                  
                      MIDI.sendNoteOn(60,127,c);
                      delay(200);
                      MIDI.sendNoteOn(70,127,c);
                      delay(100);
                      MIDI.sendNoteOn(68,127,c);
                      delay(100);
                      MIDI.sendNoteOn(51,127,c);
                      delay(300);
                      MIDI.sendNoteOn(60,127,c);
                      delay(100);
                  
                  
                    }
                  
                  
                    if((lastInput3 > a) && (newInput3 < a)) {
                  
                  
                      MIDI.sendNoteOff(70,0,c);
                      MIDI.sendNoteOff(68,0,c);
                      MIDI.sendNoteOff(51,0,c);
                      MIDI.sendNoteOff(60,0,c);
                  
                  
                    }
                    lastInput3 = newInput3;
                    delay(10);
                  
                  
                    //PAD 4/////////////////////////////////////////////
                  
                  
                    static int lastInput4 = 0;
                  
                  
                    int newInput4 = total4;
                  
                  
                    if((lastInput4 < a) && (newInput4 > a)) {
                      MIDI.sendNoteOn(60,127,c);
                      delay(300);
                      MIDI.sendNoteOn(61,127,c);
                      delay(300);
                      MIDI.sendNoteOn(62,127,c);
                      delay(600); 
                  
                  
                    }
                  
                  
                    if((lastInput4 > a) && (newInput4 < a)) {
                  
                  
                      MIDI.sendNoteOff(60,0,c);
                      MIDI.sendNoteOff(61,0,c);
                      MIDI.sendNoteOff(62,0,c); 
                  
                  
                    }
                    lastInput4 = newInput4;
                    delay(10);
                  
                  
                  }
                  viimati muutis kasutaja oldbear; 09 May 2014, 18:00.

                  Comment


                    #10
                    Vs: Kas keegi tahaks aidata Arduino C++ kirjutamisega?

                    Muide objekt on ise selline.
                    This is a second version of NAISTELAUD. This time no computers are involved. Arduino Nano reads 4 photocells and drives Korg AG10 MIDI sound module. *Glass Poetry*…

                    Siin töötab see valguse katkemisel, aga kuna loomulik valgus keerab kogu seadistuse tuksi, siis teen selle ümber olukorrast vähem sõltuvaks. Klaaskerad asenduvad mingi metall asjandusega.

                    Comment


                      #11
                      Vs: Kas keegi tahaks aidata Arduino C++ kirjutamisega?

                      Kiiruga vaadates tundub, et pigem on see while-teema.
                      While-puudutatakse kera1, mängi pala1 (loop, 1x, 2x vms).
                      ja nii kõigi nelja kohta, sest korraga mängib ainult 1, s.t viimati aktiveeritud.
                      Erilahendused.
                      PS või mail.

                      Comment


                        #12
                        Vs: Kas keegi tahaks aidata Arduino C++ kirjutamisega?

                        Hetkel ei ole vist suurt vahet, kuidas sequence käivitada - kas if touch=start sequence või while touching=play sequence. Pigem huvitaks, kuidas saada luua see sequence inetrvallidega, mis pole delay()d.
                        Siin on üks päris lubav lahendus, kuidas kasutada Time.h librari't ja sellega tehtud delayTime'i.
                        Old-School Arduino MIDI Sequencer: Using a standard Arduino single-board computer and a "shield" board, this project creates a MIDI sequencer that can record and play back sequences of MIDI notes.&nbsp; It is similar to old-school sequencers in that the sequence is monophonic (one no…

                        kood siin:midiSeq.zip
                        Kui saaks selle tehnika lisada minu asjale, jättes ära kogu selle salvestus osa ja nivoode ja kiiruste muutmise. Nii et ma kirjutan MIDI noodi jada, nagu mul vaja ja need käivitatakse kui sensorilt tuleb üle nivoo signaal.
                        viimati muutis kasutaja oldbear; 09 May 2014, 21:09.

                        Comment


                          #13
                          Vs: Kas keegi tahaks aidata Arduino C++ kirjutamisega?

                          Kas kellelgi ei teki midagi?

                          Comment


                            #14
                            Vs: Kas keegi tahaks aidata Arduino C++ kirjutamisega?

                            Hmm, paistab surnud teema olevat.

                            Comment


                              #15
                              Vs: Kas keegi tahaks aidata Arduino C++ kirjutamisega?

                              Tõmbaks joone alla:
                              Rahanumbrite nimetamisega saime hästi hakkama. Ka sai arutletud, kas tasuta abi on meil populaarne.
                              Ma panin 400EUR'ise koodi üleks kõigile vaatamiseks ja lisasin võimaliku variandi oma probleemi lahendamiseks.
                              See on enamvähem kõik.
                              Tänan!
                              viimati muutis kasutaja oldbear; 23 May 2014, 14:47.

                              Comment

                              Working...
                              X