On May 29, 2006, at 1:02 AM, Hans-Christoph Steiner wrote:
I am pretty sure that the hardware PWM in the Arduino is too fast
to control a servo.
ok, i tryed using Digital pins and didnt succeded neither.
Do you have the specs for the PWM signal that you need to send to
the servo?
no, its a very plain standar servo and i will just like to move it in
2 directions, no professional precition required
This actually reminds me, this might be an application of [pwm],
since servos actually need pretty low frequency PWM signals to
control them, like 50 Hz or so IIRC.
yeap, thats what i've been trying..but ignorance gets in my way.. any
place where i shall go and look? google brings big professional
approaches but nothing simple or as naive as my needs and intentions.
tx, /a
.hc
On May 28, 2006, at 5:59 PM, nomeparece wrote:
hi list,
I've been trying to control a servo from within pd using the
[arduino] and the [pwm] objects.my newbeness keeps me from being able to see/make the servos move,
i explain what im doing with some comments inside the following
patch (below)im sure the servos are ok, red pin=5v, brown pin=GND, orange pin= (tried in pwm0, pwm1,etc,,), i have tried them with a
potentiometer and all is fine.. the board if flashed
correctly..not sure what i might be missing.. :/ any help, warmly
welcome. tchuss! /a#N canvas 139 73 1013 660 10; #X msg 507 212 open $1; #N canvas 162 133 538 388 serin 0; #X obj 120 61 cnv 15 15 15 empty $0-number-canvas 3 4 8 0 14 -233017 -1 0; #X obj 200 225 s $0-number-canvas; #X obj 60 61 hradio 15 1 0 4 empty empty empty 0 -6 0 8 -225271 -1 -1 3; #X obj 59 147 outlet; #X obj 60 13 inlet; #X msg 200 202 label $1; #X obj 200 180 makefilename %d; #X obj 59 108 int; #X connect 2 0 7 0; #X connect 4 0 2 0; #X connect 5 0 1 0; #X connect 6 0 5 0; #X connect 7 0 3 0; #X connect 7 0 6 0; #X coords 0 -1 1 1 76 17 1 60 60; #X restore 507 189 pd serin; #X text 504 171 serial port #; #X text 755 605 released under the GNU GPL; #X text 397 595 (C) Copyright 2006 Hans-Christoph Steiner
hans@at.or.at ; #X msg 567 212 close; #X obj 414 544 print --------------------; #X obj 759 355 tgl 15 0 empty empty changes 0 -6 0 8 -262144 -1 -1 0 1; #X obj 644 95 hradio 15 1 0 14 empty empty empty 0 -6 0 8 -262131 -1 -1 10; #X obj 621 96 tgl 15 0 empty empty empty 0 -6 0 8 -262131 -1 -1 1 1 ; #X obj 640 168 +; #X obj 621 142 * 14; #X obj 640 189 + 200; #X floatatom 646 212 5 0 0 0 - - -; #X obj 644 114 t b f; #X obj 706 358 tgl 15 0 empty empty all 0 -6 0 8 -262144 -1 -1 0 1 ; #N canvas 100 289 622 341 decode 0; #X obj 241 26 inlet; #X obj 46 189 & 1; #X obj 72 189 & 2; #X obj 98 189 & 4; #X obj 46 213 tgl 15 0 empty empty 0 4 25 1 12 -262144 -1 -1 0 1; #X obj 72 213 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 2 ; #X obj 98 213 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 4 ; #X obj 124 213 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 8; #X obj 150 213 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 16; #X obj 182 213 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 32 32; #X obj 215 213 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 64; #X obj 248 213 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 128; #X obj 287 213 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 256; #X obj 326 213 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 512; #X obj 365 213 tgl 15 0 empty empty 10 -1 25 1 12 -262144 -1 -1 0
1024 ; #X obj 409 213 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 2048; #X obj 453 213 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 4096 4096; #X obj 499 213 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 4; #X obj 124 189 & 8; #X obj 150 189 & 16; #X obj 182 189 & 32; #X obj 215 189 & 64; #X obj 248 189 & 128; #X obj 287 189 & 256; #X obj 326 189 & 512; #X obj 365 189 & 1024; #X obj 409 189 & 2048; #X obj 453 189 & 4096; #X obj 499 189 & 8192; #X obj 261 273 outlet; #X connect 0 0 1 0; #X connect 0 0 2 0; #X connect 0 0 3 0; #X connect 0 0 18 0; #X connect 0 0 19 0; #X connect 0 0 20 0; #X connect 0 0 21 0; #X connect 0 0 22 0; #X connect 0 0 23 0; #X connect 0 0 24 0; #X connect 0 0 25 0; #X connect 0 0 26 0; #X connect 0 0 27 0; #X connect 0 0 28 0; #X connect 1 0 4 0; #X connect 2 0 5 0; #X connect 3 0 6 0; #X connect 18 0 7 0; #X connect 19 0 8 0; #X connect 20 0 9 0; #X connect 21 0 10 0; #X connect 22 0 11 0; #X connect 23 0 12 0; #X connect 24 0 13 0; #X connect 25 0 14 0; #X connect 26 0 15 0; #X connect 27 0 16 0; #X connect 28 0 17 0; #X restore 836 553 pd decode buttons; #X obj 409 89 hsl 128 15 0 1 0 0 empty empty PWM_control_(0-1) -2 -6 1 10 -225271 -1 -1 5900 0; #X msg 415 519 bang; #X obj 606 340 arduino 3; #X floatatom 683 116 5 0 0 0 - - -; #X text 753 81 7; #X text 648 81 0; #X text 794 81 10; #X msg 405 173 $2 $1; #X obj 405 151 pack float symbol; #X msg 516 110 PWM2; #X msg 480 110 PWM1; #X msg 445 110 PWM0; #X obj 418 281 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1
16383 16383; #X obj 418 244 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1; #X obj 417 382 spigot 0; #X obj 467 353 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1; #X obj 417 404 route analog0 analog1 analog2 analog3 analog4 analog5 ; #X obj 765 474 route digital; #X obj 838 494 print GARBAGE; #X floatatom 781 554 6 0 0 0 - - -; #X text 744 122 how many analogIns to enable:; #X obj 756 183 tgl 15 1 empty empty empty 0 -6 0 8 -257472 -1 -1 0 1; #X text 779 182 enable/disable digitalIns; #X msg 756 201 digitalIns $1; #X msg 745 156 analogIns $1; #N canvas 162 133 546 396 serin 0; #X obj 165 61 cnv 15 15 15 empty $0-analog-number-canvas 6 4 8 0 14 -233017 -1 0; #X obj 60 61 hradio 15 1 1 7 empty empty empty 0 -6 0 8 -225280 -1 -1 6; #X obj 59 147 outlet; #X obj 60 13 inlet; #X msg 200 202 label $1; #X obj 200 180 makefilename %d; #X obj 59 108 int; #X obj 200 225 send $0-analog-number-canvas; #X connect 1 0 6 0; #X connect 3 0 1 0; #X connect 4 0 7 0; #X connect 5 0 4 0; #X connect 6 0 2 0; #X connect 6 0 5 0; #X coords 0 -1 1 1 121 17 1 60 60; #X restore 746 136 pd serin; #X text 839 81 13; #X text 596 67 turn on output mode for each pin (off = input); #X obj 718 528 spigot; #X obj 751 510 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1; #X obj 718 549 print; #X msg 732 291 231 , 20 , 226 , 213; #X text 434 244 this will flash any pin set to output; #N canvas 0 22 473 330 speed 0; #X obj 21 41 inlet; #X obj 21 62 maxlib/speedlim 100; #X obj 21 84 outlet; #X obj 82 125 inlet; #X obj 82 146 maxlib/speedlim 100; #X obj 82 168 outlet; #X obj 92 135 inlet; #X obj 92 156 maxlib/speedlim 100; #X obj 92 178 outlet; #X obj 102 145 inlet; #X obj 102 166 maxlib/speedlim 100; #X obj 102 188 outlet; #X obj 112 155 inlet; #X obj 112 176 maxlib/speedlim 100; #X obj 112 198 outlet; #X obj 122 165 inlet; #X obj 122 186 maxlib/speedlim 100; #X obj 122 208 outlet; #X obj 132 175 inlet; #X obj 132 196 maxlib/speedlim 100; #X obj 132 218 outlet; #X connect 0 0 1 0; #X connect 1 0 2 0; #X connect 3 0 4 0; #X connect 4 0 5 0; #X connect 6 0 7 0; #X connect 7 0 8 0; #X connect 9 0 10 0; #X connect 10 0 11 0; #X connect 12 0 13 0; #X connect 13 0 14 0; #X connect 15 0 16 0; #X connect 16 0 17 0; #X connect 18 0 19 0; #X connect 19 0 20 0; #X restore 417 426 pd speed limiting for displaying values with
pegging the CPU; #N canvas 77 268 462 312 debugging 0; #X obj 136 31 inlet; #X obj 324 29 inlet; #X obj 27 31 inlet; #X obj 162 81 spigot; #X obj 159 106 select 255; #X obj 184 246 print; #X obj 184 227 list; #X obj 96 80 spigot; #X obj 210 201 bang; #X obj 96 101 print; #X obj 181 138 mapping/tolist; #X obj 208 181 change; #X obj 208 159 list-abs/list-len; #X connect 0 0 7 1; #X connect 1 0 3 1; #X connect 2 0 7 0; #X connect 2 0 3 0; #X connect 3 0 4 0; #X connect 4 0 10 1; #X connect 4 1 10 0; #X connect 6 0 5 0; #X connect 7 0 9 0; #X connect 8 0 6 0; #X connect 10 0 6 1; #X connect 10 0 12 0; #X connect 11 0 8 0; #X connect 12 0 11 0; #X restore 655 377 pd debugging stuff; #X text 627 275 use raw data to save settings more compactly; #X floatatom 417 451 5 0 0 0 - - -; #X floatatom 476 451 5 0 0 0 - - -; #X floatatom 535 451 5 0 0 0 - - -; #X floatatom 594 451 5 0 0 0 - - -; #X floatatom 653 451 5 0 0 0 - - -; #X floatatom 712 451 5 0 0 0 - - -; #X obj 502 132 symbol; #X obj 417 262 metro 100; #X floatatom 416 134 5 0 0 0 - - -; #X text -35 23 halo hans , today i have been trying again to use
this patch but in a straightfwd way , or at least following my novice
logic i havent been able to control the connected to the arduino servo. PIN red to 5v PIN brown to GND PIN orange to: i have tried pwm0 , pwm1 , pwm2 on the board and paired with this patch , then moving the slider..but i only see the tx lights blink. i have tried the digital outputs turning on the output mode for different pins (PIN orange to all 0 to 7 pins on the board and it moves only when its connected to 0 (Rx) cause of the little data/electricity that flows from the
computer to the board adding and moving an hslider , connected directly to the [arduino 3] object and with 0 -1 range-properties makes the tx little light in the arduino blink but the servo still doesnt react or move. i have used the servo with a potentiometer so i know how to connect and feed electricity to it. i see pd tells me: [comport]
opened serial line device 3 (/dev/tty.usbserial-1B1) im not sure what im
doing wrong , must be a dumb little thing. any clue appreciated , buena energia , alejo; #X connect 0 0 19 0; #X connect 1 0 0 0; #X connect 5 0 19 0; #X connect 7 0 51 2; #X connect 8 0 14 0; #X connect 8 0 20 0; #X connect 9 0 11 0; #X connect 10 0 12 0; #X connect 11 0 10 0; #X connect 12 0 13 0; #X connect 12 0 19 0; #X connect 14 0 11 0; #X connect 14 1 10 1; #X connect 15 0 51 1; #X connect 17 0 25 0; #X connect 17 0 61 0; #X connect 18 0 6 0; #X connect 19 0 31 0; #X connect 19 1 51 0; #X connect 24 0 19 0; #X connect 25 0 24 0; #X connect 26 0 59 0; #X connect 27 0 59 0; #X connect 28 0 59 0; #X connect 29 0 19 0; #X connect 30 0 60 0; #X connect 31 0 33 0; #X connect 32 0 31 1; #X connect 33 0 50 0; #X connect 33 1 50 1; #X connect 33 2 50 2; #X connect 33 3 50 3; #X connect 33 4 50 4; #X connect 33 5 50 5; #X connect 33 6 50 6; #X connect 34 0 16 0; #X connect 34 0 36 0; #X connect 34 0 45 0; #X connect 34 1 35 0; #X connect 38 0 40 0; #X connect 40 0 19 0; #X connect 41 0 19 0; #X connect 42 0 41 0; #X connect 45 0 47 0; #X connect 46 0 45 1; #X connect 48 0 19 1; #X connect 50 0 53 0; #X connect 50 1 54 0; #X connect 50 2 55 0; #X connect 50 3 56 0; #X connect 50 4 57 0; #X connect 50 5 58 0; #X connect 50 6 34 0; #X connect 59 0 25 1; #X connect 60 0 29 0;
PD-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/ listinfo/pd-list
"[W]e have invented the technology to eliminate scarcity, but we
are deliberately throwing it away to benefit those who profit from
scarcity." -John Gilmore