majicdesigns / md_cubo Goto Github PK
View Code? Open in Web Editor NEWLED Cube Library (hardware independent)
License: GNU Lesser General Public License v2.1
LED Cube Library (hardware independent)
License: GNU Lesser General Public License v2.1
It would be nice to have a way to rotate contents along any custom axis.
The issue is that the code at the moment isn't going to work for my cube type which isn't using any integrated circuits
it's made with discrete components only, I have three PNP transistors switching the layers and because of it's
small size which is a 3x3x3 cube I have the 9 columns directly connected to my Arduino Nano GPIO pins.
Going through your documentation and your example sketches I can see your code working for the driver-less cube types
like the one that I made for testing purposes, with your library it would be much easier and much less code one has to make
to create the animated patterns and that's just what people need I think and I would love to contribute to this project and do whatever is needed to get the driver-less small DIY test cube being supported by your library.
Environment: 3x3x3 driver-less LED cube, only discrete components, PNP BJT's
Library Version: latest
Arduino IDE version: 1.8.12
Hardware model/type: Arduino Nano
Windows 10 Pro or Linux Raspberry Pi OS
Most of the library I think that I understand and I see why this should be the main option for all LED cube projects on Arduino
but I still need some help or pointing in the right direction to get it to work for my cube too so if you're still into this project
and have the time to help a guy out I would for sure appreciate it very much.
Please let me know what you think, thanks.
Hi!
I get a build error when trying to build the jolliCude_MD_Cubo_Demo_V1_0-sketch with an Arduino Micro / Leonardo or any board with A Atmega32U4 on.
I get the following error:
In file included from C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/USBAPI.h:44:0,
from C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Arduino.h:233,
from sketch\jolliCube_MD_Cubo_Demo_V1_0.ino.cpp:1:
C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/USBCore.h:82:48: error: expected unqualified-id before numeric constant
#define TEST_MODE 3
^
C:\Users\lond\Documents\Arduino\libraries\MD_Cubo\src/MD_Cubo_8x8_jC.h:73:15: note: in expansion of macro 'TEST_MODE'
const uint8_t TEST_MODE = 0x0F; ///< MAX7219 test mode control register address
^~~~~~~~~
Multiple libraries were found for "MD_Cubo.h"
Used: C:\Users\lond\Documents\Arduino\libraries\MD_Cubo
Multiple libraries were found for "SoftwareSerial.h"
Used: C:\Program
Not used: C:\Users\lond\Documents\Arduino\libraries\EspSoftwareSerial
exit status 1
Error compiling for board Arduino/Genuino Micro.
I have the following setup:
Arduino IDE - 1.8.10
MD_Cubo - 2.0.2
Custom Arduino Micro board
/// Marcus
It would be nice to have a function to draw a plane/cube this not parallel to the coordinate planes by giving 4 sets of coordinates.
I'm using a jolliCube + the library works great with an Arduino Uno. Thank you. I've sent in a contribution.
I'd love to adapt this to work with the Adafruit Feather nrf52840 Express, which would allow me to easily add Bluetooth from Adafruit's iOS and Android Bluefruit app.
I've connected the Adafruit board & the test sketch runs fine, but when running the the MD_Cubo_Demo_V1_0, I get the errors below. FYI: The wiring on the Adafruit board is:
M0 instead of Pin 11 on the Uno and
SK instead of Pin 13 on the Uno
Arduino: 1.8.10 (Mac OS X), Board: "Adafruit Bluefruit Feather nRF52840 Express, 0.2.13 SoftDevice s140 6.1.1, Level 0 (Release)"
/Users/gallaugh/Documents/Arduino/libraries/MD_Cubo/src/MD_Cubo_8x8_ICS574.cpp: In member function 'virtual void MD_Cubo_ICS574::begin()':
/Users/gallaugh/Documents/Arduino/libraries/MD_Cubo/src/MD_Cubo_8x8_ICS574.cpp:19:3: error: 'DDRC' was not declared in this scope
DDRC = 0xff;
^~~~
/Users/gallaugh/Documents/Arduino/libraries/MD_Cubo/src/MD_Cubo_8x8_ICS574.cpp:19:3: note: suggested alternative: 'DEC'
DDRC = 0xff;
^~~~
DEC
/Users/gallaugh/Documents/Arduino/libraries/MD_Cubo/src/MD_Cubo_8x8_ICS574.cpp:20:3: error: 'PORTC' was not declared in this scope
PORTC = 0x00;
^~~~~
/Users/gallaugh/Documents/Arduino/libraries/MD_Cubo/src/MD_Cubo_8x8_ICS574.cpp:23:3: error: 'TCCR2A' was not declared in this scope
TCCR2A = 0x00;
^~~~~~
/Users/gallaugh/Documents/Arduino/libraries/MD_Cubo/src/MD_Cubo_8x8_ICS574.cpp:24:3: error: 'TCCR2B' was not declared in this scope
TCCR2B = 0x00;
^~~~~~
/Users/gallaugh/Documents/Arduino/libraries/MD_Cubo/src/MD_Cubo_8x8_ICS574.cpp:25:22: error: 'WGM21' was not declared in this scope
TCCR2A |= (0x01 << WGM21); // CTC mode. clear counter on TCNT2 == OCR2A
^~~~~
/Users/gallaugh/Documents/Arduino/libraries/MD_Cubo/src/MD_Cubo_8x8_ICS574.cpp:26:3: error: 'OCR2A' was not declared in this scope
OCR2A = 10; // Interrupt every 25600th cpu cycle (256*100)
^~~~~
/Users/gallaugh/Documents/Arduino/libraries/MD_Cubo/src/MD_Cubo_8x8_ICS574.cpp:27:3: error: 'TCNT2' was not declared in this scope
TCNT2 = 0x00; // start counting at 0
^~~~~
/Users/gallaugh/Documents/Arduino/libraries/MD_Cubo/src/MD_Cubo_8x8_ICS574.cpp:27:3: note: suggested alternative: 'SCNd32'
TCNT2 = 0x00; // start counting at 0
^~~~~
SCNd32
/Users/gallaugh/Documents/Arduino/libraries/MD_Cubo/src/MD_Cubo_8x8_ICS574.cpp:28:22: error: 'CS22' was not declared in this scope
TCCR2B |= (0x01 << CS22) | (0x01 << CS21); // Start the clock with a 256 prescaler
^~~~
/Users/gallaugh/Documents/Arduino/libraries/MD_Cubo/src/MD_Cubo_8x8_ICS574.cpp:28:22: note: suggested alternative: 'CHG2'
TCCR2B |= (0x01 << CS22) | (0x01 << CS21); // Start the clock with a 256 prescaler
^~~~
CHG2
/Users/gallaugh/Documents/Arduino/libraries/MD_Cubo/src/MD_Cubo_8x8_ICS574.cpp:28:39: error: 'CS21' was not declared in this scope
TCCR2B |= (0x01 << CS22) | (0x01 << CS21); // Start the clock with a 256 prescaler
^~~~
/Users/gallaugh/Documents/Arduino/libraries/MD_Cubo/src/MD_Cubo_8x8_ICS574.cpp:28:39: note: suggested alternative: 'CHG1'
TCCR2B |= (0x01 << CS22) | (0x01 << CS21); // Start the clock with a 256 prescaler
^~~~
CHG1
/Users/gallaugh/Documents/Arduino/libraries/MD_Cubo/src/MD_Cubo_8x8_ICS574.cpp:29:3: error: 'TIMSK2' was not declared in this scope
TIMSK2 |= (0x01 << OCIE2A);
^~~~~~
/Users/gallaugh/Documents/Arduino/libraries/MD_Cubo/src/MD_Cubo_8x8_ICS574.cpp:29:22: error: 'OCIE2A' was not declared in this scope
TIMSK2 |= (0x01 << OCIE2A);
^~~~~~
/Users/gallaugh/Documents/Arduino/libraries/MD_Cubo/src/MD_Cubo_8x8_ICS574.cpp: At global scope:
/Users/gallaugh/Documents/Arduino/libraries/MD_Cubo/src/MD_Cubo_8x8_ICS574.cpp:66:4: error: expected constructor, destructor, or type conversion before '(' token
ISR(TIMER2_COMPA_vect)
^
Multiple libraries were found for "SoftwareSerial.h"
Used: /Users/gallaugh/Library/Arduino15/packages/adafruit/hardware/nrf52/0.15.1/libraries/SoftwareSerial
Multiple libraries were found for "MD_Cubo.h"
Used: /Users/gallaugh/Documents/Arduino/libraries/MD_Cubo
exit status 1
Error compiling for board Adafruit Bluefruit Feather nRF52840 Express.
This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.
When running the function OutsideStack from the demo file the Arduino is crashing for some reason.
All other demo animations work fine.
Hello,
I'm trying to run your library MD_Cubo_Demo with my ics595-type card (ICStation 4X4X4 Light Cube Kit).
I removed the comment in front of #include "MD_Cubo_4x4_ICS595.h".
The code compiles and loads correctly in my Arduino Uno but nothing happens.
My LED Cube remains silent and displays nothing.
I tested my Led Cube and it works properly with the provided library.
Could you help me please ?
Thanks you
Before submitting this issue
[x ] Have you tried using the latest version of the library?
[ ] Have you checked this has not already been submitted and/or resolved?
[ ] If you are requesting help a better choice may be the Arduino forum
Compile issue using MD_Cubo_4x4_ICS595.h
Library Version: 2.1.0
Arduino IDE version: 1.8.15
Hardware model/type: Arduino Uno
OS and Version: LinuxLite
run Test or Demo, mark correct board "MD_Cubo_4x4_ICS595.h" , upload, errors out : file MD_CUBO_4x4_ICS595.h not found
compile properly
MD_Cubo_4x4_ICS595.cpp references MD_CUBO_4x4_ICS595.h, but title is "MD_Cubo_4x4_ICS595.h" in Linux, file names are case sensitive. renamed reference in CPP file and it compiled fine.
Insert your code here.
I have this cube and works similar to the 4x4x4 that already exists except is not RGB.
It uses the same STC15f2k60s2 chip.
Did some changes and create new files but is not working yet so I'm looking for help.
Example code to manual put a zero on the front:
unsigned char mBuffer[64];
unsigned char Zero[16] = {0x00, 0x7C, 0xFE, 0xB2, 0x9A, 0xFE, 0x7C, 0x00, 0x00, 0x7C, 0xFE, 0xB2, 0x9A, 0xFE, 0x7C, 0x00}; // 0
for (int i=48;i<64;i++) {
mBuffer[i] = Zero[i-48];
}
Serial.write(0xf2);
Serial.write(mBuffer,64);
I think the problem is how this cube has the led's addressed.
Before submitting this issue
[โ] Have you tried using the latest version of the library?
[โ] Have you checked this has not already been submitted and/or resolved?
Clearing the cube doesn't seem to work properly with my ICStation 595 4x4x4 Cube. When I call .clear, only the lower two planes are cleared. The upper two are not.
Library Version: 2.1.0
Arduino IDE version: 1.8.13
Hardware model/type: Arduino UNO + ICStation 595 4x4x4 Cube
OS and Version: Windows 10 64-bit
Run the code example provided below on a ICStation 595 4x4x4 Cube.
All voxels/LEDs get turned off by calling C.clear().
Just the voxels/LEDs in the lower two planes are turned off. The voxels/LEDs in the upper two planes are still lit.
#include <MD_Cubo.h>
#include "MD_Cubo_4x4_ICS595.h"
MD_Cubo_ICS595 C;
void setup() {
C.begin();
}
void loop() {
const uint16_t delay = 1000;
C.fillPlane(VOX_ON,0, 0);
C.fillPlane(VOX_ON,0, 1);
C.fillPlane(VOX_ON,0, 2);
C.fillPlane(VOX_ON,0, 3);
C.update();
C.animate(delay);
C.clear();
C.update();
C.animate(delay);
}
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.