Mall för programmering Pimoroni Pibrella c (3 / 4 steg)
Steg 3: Och nu för koden
/********************************************************************
-Mall för programmering Pibrella från PiMoRoNi i C.
*
* Avhängighet påen WiringPi C biblioteken måste installeras.
* Instruktioner för nedladdning, installera och använda
* är beläget på wiringpi.com
*
* Kompilera med: gcc -o [filnamn] [filnamn] .c - lwiringPi
*
* Vissa av de mer avancerade funktionerna kräver ytterligare #include
* uttalanden och länka ytterligare bibliotek.
*
* Kör med: sudo. / [filnamn]
*
********************************************************************/
#include < wiringPi.h >
/******************************************************************
* Lysdioder
******************************************************************/
int ledR = 2; Röd
int ledY = 0; Gul
int resk.trans.buff = 7. Grön
int ledde [] = {2,0,7}. Röd, gul, grön - matris med lysdioder.
/*******************************************************************
* Utgångar - där är fyra utgångsstift märkta E, F, G och H.
* Det finns två honkontakter för varje utgång.
* Kopplingen närmast den röda knappen är PIN-koden (positiv).
* Den andra anslutningen är grunden
* Varje utgångsstiftet har status led-vilka lampor när PIN-koden är hög.
******************************************************************/
int outE = 3;
int outF = 4;
int outG = 5;
int outH = 6;
int ut [] = {3,4,5,6}. E, F, G, H - matris med utgångar.
/*****************************************************************
* Ingångar - det finns fyra ingående stiften märkta A, B, C och D.
* Det finns två honkontakter för varje ingång.
* Den närmast den röda knappen pin är den digitala ingången
* och den andra är + 3,3 volt.
* Det finns en ombord dra ner motstånd på varje ingång.
* Använda en switch till kort direkt till + 3,3 volt är okej.
* En resistiv sensor (fotocell) kommer att byta stift till hög när
* När motståndet är mindre än approximentally 30k.
* Varje ingångsstift har status led-vilka lampor när PIN-koden är hög.
*****************************************************************/
int inA = 13.
int inB = 11;
int inC = 10;
int inD = 12.
int i [] = {13,11,10,12}. A, B, C, D - matris av insatsvaror.
Inbyggda knappen
int knappen = 14. Knappen har en ombord dra ner motstånd.
Inbyggda summern
int Summer = 1;
/****************************************************************
* setup() funktion, anger alla pinModes för Pibrella
****************************************************************/
void setup(void)
{
int i; Index för för loopar.
wiringPiSetup(); Vissa WiringPi funktioner kräver sudo åtkomst.
Använd wiringPiSetup().
för (jag = 0; jag < 3; i ++) pinMode (ledde [i], utgång);
för (jag = 0; jag < 4; i ++) pinMode (ut [i], produktionen);
för (jag = 0; jag < 4; i ++) pinMode ([i], indata);
pinMode (knapp, indata);
pinMode (Summer, OUTPUT);
}
/*******************************************************************
* loop() funktion, körs i kontinuerlig slinga när installationen är klar.
*
* <<< Går din kod här >>>
*
*******************************************************************/
void loop(void)
{
Detta är ett exempel, kan du ta bort det
och skriva din egen slinga ()-funktionen här.
I det här exemplet tänds den röda lysdioden
om ingång A är kortsluten till + 3,3 volt,
IF(digitalRead(INA)==High) digitalWrite (ledR, hög);
annat digitalWrite (ledR, låg);
och den gröna lysdioden tänds om du trycker på knappen.
IF(digitalRead(Button)==High) digitalWrite (resk.trans.buff, hög);
annat digitalWrite (resk.trans.buff, låg);
}
/*******************************************************************
* Main () funktion, krävs i alla program.
*******************************************************************/
int main(void)
{
Setup();
While(1) / / gör detta för evigt.
{
loop();
}
Return 0;
}