Skyduino:~#
Articles
Autre, C/C++, programmation, projet

[MMbasic] Duinomite-mega et Nyan Cat FTW

Bonjour tout le monde !

Depuis hier il neige dans ma région, par conséquent il m’est impossible de continuer mon projet de ligth painting (extérieur).
Mon projet de quadcopter est lui aussi stoppé par la météo …
Ajouté à ça que en ce moment j’ai un max de travail à l’IUT, il fallait bien que je trouve un moyen de me détendre :)

Il n’ya pas longtemps j’ai recu ma carte duinomite-mega (une pure bête !) du coup je me suis fait un petit "hello world" :

Non vous ne rêvez pas j’ai réussi à me foirer en écrivant "world" …

J’ai vite faite regarder le langage "MMbasic" qui en faite est juste du basic "spaghetti" sous entendu du basic avec cette forme :
1 print "hello"
2 pause 1000
3 goto 1

(Il y a de forte chance que vous ayez déja vu cette syntaxe sur le web dans des signatures de forum, etc …)

Donc coup de pot je connaissais déja le langage ! :)

J’ai donc direct fait un petit projet de prog musical, qui est vite parti au délire "nyan cat" ^^

Voila ce que ça donne (sautez direct à 1:05 si vous êtes pressé ;)):

(La qualité étant pourri (ma caméra filme trés mal dans l’obscurité), et l’image quasi fixe j’ai carrément encodé la vidéo à 5fps en 720p, inutile d’avoir un meilleur qualité franchement, en plus ça m’aurait pris 2h à uploader une version à 25fps qui n’aurait rien apporté de plus …)

Et voila le code source :

