1. 程式人生 > >樹梅派學習 5. RGB LED實驗

樹梅派學習 5. RGB LED實驗

原理圖:
這裡寫圖片描述
接線:
這裡寫圖片描述

c語言程式:

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

#define uchar unsigned char

#define LedPinRed    0
#define LedPinGreen  1
#define LedPinBlue   2

void ledInit(void)
{
    softPwmCreate(LedPinRed,  0, 100);
    softPwmCreate(LedPinGreen,0, 100);
    softPwmCreate(LedPinBlue, 0
, 100)
; } void ledColorSet(uchar r_val, uchar g_val, uchar b_val) { softPwmWrite(LedPinRed, r_val); softPwmWrite(LedPinGreen, g_val); softPwmWrite(LedPinBlue, b_val); } int main(void) { int i; if(wiringPiSetup() == -1){ //when initialize wiring failed, print message to screen printf("setup wiringPi failed !"
)
; return 1; } //printf("linker LedPin : GPIO %d(wiringPi pin)\n",LedPin); //when initialize wiring successfully,print message to screen ledInit(); while(1){ ledColorSet(0xff,0x00,0x00); //red delay(500); ledColorSet(0x00,0xff,0x00); //green delay(500); ledColorSet(0
x00,0x00,0xff)
; //blue delay(500); ledColorSet(0xff,0xff,0x00); //yellow delay(500); ledColorSet(0xff,0x00,0xff); //pick delay(500); ledColorSet(0xc0,0xff,0x3e); delay(500); ledColorSet(0x94,0x00,0xd3); delay(500); ledColorSet(0x76,0xee,0x00); delay(500); ledColorSet(0x00,0xc5,0xcd); delay(500); } return 0; }

編譯執行:

gcc rgb_led.c -o rgb_led -lwiringPi -lpthread
./rgb_led