Yes, the current draw is the main factor here. That's not really an Arduino issue though, as I will enlighten you about later on when I talk power supplies.
I assume, since you don't mention what the LEDs are, that you are talking about strips of WS2812 "NeoPixel" LEDs (the ones where you can control the colour of each and every individual LED).
I would ...
When something works, but not completely, it's often due to power issues.
Embedded things, microcontrollers/Arduino are fairly robust and "logical".
Hence, if your Arduino program works today, it'll work tomorrow.
Analog devices, or electricity is (in my eyes) often a bit vague. A chip can get enough power to run, but not enough to work properly.
Not really an applause detector, but I have written a sound meter
program you could use as a starting point for your own project. It is
available here: Arduino sound meter. It works as follows:
the analog input is read at a constant rate of about 9600 samples per
second, which is normally fine for telephone quality audio processing
the DC offset from the ...
Everything can be found out by reading the schematic which, incidentally, is the first hit on Google when you search for "Adafruit motor shield 2.3 schematic":
What are the pin holes above and below the Arduino pins? Are they secondary positions for the pins?
Yes. They're just there to make it easy to solder wires and jumpers to.
What is the PWMs 0,1,...
Your Duemilanove only has 1k of RAM. That's not much. Each pixel takes 3 bytes of RAM (R/G/B). So (say) 60 pixels would be 180 bytes. That's less than 1k, but there would be other uses of RAM in your sketch.
750 LEDs sounds like pushing it for the low-RAM Arduinos.
You might want to look at NeoPixels Revealed: How to (not need to) generate precisely timed ...
The AdaFruit Trinket just doesn't have a lot of memory - 8kb, of which 3kb is used by the bootloader.
The order I look for things to reduce the footprint of an Arduino program are:
data (e.g. large strings)
your code (especially doing the same things several times, which might be combined into loops or functions).
In this case, you don't have ...
As already mentioned by AMADANON Inc. in his answer, you should qualify
as const all the constant variables at the beginning of the program.
This is probably the biggest space saver.
You can gain something like 100 bytes by using direct port
access instead of
pinMode/digitalRead/digitalWrite. In the case of the ATtiny85, you only
have port B, and the ...
The NRF24L01+ has inputs that are 5V tolerant! So you only need to provide 3.3V on the Vcc pin of the module, which you can do by putting a voltage regulator between it, and the 5V of the Trinket. So there isn't really any need to convert the Trinket to 3.3V.
PS Remember to add some capacitors to the output of the voltage regulator, as the NRF needs a ...
As pointed out in other answers and comments, step one was trying to get a datasheet for this component. I couldn't find a datasheet for the shield, but here is the link from the vendor I bought it from, and they provided with some articles were they explained how to perform the resistance measure. However, I then noticed the answer was in the example code ...
I think these lines still need to be in your main sketch file (in addition to being in your custom class file):
If I remember the Arduino IDE quirks correctly, it uses the #include directives in the main sketch file to determine which libraries to actually link. It's one of those ...
A couple of things I see...
1.) Your motor leads may be shorting out of the housing of the motor. make sure they are not.
2.) You may have the motor on the wrong port for the given code:
On line 7 of the code it reads: AF_DCMotor motor(4);
So try switching physically your motor to port 4.
3.) Also, this board has an I2C address and I dont see that ...
You don't modify the library at all. The page refers to the constructor which is the last line here:
#define PIN 6
Adafruit_NeoPixel strip = Adafruit_NeoPixel(60, PIN, NEO_GRB + NEO_KHZ800);
So that would send to 60 NeoPixels. Change the 60 to however-many you have.
To compare, try running my library here. That doesn'...
There is nothing wrong with the library. It does not allow just one object instance.
What is wrong is your way of using it.
It, and many other libraries, specify the pin numbers and other (under normal usage) static data in the constructor. You want to have two objects then create two objects.
But it seems you want to change that static data. So you need ...
An option not already mentioned, but may be worth mentioning, would be to remove the bootloader and program the chip directly with a hardware programmer (or another Arduino). That will increase the available sketch memory from 5kiB to the full 8kiB on the chip.
Unfortunately I do not have the ability to comment. What I can suggest is to look at the small 5 pin regulator and look at its markings. If the IC is marked with "QT33" then adafruit has stupidly soldered the wrong chip onto your trinket board. If it says "QT50" then the regulator is not at fault.
Well, a sort of... You can stream 64kbps MP3, get it via wifi from esp8266. Then for all the rest, forget the Arduino.
You need a dedicated MP3 decoder chip (many out there, sta013 was one of the oldest beasts) which can take the digital mp3 stream and convert it to analog output.
You can feed the line level analog output to the FM Transmitter, and then ...
I'd look for a proper stepper driver, e.g. something based on A4988 or similar. I wasted a fair amount of time on the Adafruit motor-shield 2.3 until I finally abandoned it after failing to achieve higher speeds (I also had lots of issues with the motor getting hot). The A4988 takes care of step sequencing including micro-stepping and interfacing and ...
Chances are the offset headers won't allow the shield to directly plug into a breadboard.
As @Majenko noted, shields have a header that is offset by 0.16" from the other headers. Since a breadboard is a strict 0.1" grid that header won't fit into the holes.
You have selected a number of things that don't go well together. It is possible to use relays or mosfets to switch between batteries, and the Arduino could be used to measure a voltage. Or you can make a circuit with a few electronic components (e.g. a comparator). However, no one does it like that. It would be unreliable.
Every solar power charging module ...
"Burn Bootloader" only works if you have a programmer connected to the device. The onboard bootloader in your Feather cannot change the fuses, even though the process may indicate it has done so.
You would have to connect an ICSP (In-Circuit Serial Programmer) to the correct pins (MOSI, MISO, SCK, RESET, VCC, GND). You can use another Arduino as a ...
The “UART” being referred to is the Nordic UART GATT Service. This is not a serial port or USB connection. It is a high level BLE protocol that simulates a serial port via the Bluetooth connection.
In order to connect to the device from your Mac you’ll need to write some C or Obj-C. I’ve done this for Windows, but not a Mac, so I’m afraid I can’t give you ...
This is quite an easy fix, actually.
The problem here is the compiler doesn't think the const is used for anything - so it (quite rightly) throws it away.
All you need to do is tell the compiler that it's used and all should be good:
__attribute__((section(".myid"),used)) const unsigned long ID = 0xdead1234;
And when you compile:
delay(0) apparently[*] acts like delay(2^32) or about 10^10 milliseconds. That may not be what you had in mind ... :)
Try reducing the delay to 1 or use delayMicroseconds() to get something shorter. That should at least get you some repeatable results.
(10^10 mSec is ~ 16.5 weeks, for those without a calculator handy).
[*] I didn't read the code, nor ...
There is no interrupt for the select button.
The buttons, and the LCD itself, are connected to an I2C IO expander. Reading the state of the buttons is a polling operation - the library sends a request to the IO expander to get the current state, and then returns that to you as a bitmap.
While it is true the IO expander can be configured to generate an ...
You can't. Once constructed, an object remains constructed until you delete it.
You could either use dynamic allocation and new and delete to create and destroy objects at will, or you could create multiple objects with different settings and use different objects at different times.
Another option would be to modify the library to create a new function ...
As noted by markshancock, you are using an older version of the Adrafruit Motor Shield library meant for the version 1 of the board (you have the version 2.3), and according to their forum they are not compatible (they use different communication protocols) use the newer version of the library https://forums.adafruit.com/viewtopic.php?f=31&p=276888