0 SOUND 740, 62
1 PAUSE 80
2 SOUND 831, 62
3 PAUSE 80
4 SOUND 622, 125
5 PAUSE 162
6 SOUND 622, 125
7 PAUSE 162
8 SOUND 0, 62
9 PAUSE 80
10 SOUND 494, 62
11 PAUSE 80
12 SOUND 587, 62
13 PAUSE 80
14 SOUND 554, 62
15 PAUSE 80
16 SOUND 494, 62
17 PAUSE 80
18 SOUND 0, 62
19 PAUSE 80
20 SOUND 494, 62
21 PAUSE 80
22 SOUND 554, 62
23 PAUSE 80
24 SOUND 587, 125
25 PAUSE 162
26 SOUND 587, 125
27 PAUSE 162
28 SOUND 554, 62
29 PAUSE 80
30 SOUND 494, 62
31 PAUSE 80
32 SOUND 554, 125
33 PAUSE 162
34 SOUND 622, 125
35 PAUSE 162
36 SOUND 740, 62
37 PAUSE 80
38 SOUND 831, 62
39 PAUSE 80
40 SOUND 622, 62
41 PAUSE 80
42 SOUND 740, 62
43 PAUSE 80
44 SOUND 554, 62
45 PAUSE 80
46 SOUND 622, 62
47 PAUSE 80
48 SOUND 494, 62
49 PAUSE 80
50 SOUND 740, 125
51 PAUSE 162
52 SOUND 831, 125
53 PAUSE 162
54 SOUND 622, 62
55 PAUSE 80
56 SOUND 622, 62
57 PAUSE 80
58 SOUND 0, 62
59 PAUSE 80
60 SOUND 494, 62
61 PAUSE 80
62 SOUND 587, 62
63 PAUSE 80
64 SOUND 554, 62
65 PAUSE 80
66 SOUND 494, 62
67 PAUSE 80
68 SOUND 0, 62
69 PAUSE 80
70 SOUND 494, 125
71 PAUSE 162
72 SOUND 554, 125
73 PAUSE 162
74 SOUND 587, 125
75 PAUSE 162
76 SOUND 587, 62
77 PAUSE 80
78 SOUND 554, 62
79 PAUSE 80
80 SOUND 494, 62
81 PAUSE 80
82 SOUND 554, 62
83 PAUSE 80
84 SOUND 622, 62
85 PAUSE 80
86 SOUND 740, 62
87 PAUSE 80
88 SOUND 831, 62
89 PAUSE 80
90 SOUND 622, 62
91 PAUSE 80
92 SOUND 740, 62
93 PAUSE 80
94 SOUND 554, 62
95 PAUSE 80
96 SOUND 622, 62
97 PAUSE 80
98 SOUND 494, 62
99 PAUSE 80
100 SOUND 554, 62
101 PAUSE 80
102 SOUND 494, 62
103 PAUSE 80
104 SOUND 622, 125
105 PAUSE 162
106 SOUND 740, 125
107 PAUSE 162
108 SOUND 831, 62
109 PAUSE 80
110 SOUND 622, 62
111 PAUSE 80
112 SOUND 740, 62
113 PAUSE 80
114 SOUND 554, 62
115 PAUSE 80
116 SOUND 622, 62
117 PAUSE 80
118 SOUND 494, 62
119 PAUSE 80
120 SOUND 587, 62
121 PAUSE 80
122 SOUND 622, 62
123 PAUSE 80
124 SOUND 587, 62
125 PAUSE 80
126 SOUND 554, 62
127 PAUSE 80
128 SOUND 494, 62
129 PAUSE 80
130 SOUND 554, 62
131 PAUSE 80
132 SOUND 587, 125
133 PAUSE 162
134 SOUND 494, 62
135 PAUSE 80
136 SOUND 554, 62
137 PAUSE 80
138 SOUND 622, 62
139 PAUSE 80
140 SOUND 740, 62
141 PAUSE 80
142 SOUND 554, 62
143 PAUSE 80
144 SOUND 622, 62
145 PAUSE 80
146 SOUND 554, 62
147 PAUSE 80
148 SOUND 494, 62
149 PAUSE 80
150 SOUND 554, 125
151 PAUSE 162
152 SOUND 494, 125
153 PAUSE 162
154 SOUND 554, 125
155 PAUSE 162
156 SOUND 740, 125
157 PAUSE 162
158 SOUND 831, 125
159 PAUSE 162
160 SOUND 622, 62
161 PAUSE 80
162 SOUND 622, 62
163 PAUSE 80
164 SOUND 0, 62
165 PAUSE 80
166 SOUND 494, 62
167 PAUSE 80
168 SOUND 587, 62
169 PAUSE 80
170 SOUND 554, 62
171 PAUSE 80
172 SOUND 494, 62
173 PAUSE 80
174 SOUND 0, 62
175 PAUSE 80
176 SOUND 494, 125
177 PAUSE 162
178 SOUND 554, 125
179 PAUSE 162
180 SOUND 587, 125
181 PAUSE 162
182 SOUND 587, 62
183 PAUSE 80
184 SOUND 554, 62
185 PAUSE 80
186 SOUND 494, 62
187 PAUSE 80
188 SOUND 554, 62
189 PAUSE 80
190 SOUND 622, 62
191 PAUSE 80
192 SOUND 740, 62
193 PAUSE 80
194 SOUND 831, 62
195 PAUSE 80
196 SOUND 622, 62
197 PAUSE 80
198 SOUND 740, 62
199 PAUSE 80
200 SOUND 554, 62
201 PAUSE 80
202 SOUND 622, 62
203 PAUSE 80
204 SOUND 494, 62
205 PAUSE 80
206 SOUND 554, 62
207 PAUSE 80
208 SOUND 494, 62
209 PAUSE 80
210 SOUND 622, 125
211 PAUSE 162
212 SOUND 740, 125
213 PAUSE 162
214 SOUND 831, 62
215 PAUSE 80
216 SOUND 622, 62
217 PAUSE 80
218 SOUND 740, 62
219 PAUSE 80
220 SOUND 554, 62
221 PAUSE 80
222 SOUND 622, 62
223 PAUSE 80
224 SOUND 494, 62
225 PAUSE 80
226 SOUND 587, 62
227 PAUSE 80
228 SOUND 622, 62
229 PAUSE 80
230 SOUND 587, 62
231 PAUSE 80
232 SOUND 554, 62
233 PAUSE 80
234 SOUND 494, 62
235 PAUSE 80
236 SOUND 554, 62
237 PAUSE 80
238 SOUND 587, 125
239 PAUSE 162
240 SOUND 494, 62
241 PAUSE 80
242 SOUND 554, 62
243 PAUSE 80
244 SOUND 622, 62
245 PAUSE 80
246 SOUND 740, 62
247 PAUSE 80
248 SOUND 554, 62
249 PAUSE 80
250 SOUND 622, 62
251 PAUSE 80
252 SOUND 554, 62
253 PAUSE 80
254 SOUND 494, 62
255 PAUSE 80
256 SOUND 554, 125
257 PAUSE 162
258 SOUND 494, 125
259 PAUSE 162
260 SOUND 554, 125
261 PAUSE 162
262 SOUND 494, 125
263 PAUSE 162
264 SOUND 370, 62
265 PAUSE 80
266 SOUND 415, 62
267 PAUSE 80
268 SOUND 494, 125
269 PAUSE 162
270 SOUND 370, 62
271 PAUSE 80
272 SOUND 415, 62
273 PAUSE 80
274 SOUND 494, 62
275 PAUSE 80
276 SOUND 554, 62
277 PAUSE 80
278 SOUND 622, 62
279 PAUSE 80
280 SOUND 494, 62
281 PAUSE 80
282 SOUND 659, 62
283 PAUSE 80
284 SOUND 622, 62
285 PAUSE 80
286 SOUND 659, 62
287 PAUSE 80
288 SOUND 740, 62
289 PAUSE 80
290 SOUND 494, 125
291 PAUSE 162
292 SOUND 494, 125
293 PAUSE 162
294 SOUND 370, 62
295 PAUSE 80
296 SOUND 415, 62
297 PAUSE 80
298 SOUND 494, 62
299 PAUSE 80
300 SOUND 370, 62
301 PAUSE 80
302 SOUND 659, 62
303 PAUSE 80
304 SOUND 622, 62
305 PAUSE 80
306 SOUND 554, 62
307 PAUSE 80
308 SOUND 494, 62
309 PAUSE 80
310 SOUND 370, 62
311 PAUSE 80
312 SOUND 311, 62
313 PAUSE 80
314 SOUND 330, 62
315 PAUSE 80
316 SOUND 370, 62
317 PAUSE 80
318 SOUND 494, 125
319 PAUSE 162
320 SOUND 370, 62
321 PAUSE 80
322 SOUND 415, 62
323 PAUSE 80
324 SOUND 494, 125
325 PAUSE 162
326 SOUND 370, 62
327 PAUSE 80
328 SOUND 415, 62
329 PAUSE 80
330 SOUND 494, 62
331 PAUSE 80
332 SOUND 494, 62
333 PAUSE 80
334 SOUND 554, 62
335 PAUSE 80
336 SOUND 622, 62
337 PAUSE 80
338 SOUND 494, 62
339 PAUSE 80
340 SOUND 370, 62
341 PAUSE 80
342 SOUND 415, 62
343 PAUSE 80
344 SOUND 370, 62
345 PAUSE 80
346 SOUND 494, 125
347 PAUSE 162
348 SOUND 494, 62
349 PAUSE 80
350 SOUND 466, 62
351 PAUSE 80
352 SOUND 494, 62
353 PAUSE 80
354 SOUND 370, 62
355 PAUSE 80
356 SOUND 415, 62
357 PAUSE 80
358 SOUND 330, 62
359 PAUSE 80
360 SOUND 659, 62
361 PAUSE 80
362 SOUND 622, 62
363 PAUSE 80
364 SOUND 659, 62
365 PAUSE 80
366 SOUND 740, 62
367 PAUSE 80
368 SOUND 494, 125
369 PAUSE 162
370 SOUND 466, 125
371 PAUSE 162
372 SOUND 494, 125
373 PAUSE 162
374 SOUND 370, 62
375 PAUSE 80
376 SOUND 415, 62
377 PAUSE 80
378 SOUND 494, 125
379 PAUSE 162
380 SOUND 370, 62
381 PAUSE 80
382 SOUND 415, 62
383 PAUSE 80
384 SOUND 494, 62
385 PAUSE 80
386 SOUND 554, 62
387 PAUSE 80
388 SOUND 622, 62
389 PAUSE 80
390 SOUND 494, 62
391 PAUSE 80
392 SOUND 659, 62
393 PAUSE 80
394 SOUND 622, 62
395 PAUSE 80
396 SOUND 659, 62
397 PAUSE 80
398 SOUND 740, 62
399 PAUSE 80
400 SOUND 494, 125
401 PAUSE 162
402 SOUND 494, 125
403 PAUSE 162
404 SOUND 370, 62
405 PAUSE 80
406 SOUND 415, 62
407 PAUSE 80
408 SOUND 494, 62
409 PAUSE 80
410 SOUND 370, 62
411 PAUSE 80
412 SOUND 659, 62
413 PAUSE 80
414 SOUND 622, 62
415 PAUSE 80
416 SOUND 554, 62
417 PAUSE 80
418 SOUND 494, 62
419 PAUSE 80
420 SOUND 370, 62
421 PAUSE 80
422 SOUND 311, 62
423 PAUSE 80
424 SOUND 330, 62
425 PAUSE 80
426 SOUND 370, 62
427 PAUSE 80
428 SOUND 494, 125
429 PAUSE 162
430 SOUND 370, 62
431 PAUSE 80
432 SOUND 415, 62
433 PAUSE 80
434 SOUND 494, 125
435 PAUSE 162
436 SOUND 370, 62
437 PAUSE 80
438 SOUND 415, 62
439 PAUSE 80
440 SOUND 494, 62
441 PAUSE 80
442 SOUND 494, 62
443 PAUSE 80
444 SOUND 554, 62
445 PAUSE 80
446 SOUND 622, 62
447 PAUSE 80
448 SOUND 494, 62
449 PAUSE 80
450 SOUND 370, 62
451 PAUSE 80
452 SOUND 415, 62
453 PAUSE 80
454 SOUND 370, 62
455 PAUSE 80
456 SOUND 494, 125
457 PAUSE 162
458 SOUND 494, 62
459 PAUSE 80
460 SOUND 466, 62
461 PAUSE 80
462 SOUND 494, 62
463 PAUSE 80
464 SOUND 370, 62
465 PAUSE 80
466 SOUND 415, 62
467 PAUSE 80
468 SOUND 494, 62
469 PAUSE 80
470 SOUND 659, 62
471 PAUSE 80
472 SOUND 622, 62
473 PAUSE 80
474 SOUND 659, 62
475 PAUSE 80
476 SOUND 740, 62
477 PAUSE 80
478 SOUND 494, 125
479 PAUSE 162
480 SOUND 554, 125
481 PAUSE 162
482 GOTO 50

