Get the Flash Player to see this player.

time2online Joomla Extensions: Simple Video Flash Player Module
PiFace Digital pierwszy program (zapalanie urządzeń na prąd przemienny)

Dziś pokaże najprostszy program wykorzystujący biblioteki dla PiFace Digital. Program ma za zadanie załączenie światła na 230V AC za pomocą RPI. Całość wraz z potrzebnymi bibliotekami i plikiem wykonywalnym macie spakowaną w pliku (kliknij aby pobrać), a główny program macie poniżej.

 

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include "pifacedigital.h"
 
 
int main( int argc, char *argv[] )
{
uint8_t i = 0;     /**< Loop iterator */
uint8_t inputs;    /**< Input bits (pins 0-7) */
int hw_addr = 0;   /**< PiFaceDigital hardware address  */
int intenable = 1; /**< Whether or not interrupts are enabled  */
 
/**
* Read command line value for which PiFace to connect to
*/
if (argc > 1) {
hw_addr = atoi(argv[1]);
}
 
 
printf("Otwieramy polaczenie piface digital w lokacji %d\n", hw_addr);
pifacedigital_open(hw_addr);
 
 
intenable = pifacedigital_enable_interrupts();
if ( intenable == 0) printf("Przerwania zalaczone.\n");
else printf("Przerwania nie dostepne.  Odpal program przy uzyciu sudo.\n");
 
 
printf("Ustawiamy wszystkie outputs off\n");
pifacedigital_write_reg(0xff, OUTPUT, hw_addr);
sleep(1);
 
 
 
/**
* Wykorzystanie przerwań
*/
 
 
if( intenable ) {
 printf("Przerwania wylaczone, uzyj sudo przy odpalaniu programu.\n");
  }
  else {
 
 while(inputs != 254){
 
 printf("Nacisnij przycisk:\n 1)Aby zakonczyc program\n 2)Zapal lampke\n 3)Zgas lampke\n"); 
 //tu można wstawić pobieranie danych nie z przyciskow, ale z czego tylko chcemy
 
 inputs = pifacedigital_wait_for_input(-1, hw_addr);
 system("clear");
 switch(inputs){
 case 254 : printf("Wybrales przycisk nr 1 zakoncz program\n");
 break;
 case 253 :{
 printf("Wybrales przycisk nr 2\nzaplailes lampke\n");
 pifacedigital_digital_write(1, 0); 
 }
 break;
 case 251 : {
 printf("Wybrales przycisk nr 3\nzgasiles lampke\n");
 pifacedigital_digital_write(1, 1); 
 }
 break;
 case 247 : printf("Wybrales przycisk nr 4\n");
 break;
 }
 
 sleep(1);
 
 }
  }
 
pifacedigital_close(hw_addr);
}