PDA

View Full Version : Arduino help



Bksabath
31-12-2020, 10:43
I would like to ask your help
I need an Arduino daughter board to control 7 outputs

where to start ?

a complete board and programming would be great

Shovel_Knight
31-12-2020, 11:49
That's a rather vague description, what exactly do you want to accomplish? Switch 7 outputs on and off using relays or?..

Bksabath
31-12-2020, 12:51
Hi I started a small project :) regarding a soft start circuit
It can all been done whit a few transistor but it is rapidly evolving in to a beast that I find difficult to swallow

At the start I needed 4 relays closing after a delay on time
I have found that The ULN 2003 IC has 7 outputs best of all it works up to 50V

I can use the transistors (capacitor charging trough a large resistor on the base) to control the sequence

But then I realise that I have 3 spare outputs and here is where I am getting in deep water whiteout a preserver

There is a separate board for the speaker protection 2 more relays for the stereo pair
so maybe whit a current sensor this could be easily done

And then maybe use this a Vu meter

I realise that an Arduino daughter board could do al this and a lot more
Being an Old Git my attitude and skill can be summarised whit " Just use a bigger hammer "
when it would involve Programming Puters I am lost and would not know where to start

So
I need to place on the mother board the connections for the Arduino daughter board (can do that at least) and then ...?
what Arduino to use ?
what does it needs 5 V supply and ?

can I plug it to the telly ? can I switch on the amplifier whit the vifi :) ?

Shovel_Knight
31-12-2020, 13:42
I googled ULN2003 - what a nifty little device! The best part is that the price is €0.45 a piece when bought in multiples of 10, maybe I will buy some when I place my next order at Mouser. Since there's a PDIP variant available you could easily wire it up on a piece of Veroboard.

In general Arduino needs a 5V supply to work (you can use the USB connector to power it or wire it directly to the +5V pin on the Arduino board). Even the smallest Arduino (Nano) has 22 digital I/O pins so it should be enough for your purposes. Last time I checked they were about €5 or even cheaper if bought from China. Chinese vendors also sell convenient breakout boards with screw terminals. Of course, you would need to program the correct sequence and upload the firmware to the device...

If you want to control the amplifier using WiFi etc, things get much more complicated. You would probably need to use a ESP8266 board to enable wireless functionality and I'm not really familiar with these.

29075

Bksabath
31-12-2020, 20:06
Many tanks Pavel
I will look at the Nano

Any start up kit whit all needed out there ?

Shovel_Knight
31-12-2020, 23:45
Not sure about start up kits - you probably have to look around for some "maker stores" - they usually have quite a lot of bits and pieces related to Arduino etc.

Gregje
17-01-2021, 17:15
Have a look here: https://hifiduino.wordpress.com/introduction-and-guide-to-hifiduino/
It is not exactly what you want to achieve but it gives you a very good idea how arduino can be used in HiFi equipment.
I imagine you will need some input interface as well. A rotary encoder, push buttons? And some sort display - well maybe not - you might be able to attach an LED in parallel to each relay.

Here's mine:2913529136

ULN2003 looks pretty cool. It will solve lots of issues for you!

Bksabath
18-01-2021, 19:15
Hi Greg
Many tanks for the reply
I only had a quick look at the link you posted it is just the thing I am looking for
I got one of those kits whit an Arduino Uno and a every for when I have learned the ropes
They are still in the box
My main project is to time 4 relays to do a soft start on a pair of 800 VA transformer so it is pretty simple but as you say the possibility are endless


https://theartofsound.net/forum/showthread.php?58573-The-Bug-is-back&p=1245293#post1245293

As I am building a 3 box, 1PSU and 2 F5Turbo mono blocks I may not make it to complicated but I was thinking that whit a couple of CT transformers I can take a reading of the current charging the first bank of capacitors and maybe put a couple of Vu meter like dudas on it maybe even monitor the current to power things down if it get to hi

I already have separate speaker protection whit the UPC1378 but this could also be done whit the Arduinos
On another build I am using a simple mosfet to control the speed of a cooling fan again this could have been done whit the Arduinos
It is early days the Arduinos Giga magic's are still in the box things are pretty slow at the moment
I got a fair bit of experience working whit Lader Logic and Siemens PLC's but I will certanly give you a shout when the time came to write the program

Again thanks for for the help
Keep it camming :)

Bksabath
23-01-2021, 23:16
My first attempt at doing an Arduino program
any suggestions about making it more elegant?
Can I use an output (in this case Led 1 ) as an input to start the sequence I am using a wire from pin 3 to pin 8



int button = 2;
int led1 = 3;
int status = false;
int switchstate = 0;


void setup(){


pinMode(8, INPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
pinMode(button, INPUT_PULLUP); // set the internal pull up resistor, unpressed button is HIGH
}


void loop(){
//a) if the button is not pressed the false status is reversed by !status and the LED turns on
//b) if the button is pressed the true status is reveresed by !status and the LED turns off


if (digitalRead(button) == true) {
status = !status;
digitalWrite(led1, status);
} while(digitalRead(button) == true);
delay(5); // keeps a small delay




// read the value of the switch
// digitalRead() checks to see if there is voltage on the pin or not
switchstate = digitalRead(8);





digitalWrite(4, LOW); // turn the red LED on pin 4 off
digitalWrite(5, LOW); // turn the red LED on pin 5 off
digitalWrite(6, LOW); // turn the red LED on pin 6 off
digitalWrite(7, LOW); // turn the red LED on pin 7 off
}

digitalWrite(4, HIGH); // turn the green LED on pin 4 on
delay(1000);
digitalWrite(5, HIGH); // turn the red LED on pin 5 on
delay(1000);
digitalWrite(6, HIGH); // turn the red LED on pin 6 on
delay(1000);
digitalWrite(7,HIGH); // turn the red LED on pin 7 on

}
}


It has taken me all off 5 minutes to write the Ladder Logic, and I must confess hours of copy and paste
some how I just not get it and the help for sintax errors is flup

Gregje
27-01-2021, 17:10
I would use
#define BUTTON 2
#define LED1 3
#define MYINPUT 8

and maybe #defines for all other outputs.

But that is cosmetics.

What worries me is digitalRead(BUTTON). Usually when you press a button you get some noise/oscillation.
Check out
https://www.arduino.cc/en/Tutorial/BuiltInExamples/Debounce

Some of your statements are outside closing } corresponding to loop(){...

Not sure why you are doing digitalWrite(4..7, LOW)

Why do you need a connection from LED1 to MYINPUT?
Couldn't you (if button pressed) operate directly on switchStatus instead of status and then passing it through a cable to MYINPUT and reading it from there?

Am I missing something (very well possible!!!!)

Shovel_Knight
27-01-2021, 17:29
Frankly, I would use an interrupt to read the button presses.

For denouncing a button I would simply use a capacitor/resistor circuit: https://electronics.stackexchange.com/questions/64770/is-it-possible-to-use-just-a-capacitor-to-debounce-a-button If the input pin is low by default, it's even possible use a single 0.1uF capacitor to debounce the button.