Restez calme j’ai pas tout écrit à la main ;)

Le programme c pour pc qui m’as généré le code basic :

#include <stdio.h>
#include "pitches.h"

int intro[] = {
  //intro
  NOTE_DS5,
  NOTE_E5,
  NOTE_FS5,
  NOTE_B5,
  NOTE_DS5,
  NOTE_E5,
  NOTE_FS5,
  NOTE_B5,
  NOTE_CS6,
  NOTE_DS6,
  NOTE_CS6,
  NOTE_AS5,
  NOTE_B5,
  NOTE_FS5,
  NOTE_DS5,
  NOTE_E5,
  NOTE_FS5,
  NOTE_B5,
  NOTE_CS6,
  NOTE_AS5,
  NOTE_B5,
  NOTE_CS6,
  NOTE_E6,
  NOTE_DS6,
  NOTE_E6,
  NOTE_B5, 
  
  };

// note durations: 4 = quarter note, 8 = eighth note, etc.:
int noteDurations[] = {
  16,
  16,
  8,
  8,
  16,
  16,
  16,
  16,
  16,
  16,
  16,
  16,
  8, //13
  8,
  16,
  16,
  8,
  8,
  16,
  16,
  16,
  16,
  16,
  16,
  16,
  16 //25 intro
  };
  
  int melody[] = {
  //A
  NOTE_FS5,
  NOTE_GS5,
  NOTE_DS5,
  NOTE_DS5,
  REST,
  NOTE_B4,
  NOTE_D5,
  NOTE_CS5,
  NOTE_B4,
  REST,
  NOTE_B4,
  NOTE_CS5,
  NOTE_D5,
  NOTE_D5,
  NOTE_CS5,
  NOTE_B4,
  NOTE_CS5,
  NOTE_DS5,
  NOTE_FS5,
  NOTE_GS5,
  NOTE_DS5,
  NOTE_FS5,
  NOTE_CS5,
  NOTE_DS5,
  NOTE_B4,
  NOTE_CS5,
  NOTE_B4,
  NOTE_DS5,
  NOTE_FS5,
  NOTE_GS5,
  NOTE_DS5,
  NOTE_FS5,
  NOTE_CS5,
  NOTE_DS5,
  NOTE_B4,
  NOTE_D5,
  NOTE_DS5,
  NOTE_D5,
  NOTE_CS5,
  NOTE_B4,
  NOTE_CS5,
  NOTE_D5,
  NOTE_B4,
  NOTE_CS5,
  NOTE_DS5,
  NOTE_FS5,
  NOTE_CS5,
  NOTE_DS5,
  NOTE_CS5,
  NOTE_B4,
  NOTE_CS5,
  NOTE_B4,
  NOTE_CS5,
  NOTE_FS5,
  NOTE_GS5,
  NOTE_DS5,
  NOTE_DS5,
  REST,
  NOTE_B4,
  NOTE_D5, 
  NOTE_CS5,
  NOTE_B4,
  REST,
  NOTE_B4,
  NOTE_CS5,
  NOTE_D5,
  NOTE_D5,
  NOTE_CS5,
  NOTE_B4,
  NOTE_CS5,
  NOTE_DS5,
  NOTE_FS5,
  NOTE_GS5,
  NOTE_DS5,
  NOTE_FS5,
  NOTE_CS5,
  NOTE_DS5,
  NOTE_B4,
  NOTE_CS5,
  NOTE_B4,
  NOTE_DS5,
  NOTE_FS5,
  NOTE_GS5,
  NOTE_DS5,
  NOTE_FS5,
  NOTE_CS5,
  NOTE_DS5,
  NOTE_B4,
  NOTE_D5,
  NOTE_DS5,
  NOTE_D5,
  NOTE_CS5,
  NOTE_B4,
  NOTE_CS5,
  NOTE_D5,
  NOTE_B4,
  NOTE_CS5,
  NOTE_DS5,
  NOTE_FS5,
  NOTE_CS5,
  NOTE_DS5,
  NOTE_CS5,
  NOTE_B4,
  NOTE_CS5,
  NOTE_B4,
  NOTE_CS5,
  //end of loop
  NOTE_B4,
  NOTE_FS4,
  NOTE_GS4,
  NOTE_B4,
  NOTE_FS4,
  NOTE_GS4,
  NOTE_B4,
  NOTE_CS5,
  NOTE_DS5,
  NOTE_B4,
  NOTE_E5,
  NOTE_DS5,
  NOTE_E5,
  NOTE_FS5,
  NOTE_B4,
  NOTE_B4,
  NOTE_FS4,
  NOTE_GS4,
  NOTE_B4,
  NOTE_FS4,
  NOTE_E5,
  NOTE_DS5,
  NOTE_CS5,
  NOTE_B4,
  NOTE_FS4,
  NOTE_DS4,
  NOTE_E4,
  NOTE_FS4,
  NOTE_B4,
  NOTE_FS4,
  NOTE_GS4,
  NOTE_B4,
  NOTE_FS4,
  NOTE_GS4,
  NOTE_B4,
  NOTE_B4,
  NOTE_CS5,
  NOTE_DS5,
  NOTE_B4,
  NOTE_FS4,
  NOTE_GS4,
  NOTE_FS4,
  //
  NOTE_B4,
  NOTE_B4,
  NOTE_AS4,
  NOTE_B4,
  NOTE_FS4,
  NOTE_GS4,
  NOTE_E4,
  NOTE_E5,
  NOTE_DS5,
  NOTE_E5,
  NOTE_FS5,
  NOTE_B4,
  NOTE_AS4,
  //
  NOTE_B4,
  NOTE_FS4,
  NOTE_GS4,
  NOTE_B4,
  NOTE_FS4,
  NOTE_GS4,
  NOTE_B4,
  NOTE_CS5,
  NOTE_DS5,
  NOTE_B4,
  NOTE_E5,
  NOTE_DS5,
  NOTE_E5,
  NOTE_FS5,
  NOTE_B4,
  NOTE_B4,
  NOTE_FS4,
  NOTE_GS4,
  NOTE_B4,
  NOTE_FS4,
  NOTE_E5,
  NOTE_DS5,
  NOTE_CS5,
  NOTE_B4,
  NOTE_FS4,
  NOTE_DS4,
  NOTE_E4,
  NOTE_FS4,
  NOTE_B4,
  NOTE_FS4,
  NOTE_GS4,
  NOTE_B4,
  NOTE_FS4,
  NOTE_GS4,
  NOTE_B4,
  NOTE_B4,
  NOTE_CS5,
  NOTE_DS5,
  NOTE_B4,
  NOTE_FS4,
  NOTE_GS4,
  NOTE_FS4,
  NOTE_B4,
  NOTE_B4,
  NOTE_AS4,
  NOTE_B4,
  NOTE_FS4,
  NOTE_GS4,
  NOTE_B4,
  NOTE_E5,
  NOTE_DS5,
  NOTE_E5,
  NOTE_FS5,
  NOTE_B4,
  NOTE_CS5 
  
  };
  int melodyNoteDurations[] = {
  //a
  8,
  8,
  16,
  16,
  16,
  16,
  16,
  16,
  16,
  16,
  8,
  8,
  8,
  16,
  16,
  16,
  16,
  16,
  16,
  16,
  16,
  16,
  16,
  16,
  16,
  16,
  16,
  8,
  8,
  16,
  16,
  16,
  16,
  16,
  16,
  16,
  16,
  16,
  16,
  16,
  16, 
  8,
  16,
  16,
  16,
  16,
  16,
  16,
  16,
  16,
  8,
  8,
  8,
  8,
  8,
  16,
  16,
  16,
  16,
  16,
  16,
  16,
  16,
  8,
  8,
  8,
  16,
  16,
  16,
  16,
  16,
  16,
  16,
  16,
  16,
  16,
  16,
  16,
  16,
  16,
  8,
  8,
  16,
  16,
  16,
  16,
  16,
  16,
  16,
  16,
  16,
  16,
  16,
  16, 
  8,
  16,
  16,
  16,
  16,
  16,
  16,
  16,
  16,
  8,
  8,
  8,
  //
  8,
  16,
  16,
  8,
  16,
  16,
  16,
  16,
  16,
  16,
  16,
  16,
  16,
  16,
  8,
  8,
  16,
  16,
  16,
  16,
  16,
  16,
  16,
  16,
  16,
  16,
  16,
  16,
  8,
  16,
  16,
  8,
  16,
  16,
  16,
  16,
  16,
  16,
  16,
  16,
  16,
  16,
  //
  8,
  16,
  16,
  16,
  16,
  16,
  16,
  16,
  16,
  16,
  16,
  8,
  8,
  //
  8,
  16,
  16,
  8,
  16,
  16,
  16,
  16,
  16,
  16,
  16,
  16,
  16,
  16,
  8,
  8,
  16,
  16,
  16,
  16,
  16,
  16,
  16,
  16,
  16,
  16,
  16,
  16,
  8,
  16,
  16,
  8,
  16,
  16,
  16,
  16,
  16,
  16,
  16,
  16,
  16,
  16,
  //
  8,
  16,
  16,
  16,
  16,
  16,
  16,
  16,
  16,
  16,
  16,
  8,
  8 
  };

