Arduino powered diy sea sweep! Oscillating wavemaker diy!

Awesome! I'll be interested to hear your long term success with it. The downfall of the seasweeps and similar devices all seem to be the off-axis loading on the drive mechanism from the pumps.
Agree, long term success isn't at all guaranteed. But the servos are cheeeeap and I can replace fairly easily. But if I burn through them too quickly I'll decouple the servo from the powerhead and use the servo to turn the powerhead through a linkage or some sort of belt setup. I'd just have to mount the powerhead to some bearings.
 
Yes! There would still be a loading issue, but it could be borne by a bearing designed to handle it vice a servo which generally isn't.
 
Yes! There would still be a loading issue, but it could be borne by a bearing designed to handle it vice a servo which generally isn't.
My hope though is that since this servo has double sided bearings on an arm and is meant for robotics applications that it will be more suitable for the task than rc style servos.
 
Awesome! I'll be interested to hear your long term success with it. The downfall of the seasweeps and similar devices all seem to be the off-axis loading on the drive mechanism from the pumps.

Yep. That’s what I ran into. The large Tunze and Jebao pumps pulsing on and off put a lot of torque on the axel. After a few rounds of redesign, and a little help from Geo’s CNC machine, I was able to solve the problem and my oscillators have been running continuously since the end of 2011. There is an old thread somewhere on RC.

With a smaller pump like yours, you should be fine. If anything, maybe use thinner acrylic on the mount so it can bend and absorb the movement from the pump.
 
ggeeeeeee great thanks............ :/
wife's gonna kill me as i now have a new project for my tank.... :D lol

awesome job buddy looks great!!
 
ggeeeeeee great thanks............ :/
wife's gonna kill me as i now have a new project for my tank.... :D lol

awesome job buddy looks great!!
Don't worry, my wife let me do this one...and she never lets me do anything fun.

Let me know if you want the code .
 
Too cool!
 
I’d love the code for this and maybe a wiring diagram or photo of the breadboard and everything so I don’t have to reinvent the wheel or spend too much time figuring that part out. Been a while since I’ve built electronics but I’ve still got all my stuff so might as well try this. :) Awesome.
 
Agree, long term success isn't at all guaranteed. But the servos are cheeeeap and I can replace fairly easily. But if I burn through them too quickly I'll decouple the servo from the powerhead and use the servo to turn the powerhead through a linkage or some sort of belt setup. I'd just have to mount the powerhead to some bearings.

What about a stepper motor, they can handle the stress and will most likely last longer.
 
What about a stepper motor, they can handle the stress and will most likely last longer.
Theoretically they're no better or worse than a servo, only a different control method. Servos are a bit more appropriate for this application and are more commonly available at hobbyist type prices. The only real way that you can guarantee that the stress won't be borne by the motor assembly is by decoupling the motor assembly from the powerhead itself. They also make heavier duty robotics or industrial servos, but the price point wasn't going to work for a project of this scope.

I'd also consider trying something like this.

https://www.robotshop.com/en/lynxmo...Yzohgs-9Lyy4qOQ4K_CqYnHcHxgscvS8aAmYUEALw_wcB

This is basically what I'm using but this is a bit more heavy duty.
 
Last edited:
I’d love the code for this and maybe a wiring diagram or photo of the breadboard and everything so I don’t have to reinvent the wheel or spend too much time figuring that part out. Been a while since I’ve built electronics but I’ve still got all my stuff so might as well try this. :) Awesome.
I'd be glad to, code is on my computer at home. I'll try to put together a wiring diagram as well... My breadboard is a mess, it will only cause confusion.
 
looking for a sweep that a power head goes on like yours..yours is a way better idea than the sea sweep version,,your version ,,any kind of wave maker can be put on,,which is better in the long run..plus leaves alot more adjustablality for different wave makers to be used..
 
looking for a sweep that a power head goes on like yours..yours is a way better idea than the sea sweep version,,your version ,,any kind of wave maker can be put on,,which is better in the long run..plus leaves alot more adjustablality for different wave makers to be used..
Only time will tell how durable my solution really is. But thank you for the kind words.
 
Here's the code


Code:
#include <Servo.h>

Servo myservo;


