<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="it">
	<id>https://www.raspibo.org/wiki/index.php?action=history&amp;feed=atom&amp;title=Graphene%2FMediaplayer_controller</id>
	<title>Graphene/Mediaplayer controller - Cronologia</title>
	<link rel="self" type="application/atom+xml" href="https://www.raspibo.org/wiki/index.php?action=history&amp;feed=atom&amp;title=Graphene%2FMediaplayer_controller"/>
	<link rel="alternate" type="text/html" href="https://www.raspibo.org/wiki/index.php?title=Graphene/Mediaplayer_controller&amp;action=history"/>
	<updated>2026-05-08T21:29:34Z</updated>
	<subtitle>Cronologia della pagina su questo sito</subtitle>
	<generator>MediaWiki 1.35.5</generator>
	<entry>
		<id>https://www.raspibo.org/wiki/index.php?title=Graphene/Mediaplayer_controller&amp;diff=5882&amp;oldid=prev</id>
		<title>Dancast78: Creata pagina con '= Media player controller = Altra applicazione sempre mediante l'uso di Teensy che può essere visto oltre che come terminale seriale anche come dispositivo HID e quindi simul...'</title>
		<link rel="alternate" type="text/html" href="https://www.raspibo.org/wiki/index.php?title=Graphene/Mediaplayer_controller&amp;diff=5882&amp;oldid=prev"/>
		<updated>2016-12-04T17:44:43Z</updated>

		<summary type="html">&lt;p&gt;Creata pagina con &amp;#039;= Media player controller = Altra applicazione sempre mediante l&amp;#039;uso di Teensy che può essere visto oltre che come terminale seriale anche come dispositivo HID e quindi simul...&amp;#039;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nuova pagina&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= Media player controller =&lt;br /&gt;
Altra applicazione sempre mediante l'uso di Teensy che può essere visto oltre che come terminale seriale anche come dispositivo HID e quindi simulare mouse, tastiera e joystick.&lt;br /&gt;
&lt;br /&gt;
In questo caso il test sfrutta la libreia capsense di Arduino che ha il vantaggio di poter essere calibrata settando alcuni valori.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=c&amp;gt;&lt;br /&gt;
#include &amp;lt;CapacitiveSensor.h&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
/*&lt;br /&gt;
   Simple example of interaction between Teens 3.1 and graphene film used as capacitive touch sensor&lt;br /&gt;
   set uotput as serial+keyboard+mouse+joystick&lt;br /&gt;
   Based on CapacitiveSensor library: http://playground.arduino.cc/Main/CapacitiveSensor&lt;br /&gt;
   Set the correct number of samples to measure time&lt;br /&gt;
*/&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
CapacitiveSensor   Play_Pause = CapacitiveSensor(20, 15);&lt;br /&gt;
CapacitiveSensor   Inc_Volume = CapacitiveSensor(20, 16);&lt;br /&gt;
CapacitiveSensor   Dec_Volume = CapacitiveSensor(20, 17);&lt;br /&gt;
 &lt;br /&gt;
