idea, hovimestari botti

Juu kiitoksia. Yritän opetella noita sievennyksiä. Tuolla antamallasi koodilla ei arduino kuitenkaan reagoi mitenkään kaukosäätimen paineluihin. Serial monitoriinkaan ei tule mitään.

No nyt toimii! Selvisi että tuo tonekäsky oli se joka sekoitti sitten koko koodin. Pitäisiköhän tuonne alkuun laittaa jotain tyyliin “int tonepin=6” :unamused:
Myös yhtä hakasulkua piti muokata että koodista tuli toimiva… Tässä siis led päälle led pois, jne. [size=50]ja taas tulee varmaan sanomista noista suluista… :blush: [/size]

[code]#include <IRremote.h>
int motor1 = 2; //declares the first pin for the motor

int motor2 = 4; //declares the other pin for the motor

int motorpmw = 9; // this is the pmw that will set how much battery power the motor is getting (speed)

int RECV_PIN = 11;

IRrecv irrecv(RECV_PIN);

decode_results results;

void setup()
{
pinMode(motor1, OUTPUT); //

pinMode(motor2, OUTPUT); // these simply are declaring them as outputs

pinMode(motorpmw, OUTPUT); //

pinMode(13, OUTPUT);
Serial.begin(9600);
irrecv.enableIRIn(); // Start the receiver
}

void loop()
{
if (irrecv.decode(&results))
{
Serial.println(results.value, HEX);
{
}
if (irrecv.decode(&results))
{

}

if(results.value == 0xFFC03F)//
{
digitalWrite(13,HIGH);
delay (1000);//
}

else if(results.value == 0xFF807F)
{
digitalWrite(13,LOW);
}
else if(results.value == 0xFD20DF)
{
analogWrite(motorpmw, 255); // this is the analog speed value for the arduino (0-255)
digitalWrite(motor1, HIGH);
digitalWrite(motor2, LOW); //turns the motors on - forwards
}

irrecv.resume(); // Receive the next value

}
}
[/code]

Edit; rupesinkin nyt ihmettelemään että miksi tuo tone sekoittaa arduinon… eihän sen niin pitäisi tehdä… kun ei tuolla arduinon sivuillakaan ole käytetty mitään int tonepin=6 Noh pitää kokeilla. Voi olla että koodissanikin oli virheitä… Ja varmasti onkin.

Kertaalleen hävisi jo viesti joten nyt vain lyhyesti.

Koska tuo tone käsky sekoittaa arduinon ja musiikki kilpi vaikuttaa todella haasteelliselta vielä päädyin simppeliin ratkaisuun. Kannettava c kasetti soitin ja sitä ohjaillaan releellä.

kasetin voi modata niine että sw pyörii ympäri jolloin kelausta ei tarvita.

Nyt pitää löytää joku laiye jolla äänittää c kasetille tai löytää hyvää musiikkia c kasetilla. :wink:

Nyt vasta tajusin kuinka täynnä nuo mun digitaaliset pinit on. Huoh. Tässä yksi syy miksi tuon musiikkikilven käyttö ei onnistu. Kun kaksi mootorinohjainta vie vähintään 9 pinniä ja ledit ja ir vastaanotin yhden , ei pinnit riitä alkuunkaan. Releen ja ledin voisi ilmeisesti ainakin siirtää analogisille, mutta eipä noitakaan ole kuin viisi… Tuollainen kasettisoitin menee alkuun. nyt kun löysin äänittävän soittimen ja mukavaa muumimusiikkiakin. :slight_smile: Pitäähän sitä aina vähän retroilla!

Arduino magan osto olisi sitten toinen juttu… Toisalta voisin ostaa toisen unon tulevia projekteja varten… hmm…

ööh, ledi? voiskos sen tiputtaa pois? 9 releelle + 1 ir:lle jää vielä puolet pinneistä vapaaksi ja jos musashieldistä riittää play/stop niin eikös siinä just riitä pinnit, siinähän tais olla 4 käyttämätöntä ja 8 joita voi käyttää muihin sovelluksiin joista kuitenkin 1 on tuo play eli 11 jäis vapaaksi? mahtuu vielä se ledikin mukaan.