int main() {
    int i = 0, debutLoop, thisNote, noteDuration, pauseBetweenNotes;
	for (thisNote = 0; thisNote < 25; thisNote++) {
      noteDuration = 1000/noteDurations[thisNote];
      printf("%d SOUND %d, %d\n", i, melody[thisNote], noteDuration);
	  i++;
      pauseBetweenNotes = noteDuration * 1.30;
      printf("%d PAUSE %d\n", i, pauseBetweenNotes);
	  i++;
    }
	debutLoop = i;
	for (thisNote = 0; thisNote < 216; thisNote++) {
      noteDuration = 1000 / melodyNoteDurations[thisNote];
	  printf("%d SOUND %d, %d\n", i, melody[thisNote], noteDuration);
	  i++;
      pauseBetweenNotes = noteDuration * 1.30;
      printf("%d PAUSE %d\n", i, pauseBetweenNotes);
	  i++;
    }
	printf("%d GOTO %d", i, debutLoop);
	return 0;
}

Et les définitions notes/fréquences que j’ai piqué sur un tutoriel de arduino.cc

/*************************************************
 * Public Constants
 *************************************************/
#define REST     0
#define NOTE_B0  31
#define NOTE_C1  33
#define NOTE_CS1 35
#define NOTE_D1  37
#define NOTE_DS1 39
#define NOTE_E1  41
#define NOTE_F1  44
#define NOTE_FS1 46
#define NOTE_G1  49
#define NOTE_GS1 52
#define NOTE_A1  55
#define NOTE_AS1 58
#define NOTE_B1  62
#define NOTE_C2  65
#define NOTE_CS2 69
#define NOTE_D2  73
#define NOTE_DS2 78
#define NOTE_E2  82
#define NOTE_F2  87
#define NOTE_FS2 93
#define NOTE_G2  98
#define NOTE_GS2 104
#define NOTE_A2  110
#define NOTE_AS2 117
#define NOTE_B2  123
#define NOTE_C3  131
#define NOTE_CS3 139
#define NOTE_D3  147
#define NOTE_DS3 156
#define NOTE_E3  165
#define NOTE_F3  175
#define NOTE_FS3 185
#define NOTE_G3  196
#define NOTE_GS3 208
#define NOTE_A3  220
#define NOTE_AS3 233
#define NOTE_B3  247
#define NOTE_C4  262
#define NOTE_CS4 277
#define NOTE_D4  294
#define NOTE_DS4 311
#define NOTE_E4  330
#define NOTE_F4  349
#define NOTE_FS4 370
#define NOTE_G4  392
#define NOTE_GS4 415
#define NOTE_A4  440
#define NOTE_AS4 466
#define NOTE_B4  494
#define NOTE_C5  523
#define NOTE_CS5 554
#define NOTE_D5  587
#define NOTE_DS5 622
#define NOTE_E5  659
#define NOTE_F5  698
#define NOTE_FS5 740
#define NOTE_G5  784
#define NOTE_GS5 831
#define NOTE_A5  880
#define NOTE_AS5 932
#define NOTE_B5  988
#define NOTE_C6  1047
#define NOTE_CS6 1109
#define NOTE_D6  1175
#define NOTE_DS6 1245
#define NOTE_E6  1319
#define NOTE_F6  1397
#define NOTE_FS6 1480
#define NOTE_G6  1568
#define NOTE_GS6 1661
#define NOTE_A6  1760
#define NOTE_AS6 1865
#define NOTE_B6  1976
#define NOTE_C7  2093
#define NOTE_CS7 2217
#define NOTE_D7  2349
#define NOTE_DS7 2489
#define NOTE_E7  2637
#define NOTE_F7  2794
#define NOTE_FS7 2960
#define NOTE_G7  3136
#define NOTE_GS7 3322
#define NOTE_A7  3520
#define NOTE_AS7 3729
#define NOTE_B7  3951
#define NOTE_C8  4186
#define NOTE_CS8 4435
#define NOTE_D8  4699
#define NOTE_DS8 4978

