Różnice między wybraną wersją a wersją aktualną.
| Poprzednia rewizja po obu stronachPoprzednia wersjaNowa wersja | Poprzednia wersja | ||
| nanopi_neo [2020/12/17 19:42] – [Dioda] kamil | nanopi_neo [2025/01/11 18:58] (aktualna) – edycja zewnętrzna 127.0.0.1 | ||
|---|---|---|---|
| Linia 115: | Linia 115: | ||
| * pin 6 - GND | * pin 6 - GND | ||
| - | Przykładowy program, który korzysta z w/w biblioteki WiringPI mamy tu: [[https:// | + | Przykładowy program, który korzysta z biblioteki WiringPI mamy tu: [[https:// |
| < | < | ||
| /* | /* | ||
| Linia 257: | Linia 257: | ||
| * pin 14 - GND | * pin 14 - GND | ||
| - | Przykładowy program, który korzysta z w/w biblioteki WiringPI mamy tu: [[http:// | + | Przykładowy program, który korzysta z biblioteki WiringPI mamy tu: [[http:// |
| < | < | ||
| /* | /* | ||
| Linia 480: | Linia 480: | ||
| * pin 20 - GND | * pin 20 - GND | ||
| - | Przykładowy program, który korzysta z w/w biblioteki WiringPI mamy tu: [[https:// | + | Przykładowy program, który korzysta z biblioteki WiringPI mamy tu: [[https:// |
| < | < | ||
| #include < | #include < | ||
| Linia 539: | Linia 539: | ||
| Podłączamy wg schematu: | Podłączamy wg schematu: | ||
| - | {{::button.png? | + | {{::diode.png? |
| Czyli: | Czyli: | ||
| Linia 545: | Linia 545: | ||
| * pin 6 - GND (nóżka krótsza) | * pin 6 - GND (nóżka krótsza) | ||
| - | Przykładowy program, który korzysta z w/w biblioteki WiringPI mamy tu: [[https:// | + | Przykładowy program, który korzysta z biblioteki WiringPI mamy tu: [[https:// |
| < | < | ||
| #include < | #include < | ||
| Linia 575: | Linia 575: | ||
| gcc -Wall ./diode.c -o ./diode -lwiringPi -lpthread | gcc -Wall ./diode.c -o ./diode -lwiringPi -lpthread | ||
| </ | </ | ||
| + | |||
| + | Po uruchomieniu dioda powinna migać. | ||
| + | |||
| + | ==== Dioda RGB ==== | ||
| + | |||
| + | Podłączamy wg schematu: | ||
| + | |||
| + | {{:: | ||
| + | |||
| + | Czyli: | ||
| + | * pin 1 - 3,3V | ||
| + | * pin 12 - GPIO1 | ||
| + | * pin 13 - GPIO2 | ||
| + | * pin 15 - GPIO3 | ||
| + | |||
| + | Przykładowy program, który korzysta z biblioteki WiringPI mamy tu: [[https:// | ||
| + | < | ||
| + | #include < | ||
| + | #include < | ||
| + | #include < | ||
| + | |||
| + | #define LedPinRed | ||
| + | #define LedPinGreen | ||
| + | #define LedPinBlue | ||
| + | |||
| + | const int colors[] = {0xFF0000, 0x00FF00, 0x0000FF, 0xFFFF00, 0x00FFFF, 0xFF00FF, 0xFFFFFF, 0x9400D3}; | ||
| + | |||
| + | int map(int x, int in_min, int in_max, int out_min, int out_max) | ||
| + | { | ||
| + | return (x -in_min) * (out_max - out_min) / (in_max - in_min) + out_min; | ||
| + | } | ||
| + | |||
| + | void ledInit(void) | ||
| + | { | ||
| + | softPwmCreate(LedPinRed, | ||
| + | softPwmCreate(LedPinGreen, | ||
| + | softPwmCreate(LedPinBlue, | ||
| + | } | ||
| + | |||
| + | void ledColorSet(int color) | ||
| + | { | ||
| + | int r_val, g_val, b_val; | ||
| + | |||
| + | r_val = (color & 0xFF0000) >> 16; //get red value | ||
| + | g_val = (color & 0x00FF00) >> 8; //get green value | ||
| + | b_val = (color & 0x0000FF) >> 0; //get blue value | ||
| + | |||
| + | r_val = map(r_val, 0, 255, 0, 100); //change a num(0~255) to 0~100 | ||
| + | g_val = map(g_val, 0, 255, 0, 100); | ||
| + | b_val = map(b_val, 0, 255, 0, 100); | ||
| + | |||
| + | softPwmWrite(LedPinRed, | ||
| + | softPwmWrite(LedPinGreen, | ||
| + | softPwmWrite(LedPinBlue, | ||
| + | } | ||
| + | |||
| + | int main(void) | ||
| + | { | ||
| + | int i; | ||
| + | |||
| + | if(wiringPiSetup() < 0) { //when initialize wiringPi failed, print message to screen | ||
| + | printf(" | ||
| + | return -1; | ||
| + | } | ||
| + | |||
| + | ledInit(); | ||
| + | |||
| + | while(1) { | ||
| + | for(i = 0; i < sizeof(colors)/ | ||
| + | ledColorSet(colors[i]); | ||
| + | delay(1000); | ||
| + | } | ||
| + | } | ||
| + | return 0; | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | Gdzie linie: | ||
| + | < | ||
| + | #define LedPinRed | ||
| + | #define LedPinGreen | ||
| + | #define LedPinBlue | ||
| + | </ | ||
| + | |||
| + | Są to nr portów w WiringPI. Można odczytać je za pomocą polecenia: "gpio readall" | ||
| + | |||
| + | Kompilujemy: | ||
| + | < | ||
| + | gcc -Wall ./ | ||
| + | </ | ||
| + | |||
| + | Po uruchomieniu dioda powinna migać na różne kolory. | ||