Show Posts
Pages: [1] 2 3 ... 5
1  Using Arduino / Motors, Mechanics, and Power / Re: New 28BYJ-48 library on: November 27, 2013, 03:57:54 am
Hi
Thanks Bryan!  Yes, the overcurrent detection works with 12v.  Just connect a motor coil to A0 thru a 5k resistor.  For some unknown reason I did not need a resistor voltage divider.  For voltages over 12v this may be needed.  My explanation is simple.  It detects a change in torque using the simple code I've included.  The jumper needs to be present for normal operation. 

Do you mean that A0 is in paralel with Motor VCC and the supply ?



The Github link above is the most current tested version.

Question :
1. How much is the Min/Max value of motorSpeed (line 325) ?
2. in calloften() : what is your concern for calling off() each 2 ccw() ?   (line 179)

Sincerely
-bino-
2  Using Arduino / General Electronics / Re: Fixing Kitchen mixer on: September 15, 2013, 09:18:03 pm
Just two wires, looks like a normal DC motor.

In terms of schematics - show us what you've tried first?

Should be very easy to use an on/off switch and a VERY simple 555 circuit (most VERY simple 555 circuits don't give you 0-100% speed control, hence the on/off switch).

It's been quiet long time ago ..

As far as I remember one that I adopt is http://www.pcbheaven.com/scripts/imagepresent.php?filename=%2Fcircuitpages%2Fimages%2Fvoltagecontrolledacdimmer_1262362194.png

From http://www.pcbheaven.com/circuitpages/Voltage_Controlled_AC_Light_Dimmer/

I add another pot between VCC and Ground ... and inject the wiper output to 'Control Voltage input'

Still, I Only got On-Off ... but no speed controll.

Sincerely
-bino-
3  Using Arduino / General Electronics / Fixing Kitchen mixer on: September 13, 2013, 09:32:22 pm
Dear All...

First, I apologie if this post abusing this forum.

Here we go.
I Have a kitchen mixer with broken speed controll.
Here it is with opened casing
http://i44.tinypic.com/2qjm2w8.jpg

And I thing, this is the same motor
https://www.midwestapplianceparts.com/images/9703571.jpg

I want to replace the speed controll entirely using 555 (and triac + diac) based.
I tried some schematic from internet ..but got no success.
All I got is only On-Off ..no speed regulation.

Please anybody can tell me :
1. What kind of motor it is
2. Suggestion for working speed controll schematic



Sincerely
-bino-
4  Using Arduino / Microcontrollers / Re: SoftwareSerial unusable on attiny45/85 on: September 13, 2013, 08:19:11 pm
Thankyou for your help.

I'll go SoftwareSerial path.

Sincerely
-bino-
5  Using Arduino / Microcontrollers / Re: SoftwareSerial unusable on attiny45/85 on: September 12, 2013, 12:15:26 am
Sir ...

I have not often used serial with the ATtiny85, but I did in one project and it was very stable using the library from David;
https://github.com/damellis/

Could you please tell me :  which pins is use for RX/TX ?

Sincerely


6  Topics / Device Hacking / Re: tension load cell on: July 05, 2013, 11:26:13 pm
You'll get a really cheap load cell.

Picture below; link to product: http://www.buyincoins.com/item/1209.html

I really appreciate your help

Sincerely
-bino-
7  Topics / Device Hacking / tension load cell on: July 02, 2013, 09:52:09 pm
Dear All ...

I need to build kind of infusion bag/bottle monitoring.
My approach is to monitor it's current weight, and let the host pc to count it's current volume and maybe do some alarm scheme.

I'm searching the internet to look for proper load cell, and the best I found is some S-beam load cell ...but it's too pricy.

So .. anybody can tell me or better give photo on what inside a pocket fish digital scale ?

( http://images.bidorbuy.co.za/user_images/234/963234_110730114924_chinakangyu$101016657.jpg )

Sincerely
-bino-
8  Using Arduino / Project Guidance / Re: How tall is this stack of plastic baskets? on: October 25, 2012, 12:01:01 am
What about a conveyor through a tunnel/gate.
That is just like X-Ray scanner system you see at the airport.

Put 1 Light beam , and count it.

You can add a cheap notebook.
Connect Arduino to Notebook.

Software in notebook :
1. Enter the Delivery Order (Destination, Qty, etc etc)
2. Send command to arduino (number of basket to be send)
3. Wait response from arduino

Software in Arduino
1. Wait for command
2. Turn on conveyor motor
3. Count down every time the beam is blocked by basket (you can use interupt to do this)
4. When Counter is 0, :
a. Stop the motor
b. Report to notebook.
9  Using Arduino / Sensors / Re: Combining Analog and digital type input for AnalogPin on: October 24, 2012, 11:40:03 pm
Is this arrangement will do the job ?

Sincerely
-bino-
10  Using Arduino / Sensors / Combining Analog and digital type input for AnalogPin on: October 24, 2012, 11:02:38 pm
Dear All

I need to read two type of Digital type and Analog type input on a single AnalogPin.
I Knew that I need to switch over digitalRead() and AnalogRead.

But How about the schematic ?


How to switch the connection of AnalogPin between Digital_Signal and Analog_Signal ?

Sincerely
-bino-
11  Using Arduino / Project Guidance / Re: 595 to drive multiple 4051 on: October 16, 2012, 05:16:19 am
Dear All.
Thankyou for all of your helps

Let me say again, using a 4051 for outputs is a bad idea. You need to say what you are trying to do and what you are trying to drive.

I need to have 24 x 6 buttons and pots
the '6' is the number of Analog input pins.
I'll use analog input pins both with analogread() and digitalRead()

Sincerely
-bino-

12  Using Arduino / Project Guidance / Re: 595 to drive multiple 4051 on: October 16, 2012, 12:36:46 am
Dear All.
I really appreciate your response.

1. I dont use 4051 to 'read'.
2. I just want more digital output.

I knew that I can stack more 595, but it'll need me to do Shiftout more then once.

I want use this schematic for Digital/Analaog input that will read by Arduino Analog pin.

The 3x 8 output pin of 4051 will threaded as 'Row', and the Arduino Analog pins as 'Column'

This is the basic sketch :
Code:
//Pin connected to ST_CP of 74HC595
int latchPin = 8;
//Pin connected to SH_CP of 74HC595
int clockPin = 12;
////Pin connected to DS of 74HC595
int dataPin = 11;
uint8_t rows[]={8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
32,
33,
34,
35,
36,
37,
38,
39};
byte readmode[]={'t', // 't' = digital read, and
't', // ~ (NOT) the last value
't',
't',
't',
'm', // 'm' = digital read, Send HIGH=NoteOn , LOW=NoteOFF
'a', // 'a' = Analog read, Send CC
'a',
't',
't',
't',
't',
't',
'm',
'a',
'a',
't',
't',
't',
't',
't',
'm',
'a',
'a'};
uint8_t midchans[]={1,2,3}; //MIDI Channel of Left, Master, Right
uint8_t keyvals[3][2][24] = {};
uint8_t x,y,z =0; //Z=Row, Y=Sub-Group/Chan , X=Group/Chan

int loopcount=0;
long startmils=0;

void setup(){
  Serial.begin(115200);
  pinMode(latchPin, OUTPUT);
  pinMode(14, INPUT);
  pinMode(15, INPUT);
  pinMode(16, INPUT);
  pinMode(17, INPUT);
  pinMode(18, INPUT);
  pinMode(19, INPUT);
  for (x = 0 ; x <3 ; x++){
    for (y = 0 ; y<2; y++) {
      for (z = 0 ; z<24; z++) {
        keyvals[x][y][z]=0;
      }
    }
  }
}
void loop(){
  for (z = 0; z < 24; z++) {
    Serial.print("Z");
    moverow(z);
    for (y=0 ; y<3; y++){
      //pinstart = x*2
      Serial.print("Y");
      for (x=0; x<2; x++ ){
        Serial.print("X");
        //readpin=(x*2)+y
        prockey(x,y,z);
      }
    }
  }
}

void moverow(int thisrow){
    digitalWrite(latchPin, LOW);
    shiftOut(dataPin, clockPin, MSBFIRST, rows[thisrow]);
    digitalWrite(latchPin, HIGH);
}

void prockey(int proc_x, int proc_y, int proc_z){
  //First we read the analog pin
  int readpin=(proc_x*2)+proc_y ;
  int keyval=0;
  switch (readmode[proc_z]){
    case 't' : //Only Togled every time it's HIGH
      keyval=digitalRead(14+readpin);
      if (keyval) { //button pressed
        keyvals[proc_x][proc_y][proc_z]=~keyvals[proc_x][proc_y][proc_z]; //togle last key val.
        //Here you must send the midi :
        sendNote(proc_x,proc_y,proc_z);
      }
      break;
    case 'm' : // Only togled when current_keyval != last_keyvals
      keyval=digitalRead(14+readpin);
      if (keyval != keyvals[proc_x][proc_y][proc_z]){
        keyvals[proc_x][proc_y][proc_z]=keyval;
        sendNote(proc_x,proc_y,proc_z);
      }
      break;
    case 'a' : //Only Togled when current_keyval != last_keyvals
      keyval=int((analogRead(14+readpin)/1023)*127); //converted to 0-127 for midi compatible
      if (keyval != keyvals[proc_x][proc_y][proc_z]){
        keyvals[proc_x][proc_y][proc_z]=keyval;
        /*Send MidiChange
          midi channel = midichans[proc_x]
          keynumber = keynum
          value = keyval
        */
      }
      break;
  }
}

void sendNote(int send_x, int send_y, int send_z){
  int keynum=(send_z*(send_y+1))+1;
  if (keyvals[send_x][send_y][send_z]){
    /*NoteON with :
      midi channel = midichans[send_x]
      keynumber = keynum
      midival = 1
    */
  }
  else {
    /*NoteOff with :
      midi channel = midichans[send_x]
      keynumber = keynum
    */          
  }  
}
13  Using Arduino / Project Guidance / 595 to drive multiple 4051 on: October 14, 2012, 08:48:33 pm
Dear All ...

I need more digital out.
What i'm thinking of is using 595 to drive 3 x 4051

The first 3 Output of 595 (QA,QB,QC) will drive all A-B-C pin of 4051 in paralel
The second 3 (QD, QE, QF) output will drive the ENABLE (INH) pin of Each 4051.

This is what I got currently

My plan is , If I want to Set only IC1-X01 to HIGH I just need to ShiftOut : 11110000 to IC-MASTER.

Will (I don't have any IC on hand currently) this work ?

Do I have to put transistor between QD-QE-QF of master and EnablePin of Each 4501 and Ground .... so that the shifout will be : 00001000 ?

Sincerely
-bino-

14  Using Arduino / Project Guidance / Re: Control Arduino with Canon Camera on: October 08, 2012, 09:41:30 pm
What about this:
1. Catch the shoot event by tapping the Flash Shoe
2. Feed it to Arduino Interupt
3. do (after some delay ?) the slider stepping on interupt

-bino-
15  Using Arduino / Project Guidance / Re: A Simple Keyboard Question on: October 05, 2012, 11:58:49 pm
If you don't mind to do simple simple circuit like :
http://www.mindspring.com/~tom2000/Delphi/Quad_Decoder_4013.gif
That way the Direction decode done by hardware

1. Let's name each output as : 'Negative' and 'Positive' respectively
2. Let's name each set (encoder+circuit) as :
a. Yaw
b. Pitch
c. Roll
3. Use of PinChangeInt
4. Here is what in my mind

Code:
#include <PinChangeInt.h>
#define PinYawPos 3
#define PinYawNeg 4
#define PinPitchPos 6
#define PinPitchNeg 7
#define PinRollPos 6
#define PinRollNeg 7
void setup() {
    pinMode(PinYawPos, INPUT);
    digitalWrite(PinYawPos, HIGH);
    PCintPort::attachInterrupt(PinYawPos, YawPos, CHANGE);

    pinMode(PinYawNeg, INPUT);
    digitalWrite(PinYawNeg, HIGH);
    PCintPort::attachInterrupt(PinYawNeg, YawNeg, CHANGE);

    pinMode(PinPitchPos, INPUT);
    digitalWrite(PinPitchPos, HIGH);
    PCintPort::attachInterrupt(PinPitchPos, PitchPos, CHANGE);

    pinMode(PinPitchNeg, INPUT);
    digitalWrite(PinPitchNeg, HIGH);
    PCintPort::attachInterrupt(PinPitchNeg, PitchNeg, CHANGE);

    pinMode(PinRollPos, INPUT);
    digitalWrite(PinRollPos, HIGH);
    PCintPort::attachInterrupt(PinRollPos, RollPos, CHANGE);

    pinMode(PinRollNeg, INPUT);
    digitalWrite(PinRollNeg, HIGH);
    PCintPort::attachInterrupt(PinRollNeg, RollNeg, CHANGE);

    Serial.begin(115200);
    Serial.println("Yaw Pitch Roll");
}

void loop(){}
void YawPos(){
    Serial.println("Y+");
}
void YawNeg(){
    Serial.println("Y-");
}
void PitchPos(){
    Serial.println("P+");
}
void PitchNeg(){
    Serial.println("P-");
}
void RollPos(){
    Serial.println("R+");
}
void RollNeg(){
    Serial.println("R-");
}
Pages: [1] 2 3 ... 5