int val;&lt;br /&gt;
long calc;&lt;br /&gt;
long tasto_piu;&lt;br /&gt;
long tasto_meno;&lt;br /&gt;
const int ledPin_r = 21;&lt;br /&gt;
const int ledPin_g = 5;&lt;br /&gt;
const int ledPin_b = 6;&lt;br /&gt;
const long soglia_tasto_piu = 1800;&lt;br /&gt;
const long soglia_tasto_meno = 1800;&lt;br /&gt;
const int inc = 100;&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
void setup()&lt;br /&gt;
{&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
void loop()&lt;br /&gt;
{&lt;br /&gt;
  long start = millis();&lt;br /&gt;
  long time1 =  Play_Pause.capacitiveSensor(250);     //Tune with correct values&lt;br /&gt;
  long time2 =  Inc_Volume.capacitiveSensor(100);     //Tune with correct values&lt;br /&gt;
  long time3 =  Dec_Volume.capacitiveSensor(250);     //Tune with correct values&lt;br /&gt;
 &lt;br /&gt;
  Serial.print((millis() - start) / 10);&lt;br /&gt;
  Serial.print(&amp;quot;\t&amp;quot;);&lt;br /&gt;
  Serial.print(time1);&lt;br /&gt;
  Serial.print(&amp;quot;\t&amp;quot;);&lt;br /&gt;
  Serial.print(time2);&lt;br /&gt;
  Serial.print(&amp;quot;\t&amp;quot;);&lt;br /&gt;
  Serial.print(time3);&lt;br /&gt;
  Serial.print(&amp;quot;\t&amp;quot;);&lt;br /&gt;
  if (time1 &amp;gt; 3000) {                                 //Change to detect best values&lt;br /&gt;
    Serial.print(&amp;quot;p1&amp;quot;);&lt;br /&gt;
    Keyboard.set_media(KEY_MEDIA_VOLUME_DEC);&lt;br /&gt;
    Keyboard.send_now();&lt;br /&gt;
    Keyboard.set_media(0);&lt;br /&gt;
    Keyboard.send_now();&lt;br /&gt;
  }&lt;br /&gt;
  Serial.print(&amp;quot;\t&amp;quot;);&lt;br /&gt;
  if (time2 &amp;gt; 11000) {                                 //Change to detect best values&lt;br /&gt;
    Serial.print(&amp;quot;p2&amp;quot;);&lt;br /&gt;
    Keyboard.set_media(KEY_MEDIA_PLAY_PAUSE);&lt;br /&gt;
    Keyboard.send_now();&lt;br /&gt;
    Keyboard.set_media(0);&lt;br /&gt;
    Keyboard.send_now();&lt;br /&gt;
  }&lt;br /&gt;
  Serial.print(&amp;quot;\t&amp;quot;);&lt;br /&gt;
  if (time3 &amp;gt; 5000) {                               //Change to detect best values&lt;br /&gt;
    Serial.print(&amp;quot;p3&amp;quot;);&lt;br /&gt;
    Keyboard.set_media(KEY_MEDIA_VOLUME_INC);&lt;br /&gt;
    Keyboard.send_now();&lt;br /&gt;
    Keyboard.set_media(0);&lt;br /&gt;
    Keyboard.send_now();&lt;br /&gt;
  }&lt;br /&gt;
  Serial.print(&amp;quot;\t&amp;quot;);&lt;br /&gt;
 &lt;br /&gt;
  tasto_piu = touchRead(22);&lt;br /&gt;
  tasto_meno = touchRead(23);&lt;br /&gt;
&lt;br /&gt;
  if (tasto_piu &amp;gt; soglia_tasto_piu &amp;amp;&amp;amp; val &amp;lt;= 3072) {&lt;br /&gt;
    val = val + inc;&lt;br /&gt;
    //Serial.print(&amp;quot;tasto +&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
  Serial.print(&amp;quot;\t&amp;quot;);  &lt;br /&gt;
  if (tasto_meno &amp;gt; soglia_tasto_meno &amp;amp;&amp;amp; val &amp;gt;= 0) {&lt;br /&gt;
    val = val - inc;&lt;br /&gt;
    //Serial.print(&amp;quot;tasto -&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
  Serial.print(&amp;quot;\t&amp;quot;);&lt;br /&gt;
  if (val &amp;gt; 2048) {&lt;br /&gt;
    analogWrite(ledPin_g, val - 2048);&lt;br /&gt;
  } else {&lt;br /&gt;
    analogWrite(ledPin_g, 0);&lt;br /&gt;
  }&lt;br /&gt;
  if (val &amp;gt; 1024) {&lt;br /&gt;
    analogWrite(ledPin_b, val - 1024);&lt;br /&gt;
  } else {&lt;br /&gt;
    analogWrite(ledPin_b, 0);&lt;br /&gt;
  }&lt;br /&gt;
  analogWrite(ledPin_r, val);&lt;br /&gt;
  Serial.print(val);&lt;br /&gt;
  Serial.print(&amp;quot;\t&amp;quot;);&lt;br /&gt;
  Serial.print(tasto_piu);&lt;br /&gt;
  Serial.print(&amp;quot;\t&amp;quot;);&lt;br /&gt;
  Serial.print(tasto_meno);&lt;br /&gt;
  Serial.println(&amp;quot;&amp;quot;);&lt;br /&gt;
  delay(100);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Con questo esempio possiamo controllare un media player come Vlc pilotando i tasti play e pause con un sensore ed alzando ed abbassando il volume con altri due sensori.&lt;br /&gt;
&lt;br /&gt;
Per questa applicazione può essere usata anche la pellicola più trasparente variando i valori in capacitiveSensor() e settando oppurtunamente i tempi.&lt;br /&gt;
&lt;br /&gt;
= Codice per entrambi gli esperimenti =&lt;br /&gt;
Questo semplicemente il codice che comprende entrambi gli esperimenti precedenti con qualche aggiustamento:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=c&amp;gt;&lt;br /&gt;
#include &amp;lt;CapacitiveSensor.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
   Simple example of interaction between Teens 3.1 and graphene film used as capacitive touch sensor&lt;br /&gt;
   set uotput as serial+keyboard+mouse+joystick&lt;br /&gt;
   Based on CapacitiveSensor library: http://playground.arduino.cc/Main/CapacitiveSensor&lt;br /&gt;
   Set the correct number of samples to measure time&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
CapacitiveSensor   Play_Pause = CapacitiveSensor(20, 15);&lt;br /&gt;
CapacitiveSensor   Inc_Volume = CapacitiveSensor(20, 16);&lt;br /&gt;
CapacitiveSensor   Dec_Volume = CapacitiveSensor(20, 17);&lt;br /&gt;
&lt;br /&gt;
int val;&lt;br /&gt;
long calc;&lt;br /&gt;
long tasto_piu;&lt;br /&gt;
long tasto_meno;&lt;br /&gt;
const int ledPin_r = 21;&lt;br /&gt;
const int ledPin_g = 5;&lt;br /&gt;
const int ledPin_b = 6;&lt;br /&gt;
const long soglia_tasto_piu = 2400;&lt;br /&gt;
const long soglia_tasto_meno = 2400;&lt;br /&gt;
const int inc = 100;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup()&lt;br /&gt;
{&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop()&lt;br /&gt;
{&lt;br /&gt;
  long start = millis();&lt;br /&gt;
  long time1 =  Play_Pause.capacitiveSensor(250);     //Tune with correct values&lt;br /&gt;
  long time2 =  Inc_Volume.capacitiveSensor(100);     //Tune with correct values&lt;br /&gt;
  long time3 =  Dec_Volume.capacitiveSensor(250);     //Tune with correct values&lt;br /&gt;
&lt;br /&gt;
  Serial.print((millis() - start) / 10);&lt;br /&gt;
  Serial.print(&amp;quot;\t&amp;quot;);&lt;br /&gt;
  Serial.print(time1);&lt;br /&gt;
  Serial.print(&amp;quot;\t&amp;quot;);&lt;br /&gt;
  Serial.print(time2);&lt;br /&gt;
  Serial.print(&amp;quot;\t&amp;quot;);&lt;br /&gt;
  Serial.print(time3);&lt;br /&gt;
  Serial.print(&amp;quot;\t&amp;quot;);&lt;br /&gt;
  if (time1 &amp;gt; 3000) {                                 //Change to detect best values&lt;br /&gt;
    Serial.print(&amp;quot;p1&amp;quot;);&lt;br /&gt;
    Keyboard.set_media(KEY_MEDIA_VOLUME_DEC);&lt;br /&gt;
    Keyboard.send_now();&lt;br /&gt;
    Keyboard.set_media(0);&lt;br /&gt;
    Keyboard.send_now();&lt;br /&gt;
  }&lt;br /&gt;
  Serial.print(&amp;quot;\t&amp;quot;);&lt;br /&gt;
  if (time2 &amp;gt; 11000) {                                 //Change to detect best values&lt;br /&gt;
    Serial.print(&amp;quot;p2&amp;quot;);&lt;br /&gt;
    Keyboard.set_media(KEY_MEDIA_PLAY_PAUSE);&lt;br /&gt;
    Keyboard.send_now();&lt;br /&gt;
    Keyboard.set_media(0);&lt;br /&gt;
    Keyboard.send_now();&lt;br /&gt;
  }&lt;br /&gt;
  Serial.print(&amp;quot;\t&amp;quot;);&lt;br /&gt;
  if (time3 &amp;gt; 3000) {                               //Change to detect best values&lt;br /&gt;
    Serial.print(&amp;quot;p3&amp;quot;);&lt;br /&gt;
    Keyboard.set_media(KEY_MEDIA_VOLUME_INC);&lt;br /&gt;
    Keyboard.send_now();&lt;br /&gt;
    Keyboard.set_media(0);&lt;br /&gt;
    Keyboard.send_now();&lt;br /&gt;
  }&lt;br /&gt;
  Serial.print(&amp;quot;\t&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
  tasto_piu = touchRead(22);&lt;br /&gt;
  //Serial.print(val);&lt;br /&gt;
  //Serial.print(&amp;quot;\t&amp;quot;);&lt;br /&gt;
  //Serial.print(tasto_piu);&lt;br /&gt;
  //Serial.print(&amp;quot;\t&amp;quot;);&lt;br /&gt;
  tasto_meno = touchRead(23);&lt;br /&gt;
  //Serial.println(tasto_meno);&lt;br /&gt;
  if (tasto_piu &amp;gt; soglia_tasto_piu &amp;amp;&amp;amp; val &amp;lt;= 3072) {&lt;br /&gt;
    val = val + inc;&lt;br /&gt;
  }&lt;br /&gt;
  if (tasto_meno &amp;gt; soglia_tasto_meno &amp;amp;&amp;amp; val &amp;gt;= 0) {&lt;br /&gt;
    val = val - inc;&lt;br /&gt;
  }&lt;br /&gt;
  if (val &amp;gt; 2048) {&lt;br /&gt;
    analogWrite(ledPin_g, val - 2048);&lt;br /&gt;
  } else {&lt;br /&gt;
    analogWrite(ledPin_g, 0);&lt;br /&gt;
  }&lt;br /&gt;
  if (val &amp;gt; 1024) {&lt;br /&gt;
    analogWrite(ledPin_b, val - 1024);&lt;br /&gt;
  } else {&lt;br /&gt;
    analogWrite(ledPin_b, 0);&lt;br /&gt;
  }&lt;br /&gt;
  analogWrite(ledPin_r, val);&lt;br /&gt;
  Serial.println(&amp;quot;&amp;quot;);&lt;br /&gt;
  delay(100);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dancast78</name></author>
	</entry>
</feed>