Ömm. Toimiikos tuo musasiheldi sitten muka vain kahdella pinnillä? :unamused:
Tarkkoittanet että 9 pinniä moottorinohjaimelle, 1 irlle ja 1 ledile?
Noh, noinhan se vissiinkin menisi, mitenkähän tuo musashieldi ja 2 pinniä tulee toimimaan…
Noilla dc moottoreillakun olisi vaan kiva ohjailla vaikka mitä, vielä melkein haluaisin 2 pienivirtaista moottoria tuohon survoa… PItänee tutkia voisiko noita moottoreita kytkeä jotenki sarjaan, vai onko ihan utopistinen ajatus…

Edit; musashieldi näyttää ottavan 4 digitaalista pinniä, moottorinohjain sen min. 9 = 13 pinniä, näin ollen ledille ei jää tilaa. En ole sitten tosiaan perehtnyt että voiko tuon ledin tai moottorinohjaimen kytkeä analogisiin pinneihin, mutta analogisia pinnejäkään ei ole musashieldin jäljeltä jäljiltä kuin 2.

Näin tulkitsisin tätä;

voipihan niitä analogisia pinnejä käyttää…
tarkemmin asiaa tuntematta mutuilemalla tuntuis että seuraavat pinnit tulee olla kytkettynä:
D5 - Used for receive signal from switch for Play&Stop
D10 - Used for SPI Chip Select.
D11 - Used for SPI MOSI.
D12 - Used for SPI MISO.
D13 - Used for SPI SCK.

D14(A0) - Used for Reset of VS1053.
D15(A1) - Used for Data Require of VS1053.
D16(A2) - Used for Data Select of VS1053.
D17(A3) - Used for Chip Select of VS1053.

d10 - d17 ei sitten tutkimatta voi tietää tartteeko noitakaan välttämättä, noihan selviää jos ei muuten niin sorsakoodia/datalehtiä tutkimalla.

volume up/down & muut riippuu ihan siitä haluaako niitä ja mm. siitä tallentaako tuo volumen arvon talteen.
olikos sulla joku luukku siinä? tuntematta tarkemin senkään saatikka play&stop toimintoa, mutta voisiko olla mahdollista yhdistää niitä samaan pinniin tyyliin luukku auki musiikki loppuu ja luukku kiinni musiikki soi

Jos alkaa loppumaan nuo IO:t niin tuossa olis tollasta korttiakin olemassa (Beaglebone).
tigal.fi/product/2361

Tuossa ainakin vähäksi aikaa pitäisi olla IO:ta saatavilla. Tuosta versiosta tais olla audio lähdöt jätetty pois.

Toisena asiana ratkaisuna ja ehkä helpompana voisi olla esim. I2C IO expanderilla lisää IO pinnejä arduinoon, mutta vaatii sitten lisäsoftaa. Tämä ratkaisu kuitnekin on helpompi kuin alkaa tekeen tuota samaa linuxin päälle.

Kannattaa pitää mielessä sitten se 32kB flash rajoitus, jos meinaa enemmän älyä siihen alkaa tekeen

Kallis… :confused:
mahdollisimman pienillä kutannuksilla päästäkseni tilasin toisen unon. Kaksi unoa voisi kai yhdistää helposto soveltamalla tuota “button” -koodia.
Lisäksi tuo helpottaa siinä että esim; jos haluan tutkia jotakin toista projektia , niin ei tarvitse purkaa meneillään olevaa projektia…

Nyt vaan, mulla ei ole hajuakaan mikä ohjelma arduinoon pitää ladata musiikin toistamiseksi. Ohjehan menee näin :

Ensimmäiset vaiheet mielestäni onnistui, mutta tämä: “Run the arduino program compile and download the sketch of music_v1_14 → music into Arduino board.”
Mikä olisi tuo koodi?