Forum: Mikrocontroller und Digitale Elektronik graphischer Code Generator für Arduino


von chris_ (Gast)


Lesenswert?

In dem Video für den mbot-Roboter

https://www.youtube.com/watch?v=pmsSipper3Y

wird die Programmierung des Roboters via "Scratch" gezeigt.

Nach etwas suchen im Netz habe ich den Code-Generator gefunden:

www.mblock.cc

Hat den Code-Generator schon einmal jemand ausprobiert?

von chris_ (Gast)


Lesenswert?

Gerade habe ich entdeckt, dass der Source-Code für mblock offen liegt:

https://github.com/Makeblock-official/mBlock

Die Dateien haben allerdings eine mir unbekannte Endung: "*.as"

von Mike (Gast)


Lesenswert?

chris_ schrieb:
> Die Dateien haben allerdings eine mir unbekannte Endung: "*.as"

ActionScript

von chris_ (Gast)


Lesenswert?

Danke, das kannte ich nicht.
Ist die Sprache gebräuchlich? Warum nicht Java? Bis jetzt hatte ich noch 
nie davon gehört.

von Yalu X. (yalu) (Moderator)


Lesenswert?

Das ist Javascript mit Erweiterungen und ist die Programmiersprache von
Adobe Flash.

von Marc S. (marc_s86)


Lesenswert?

mal kurz angetestet:
man kann variablen erstellen aber nicht benutzen? und pins einlesen aber 
den wert nicht speichern? oder bin ich zu blöd?

von chris_ (Gast)


Angehängte Dateien:

Lesenswert?

Haha, so ging es mir auch. Nach einer weile suchen habe ich den 
"examples" Ordner entdeckt.

Das "Breath_Led.sb2" example erzeugt diesen Code:
1
#include <Arduino.h>
2
#include <Wire.h>
3
#include <Servo.h>
4
#include <SoftwareSerial.h>
5
6
#include "MeRGBLed.h"
7
8
double angle_rad = PI/180.0;
9
double angle_deg = 180.0/PI;
10
double d;
11
double dir;
12
MeRGBLed rgbled_6(6);
13
14
void setup(){
15
    rgbled_6.setNumber(32);
16
    dir = 1;
17
    d = 0;
18
    
19
}
20
21
void loop(){
22
    
23
    d += dir;
24
    if(((d) > (100)) | ((d) < (1))){
25
        dir = (0) - (dir);
26
    }
27
    delay(1000*0.01);
28
    rgbled_6.setColor(0,d,0,0);
29
    rgbled_6.show();
30
    
31
}

Unter dem Menuepunkt

connect->view source

kriegt man den Ordner mit den *.cpp Libraries. Damit könnte man diese 
auch für eigene Hardware ändern.

von chris_ (Gast)


Lesenswert?

Die Firmware Klassen für den Arduino, die von "mblocks" benötigt werden, 
findet man auch hier:
https://github.com/Makeblock-official/mBlock/tree/master/resources/firmware
Das Copyright ist mir da nicht ganz klar. Kann man die Firmware in ein 
eigenes GitHub Verzeichnis kopieren und weiter verteilen?

von chris_ (Gast)


Angehängte Dateien:

Lesenswert?

In diesem Verzeichnis scheinen die "Plugins" für mblock zu liegen.

https://github.com/Makeblock-official/mBlock/tree/master/resources/libraries

Die Definition der Elemente scheint in den *.s2e Dateien zu sein.
Ich habe hier mal das Arduino-Verzeichnis heraus kopiert.
Ich verstehe das Format noch nicht ganz, aber es sieht so aus, als wenn 
in der *.s2e Datei so ziemlich alles definiert ist:

- graphische Blöcke
- Code Generator
- Landessprache

Wenn dem so ist, würde das bedeuten, dass man die Elemente relativ 
leicht für eigene Software-Libs anpassen könnte.

von chris_ (Gast)


Lesenswert?

Für einfache Roboter scheint Scratch viel verwendet zu werden:
http://hackaday.com/2015/09/17/theres-a-bug-in-my-robot/#more-170124

von chris_ (Gast)


Lesenswert?

Hier liegt die MakeBlock Library für den Arduino:

https://github.com/Makeblock-official/Makeblock-Library

Dort ist auch erklärt, wie man die Library in der Arduino IDE 
installiert.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.