int led = 13;  //set first led on pin 13
int led2 = 12; // set second led on pin 12
int led3 = 11; // set third led on pin 11
int point of sale;

const int button1Pin = 2; //attach first switch to pin 2 (sweep)
const int button2Pin = 4; //attach second switch to pin 3 (sweep with delay)
const int button3Pin = 7; //attach third switch to pin 7 (point)

int button1State = 0;
int button2State = 0;
int button3State = 0;

int potpin = 0; //attach potentiometer (middle attachment point on potentiometer) to pin 0
int val;


void setup() {

  pinMode(led, OUTPUT);
  pinMode(led2, OUTPUT);
  pinMode(led3, OUTPUT);
  pinMode(button1Pin, INPUT);
  pinMode(button2Pin, INPUT);
  pinMode(button3Pin, INPUT);
  myservo.attach(9); //servo signal wire is attached to pin 9 (power needs to be attached to vin will not operate on 3V or 5V)
}


void loop() {
  button1State = digitalRead(button1Pin);
  button2State = digitalRead(button2Pin);
  button3State = digitalRead(button3Pin);
  if (button1State == HIGH && button2State == LOW && button3State == LOW)
  {
    digitalWrite(led, HIGH);
    for (point of sale = 80; point of sale <= 130; point of sale += 1) //set degrees for wavemaker turn angle (0-180) my setting is 80 to 130
    {
      
      val = analogRead(potpin);

      myservo.write(point of sale);
      delay(map(val, 0, 1023, 750, 15)); //delay is set from 15 milliseconds to 750 milliseconds, you can adjust as needed
      Serial.println(point of sale);
    }
    for (point of sale = 130; point of sale >= 80; point of sale -= 1)  //set degrees for wavemaker turn angle (0-180) my setting is 80 to 130
    {
      val = analogRead(potpin);
      myservo.write(point of sale);
      delay(map(val, 0, 1023, 750, 15));  //delay is set from 15 milliseconds to 750 milliseconds, you can adjust as needed
      Serial.println(point of sale);;
    }
  }
  else if (button1State == LOW && button2State == HIGH && button3State == LOW);
  digitalWrite(led, LOW);
  if (button1State == LOW && button2State == HIGH && button3State == LOW)
  {
    digitalWrite(led2, HIGH);
    val = analogRead(potpin);
    for (point of sale = 90; point of sale <= 130; point of sale += 1) //set degrees for wavemaker turn angle (0-180) my setting is 90 to 130
    {
      myservo.write(point of sale);
      delay(40);
    }

    delay(map(val, 0, 1023, 60000, 1000)); //delay at end of sweep will be set from 1000 milliseconds (1 second) to 60,000 milliseconds (1 minute) depending on position of potentiometer.  Can edit if necessary

    for (point of sale = 130; point of sale >= 90; point of sale -= 1)//set degrees for wavemaker turn angle (0-180) my setting is 90 to 130
    {
      myservo.write(point of sale);
      delay(40);
    }

    delay(map(val, 0, 1023, 60000, 1000)); //delay at end of sweep will be set from 1000 milliseconds (1 second) to 60,000 milliseconds (1 minute) depending on position of potentiometer.  Can edit if necessary
  }
  else if (button1State == HIGH && button2State == LOW && button3State == LOW);
  digitalWrite(led2, LOW);
  if (button1State == LOW && button2State == LOW && button3State == HIGH)
  {
    digitalWrite(led3, HIGH);
    val = analogRead(potpin);
    val = map(val, 0, 1023, 60, 150);
    myservo.write(val);
    delay(15);
  }
  else if (button1State == LOW && button2State == LOW && button3State == LOW);
  digitalWrite(led3, LOW);
}

Amazon can send you the rest. ;Yawn

I'll try to get the wiring (fritzing) diagram up tomorrow.
 

IF YOU HAD TO TAKE A REEFING EXAM, WOULD YOU PASS?

  • Yes!

    Votes: 32 45.7%
  • Not yet, but I have one that I want to buy in mind!

    Votes: 9 12.9%
  • No.

    Votes: 26 37.1%
  • Other (please explain).

    Votes: 3 4.3%
Back
Top