is a tool that generate an Arduino code from Blocks. No need to know about how to write arduino code and remember Arduino instruction
I want to share this tool because I have added a lot of blocks to use more sensors and actuators. Then all of them are listed.
Who can use this tool?
- Kids from the age of 7
- Beginner with Arduino programming
- Teacher who want to teach arduino in the class
- Expert with other Microcontroller who have not the time to remember the syntax of Arduino
Who made this tool?
This work is based on the work of Fred Lin (@gasolin) who created BlocklyDuino and Neil Fraser who created Blockly. I also took some blocks from Adel Kassah (a computer science teacher in Tunisia) and technologiescollege.fr. Thanks to all!
Why am i telling about this tool?
Because I've added many more blocks than they already had and then because the tool can be adapted to any board.
In my case it's for a Leonardo arduino board with differents names for the pins, but you can see the details and the pins correlation here:
https://github.com/logix5/Blocklyduino-para-MRTDuino/blob/master/generators/arduino.js
in this part:
var profile = {
arduino: {
description: "Arduino Leonardo board",
digital: [["Port1", "13"],["Port2", "15"], ["Port3", "16"], ["Port4", "14"], ["Port5", "18"], ["Port6", "19"], ["Port7", "20"], ["Port8", "21"], ["Port9", "5"], ["Port10", "9"], ["Port11", "11"], ["Port12", "12"], ["Port13", "2"], ["Port14", "3"], ["Port15", "0"], ["Port16", "1"]],
digital_input: [["Port1", "13"],["Port2", "15"], ["Port3", "16"], ["Port4", "14"], ["Port5", "18"], ["Port6", "19"], ["Port7", "20"], ["Port8", "21"], ["Port9", "5"], ["Port10", "9"], ["Port11", "11"], ["Port12", "12"]],
analog_write: [["Port1", "13"], ["Port9", "5"], ["Port10", "9"], ["Port11", "11"], ["Port14", "3"],["Pin Remote control 1", "10"]],
analog: [["Port5", "A0"], ["Port6", "A1"], ["Port7", "A2"], ["Port8", "A3"], ["Port10", "A9"], ["Port12", "A11"],["Pin Remote control 1", "A10"],["Pin Remote control 2", "A4"],["Pin Remote control 3", "A5"]],
interrupt: [["Port13", "2"], ["Port14", "3"], ["Port15", "0"], ["Port16", "1"]],
serial: 9600
},
arduino_mega: {
description: "Arduino Leonardo compatible board"
//53 digital
//15 analog
}
};
//set default profile to arduino standard-compatible board
profile["default"] = profile["arduino"];
Examples of blocks that you can use:
- Simple sensors:
- Other more complex sensors
Rotary encoder, RFID, gesture sensors, GPS, Keypad, compass,...
- Simple actuators
- Other complex actuators
Radio FM sensor, MP3 actuators for example.
- Communications
Serial, Bluetooth, WiFi ( IoT project ), Radio frecuency
- Displays
TFT, Nextion, LCD, Led Strip, TM1637,...
If you need more information , please contact with me
Comments