Velostat sheet wiring & component for Diy (Ribbon controller)

i made a ribbon controller at home using Velostat sheet .


by follow this page (Make Ribbon controller)
i did everything what is told on page. for this i use velostat sheet cut into 16mm x 300mm piece.
linked page have no wiring with arduino pins. watching some forums/result on web, i made wiring like this

here i used 10k Resistor between Gnd and one end of velostat sheet. i test resistance between both ends of velostat sheet with Digital Multimeter. it was near
170k .
then i tried a simple code to see reading


 int last_val=0;
 
void setup() {
  Serial.begin(9600);  
  Serial.println("Test"); 
}

void loop() {
int val = analogRead(A0);
if (val != last_val)  {
   Serial.println(val);  
  last_val = val;
}
      
}

Reading was unstayable between (0 to 480) without pressing sheet down like this

254
308
90
146
357
98
262
133
87
300
384
179
58
156
354
399
163
30
221
360
54
223
408
132
160
408
200
155
409
282
63
249
129
174
254
83
161
342
331
291
247
233
235
247
244
224
218
125
176
190
197
240
201
272
258
282
276
287
279
248
190
185
201
191
210
215
196
214
192
205
204
258
262
265
278
273
297
277
276
277
249
277
248
2

which can not be mapped used in sketch. i think my code is right to test .
please suggest here . is there incorrect wiring ?? is there incorrect component used in circuit. ??? resistance in velostat sheet is 170k.
i want a smooth inc/dec in reading acording to swip left & right . like this video look at 2:07.
please reply about my hardware...

Are you saying that the copper sheet is not touching the velostat sheet at any point?

In that case your A0 pin is floating. A floating pin will read random values. It is picking up electrical noise from the environment because the copper tape is a acting like an antenna.

Yes I think so. Remove the 10K from the end of the velostat tape and have it connected directly to ground. Use the 10K to connect the other end of the copper tape to ground.

We shouldn't have to do that.

I'll assume you have an ATmega328 based board, in which case you should consider the recommended max 10 kOhm input for your ADC compared to the 170 k you measured.

I tried wiring as


and also trying as

but could not get reading according to my finger press position.
getting reading mixes between (0-1023) .
i have test my analog pin A0 on Readymade potentiometer B5K . That is Working with rotate Position.
I again test Resistance in ribbon this way by swiping finger left to right ,right to left

i got propper reading on Digital Multimeter according to finger position .
plaese check any missing in circuit ?? am i using incorrect value of Resistor??
Have Any of you did this experiment like this with velostat sheet ???

Hi, @charnjit
Use this connection.

Measure the voltage between gnd and A0 when you press the strip.

Tom.... :smiley: :+1: :coffee: :australia:

Hi, @charnjit

Is that resistor 10K, have you measured it.

Tom.... :smiley: :+1: :coffee: :australia:

What is max / min resistance?

yes resistor value is 9.7k measured by DMM.
now i am using circuit

and voltage measure from A0 and Gnd you can see video here
min 0.28 and max 2.12
with continue swiping i got result in serial monitor

604
570
456
830
896
912
798
365
227
385
884
1023
419
278
979
346
1013
504

227 and 1023 reading can be seen near . can not be used in map(); and it is not according to swiping result??
any more ????

Hi,
Don't swipe.
Press one spot in the middle somewhere and HOLD IT THERE, see what your reading(s) are.

Is the assembly solidly supported underneath, is one of the surfaces is on a solid flat surface and you press the other down to it?

Tom.... :smiley: :+1: :coffee: :australia:

I am sorry for late reply . I was out of my home . as TomGeorge ask for reading.
using below circuit


resistor showing as 10k in picture is 9.7k
when i pressed and hold on Position"A" . I got Volt Reading on (A0,Gnd) pins by DMM is 0.27 and reading in Serial monitor

281
276
285
276
280
288
279
309
271
328
276
300
289
280
278
317
301
281
314
313
272
342
322
318
316
294
310
323
318
316
297
286
287
290
301
285
273
275
276
300
282
311
318
285
324
303
274
271
287
301
303
326
326
282
288
285
275
293
273
278
314
311
312
308
297
307
326
286
323
287
318
301
302
312
303
274
279
279
294
277
299
292
297
338
332
334
282
276
313
295
295
298
302
288
274