Je suis trop content de mon programme "nyan cat powered" :)
Prochaine étape still alive, avec le texte, ça s’annonce beaucoup plus compliqué x)

Ps: Le clavier dell que j’ai sauvagement saccagé est sensé être un "quiet key" soit à "touche silencieuse" … j’ose même pas imaginer la version non silencieuse …

About these ads

Discussion

18 réflexions sur “[MMbasic] Duinomite-mega et Nyan Cat FTW

  1. Reblogged this on olimex and commented:
    DuinoMite project from Skyduino :)

    Publié par OLIMEX Ltd | 2 février 2012, 23 h 56 min
  2. Salut Fabien
    Je suis interessé par cette carte ,certainement parce que je me suis tapé des années et des années de Basic ^_^
    A part le site officiel ,ou puis-je l’acheter ??
    et pour programmer cette petite merveille y a t-il un IDE ou logiciel spécial ..( PC-MAC ) ??
    Et la question qui tue , le prix de cette merveille ^_^ ??

    Merci à l’avance pour ta réponse.
    CDT
    William

    Publié par william | 3 février 2012, 11 h 24 min
  3. En 81, je commençais l’informatique avec un TANDY TRS-80 sous Basic Microsoft
    Tout tient dans une puce maintenant :)
    Souvenir, souvenir, ….

    Publié par Barbudor | 3 février 2012, 21 h 49 min
  4. Salut Fabien
    Merci pour le lien .
    Par contre un peu dur des neuronnes ^_^
    """Pour la programmer pas besoin d’ide, juste d’un truc genre bloc note et d’une carte sd. C’est même possible directement depuis la console intégré avec un clavier + écran.""

    Tu veux dire ,qu’en claquant un clavier et en le connectant sur une téloche ,c’est bon ??
    ou en faisant un script sur bloc note (par rapport à la doc) sur une SD , c’est bon aussi ??
    C’est bien ça ???
    Merci Fabien pour ta réponse
    CDT
    William

    P.S: Surpris par le prix ,tu en penses quoi ?? ,ça vaut le cout ou BOFFF ??

    Publié par william | 3 février 2012, 22 h 02 min
    • Regarde la preview de mon prochain programme tu comprendra ;) http://twitpic.com/8f97t8

      Au minimum pour développer en mode "seul" il faut une télé avec entrée composite ou vga et un clavier PS/2 (pas usb).

      Pour coder en mode "assisté" avec ordi un simple éditeur de texte genre bloc note, ou notepad++ (c’est ce que j’utilise) et une carte sd suffise. Il est même possible en utilisant l’usb d’avoir la console comme sur la télé via un port série usb virtuel.

      Franchement pour 35€ j’ai pas hésité 1sec et je le regrette vraiment pas ! Des que la nouvelle version avec ethernet sortira pareil je sauterai dessus.

      Publié par skywodd | 3 février 2012, 22 h 13 min
  5. Merci Fabien ^_^
    J’ai l’impression de revenir 30 ans en arriere ^_^ ( ZX81 ou Spectrum ou VIC20 ) ,c’est géant ^_^
    Je vais te faire confiance (quand j’ai dit ,téloche ,en fait ,je pensais moniteur ^_- , j’ai gardé mon Samsung 17" Widescreen) .
    Vu le prix ,franchement ,je vais certainement investir dans cette petite bète ^_^
    Merci .

    P.S: j’ai suivi ton conseil ,je me suis acheté des KITKAT (Have a Break) ^_^
    CDT
    William

    Publié par william | 3 février 2012, 22 h 35 min
  6. COOL ^_^ ,Fabien.
    J’avais regardé le 2eme lien ,que de souvenirs ,c’est un peu pour ça ,que j’ai laissé ces commentaires et demande de conseils ^_^

    @ Barbudor:
    C’est cool non ?? ,j’ai connu également le Matra (Alice ,je crois ) et un autre dont je ne me rapelle plus ^_^,et l’Atari
    520 stf (modifié en1040) par mes soins .

    P.S: j’ai coché ,(Avertissez-moi par email des nouveaux commentaires.) et NADA ,NIET , QUEDAL !!!
    Juste pour info .

    Publié par william | 3 février 2012, 23 h 26 min
  7. ça y est ,c’est bon ,j’ai reçu un mail un peu en retard pour me demander de valider l’inscription ??????
    j’ai validé ,et reçu ,ton dernier commentaire ^_^
    Donc ,NO PROBLEM .
    @+
    William

    Publié par william | 3 février 2012, 23 h 39 min
  8. Très intéressant ton petit développement. Voila qui redonne une dimension supplémentaire à la notion de musique électronique ^^
    Dommage que le Duino n’ait pas un peu plus de succès en revanche, j’ai l’impression que ca devient galère à trouver désormais.

    Publié par P1ng B4ck | 7 octobre 2013, 15 h 19 min
    • La Duinomite a eu quelques problèmes de licence avec le concepteur d’origine qui ont entaché l’image de la carte.
      En plus lors de la sortie c’était du langage BASIC vraiment basique du coup les gens ont pas trop accroché je pense. Maintenant bon c’est quasiment du shell avec fonctions, etc.

      Sinon c’est pas du tout galère à trouver … lextronic, watterott, … suffit d’aller sur les boutiques qui vont bien ;)

      Publié par skywodd | 9 octobre 2013, 16 h 11 min
  9. Bonjour,
    J’ai une carte Duinomite Mega et j’aimerais savoir si le firmware MMBasic V4.4A est compatible ?
    Merci ;-)

    Publié par JM | 20 octobre 2013, 18 h 19 min

Rétroliens/Pings

  1. Pingback: Hackaday Links: Leap Day, 2012 - Hack a Day - 29 février 2012

  2. Pingback: Hackaday Links: Leap Day, 2012 » Geko Geek - 5 mars 2012

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

Archives

Wow. Dogecoin. Amaze.

Laissez un tip en Dogecoin

DMMNFk6WBVTpx2Wu1Z35GL61QXSd6r6WQx

Suivre

Recevez les nouvelles publications par mail.

Rejoignez 753 autres abonnés