net_radio_bd.c

#include <stdio.h>
#include <wiringPi.h>
#include <stdlib.h>

int pinI = 7;//BCM 4 fysisk 7
int p_count = 1;
char i_c = '0';
char stringCom[12] = "mpc play 1";
char stringComStop[10] = "mpc stop";
int ledPin1 = 0;//BCM 17 fysisk 11
int ledPin2 = 1;//BCM 18 fysisk 12
int ledPin3 = 2;//BCM 27 fysisk 13
int ledPin4 = 3;//BCM 22 fysisk 15
int ledPin5 = 6;//BCM 25 fysisk 22
int ledPin6 = 26;//BCM 12 fysisk 32
int ledPin7 = 23;//BCM 13 fysisk 33
int ledPin8 = 24;//BCM 19 fysisk 35
int ledPin9 = 28;//BCM 20 fysisk 37

int display (int p_count)
  {
  switch (p_count)
    {
    case 1 :
      {
      digitalWrite (ledPin1, HIGH);
      p_count = 10;
      }
      break;
      case 2 : digitalWrite (ledPin2, HIGH);
      break;
      case 3 : digitalWrite (ledPin3, HIGH);
      break;
      case 4 : digitalWrite (ledPin4, HIGH);
      break;
      case 5 : digitalWrite (ledPin5, HIGH);
      break;
      case 6 : digitalWrite (ledPin6, HIGH);
      break;
      case 7 : digitalWrite (ledPin7, HIGH);
      break;
      case 8 : digitalWrite (ledPin8, HIGH);
      break;
      case 9 : digitalWrite (ledPin9, HIGH);
      break;
      }
      if (p_count > 1)
        {
        p_count --;
        switch (p_count)
          {
          case 1 : digitalWrite (ledPin1, LOW);
          break;
          case 2 : digitalWrite (ledPin2, LOW);
          break;
          case 3 : digitalWrite (ledPin3, LOW);
          break;
          case 4 : digitalWrite (ledPin4, LOW);
          break;
          case 5 : digitalWrite (ledPin5, LOW);
          break;
      case 6 : digitalWrite (ledPin6, LOW);
       break;
          case 7 : digitalWrite (ledPin7, LOW);
          break;
          case 8 : digitalWrite (ledPin8, LOW);
          break;
      case 9 : digitalWrite (ledPin9, LOW);
          break;
          }
        }
        return 0;
  }

int main (void)
  {
  if (wiringPiSetup () == -1)
    return 1 ;
  pinMode (pinI, INPUT);
  pinMode (ledPin1, OUTPUT);
  pinMode (ledPin2, OUTPUT);
  pinMode (ledPin3, OUTPUT);
  pinMode (ledPin4, OUTPUT);
  pinMode (ledPin5, OUTPUT);
  pinMode (ledPin6, OUTPUT);
  pinMode (ledPin7, OUTPUT);
  pinMode (ledPin8, OUTPUT);
  pinMode (ledPin9, OUTPUT);
  system (stringCom);
  display (p_count);
  while (1)
    {
    while (digitalRead (pinI) == 1)
      {
      delay (50);
      if (digitalRead (pinI) == 0)
        {
//      system (stringComWlanUp); //Starter WIFI
        delay (1000); //langt tryk
        if (digitalRead (pinI) == 0)
          {
          system (stringComStop);
//        system (stringComWlanDown); //Lukker WIFI hvis man bruger bluetooth
          p_count --;
          }
        else
          {
          p_count ++;
          if (p_count > 9)//kan ændres til et mindre tal hvis fære kanaler ønskes
            p_count = 1;
          i_c = p_count + 48;//int to char max 9
          stringCom[9] = i_c;
          system (stringCom);
          display (p_count);
          }
        }
      }
    }
  return 0 ;
  }

Compile med: gcc -o net_radio_bd net_radio_bd.c -lwiringPi , installer wiringpi med: sudo apt-get install wiringpi

Bemærk: dette er ekspermentel software der er ingen garanti for brugbarhed, det kan derimod sandsynligvis være skadeligt, kun til brug i Danmark.