and when i pressed and hold on "B" . I got Volt Reading on (A0,Gnd) pins by DMM is 1.97 and reading in Serial monitor

337
326
333
339
329
333
319
320
335
342
326
330
333
339
330
320
311
308
292
290
292
293
282
290
286
300
306
302
301
299
304
305
288
287
291
293
280
287
297
320
327
336
348
346
327
334
313
303
290
313
292
288
309
320
309
287
278
279
283
326
303
288
281
303
317
307
304
287
294
287
306
314
304
290
287
318
282
286
306
305
290
295
289
290
281
287
298
305
312
318
327
281
420
315
309
424
394
373
324
402
315
413
410
385
303
289
284
298
321
325
330
311
318
303
297
289
345
348
355
325
292
273
284
307
318
275
271
308
314
285
281
291
290
295
298
308
330
304
308
301
298
290
315
307
323
318
325
335
334
322
277
340
310
271
295
295
293
292
307
306
305
302
290
285
289
278
284
289
286
282
285
277
285
277
276
281
285
293
289
299
276
274
277
280
284
283
287
280
278
273
278
273
271
271
278

here you can see ,by pressing different location , i did not got different Reading in Serial monitor.they are similar to. i also try press on different location . and got reading in serial monitor similar to. but when voltage reading on (A0,Gnd) pin
on DMM is Different.
i again test B5k Potentiometer on (5v,A0,Gnd)pins that is working fine to Rotate postion. i seemed problem in resistace in velostat sheet.

for info i want to told here . now i have only three pieces of velostat sheet


inwhich

  • 900k resistance in (300mm x 2mm)
  • 190k resistance in(300mm x 16mm)
  • 50k resistance in(300mm x 282mm)
    i searched on google pot between (1k to 10 k) is best for reading.

should here (max Resistance in sheet + Resistor Resistance = (1k to 10k)) ????

my 3rd piece (300mm x 282mm) with 50k is too large , can not be used in project space.
my second piece (300mm x 16 mm )with 190k is suitable for space.
i think i am confused about Resistor value used with Velostat sheet .
any Idea ??????

It would seem that your big mistake is in your code.

You will never get a consistent reading from any A to D circuit. At the very best they +/- one significant bit. So the If statement condition will hardly ever be true. You need to add a range.

if ( abs(val - last_val) > range) {

Where range is about 8 or so.

Also note that of you want to use your finger then this will be supplying noise.

Note that you made the circuit from the Instructables site. Almost all projects on this site are written by people who don't know as much as they think they do. So unless you are good at spotting errors, never use this site to try to learn something new.

I did make a music instrument called a Spoonduino, which used a square of this material. This is a link to the story behind it along with a video of it in action.

Spoonduino

Hi,

Use that 16mm wide strip, but with a 100K resistor instead of 10K.
If you do not have 100K, any value from 100K to 300K will do.
Then do the A and B tests again.

Tom.... :smiley: :+1: :coffee: :australia:

Yes, Tom
I tried it with 100k and 200k resistor.voltage reading on DMM was right according to swipe A to B , B To A. It was 2.15 v to 4.20 v and 1.90v to 4.20v . But A0 reading in serial monitor was not according to swipe position. As I am getting correct reading result with b5k potentiometer, I found less than 1k resistance in graphite pencil. Now I will try to get hard graphite pencil and use in this experiment. Let me some days to arrange material for it. I will report it with next reply after successfully result. I hope I will do balancing in resistance (200ohm to 2kohm) in gnd and 5v pins . Wait.....

So those values give you a good span.

Which code are you using?

Tom.... :smiley: :+1: :coffee: :australia:

If you notice on my spoonduino project that the spoon handle was wiped with insulating twine, so your hand never had to touch the sensor. Maybe it is a good idea if you adopt the same strategy, and avoided a direct touch to the input pins.