Преглед на файлове

新增led灯测试代码

corvin преди 5 години
родител
ревизия
f8132e1e74
променени са 4 файла, в които са добавени 124 реда и са изтрити 0 реда
  1. 30 0
      example/python_led_blink.py
  2. 34 0
      example/python_led_fade.py
  3. 27 0
      example/wiringpi_led_blink.c
  4. 33 0
      example/wiringpi_led_fade.c

+ 30 - 0
example/python_led_blink.py

@@ -0,0 +1,30 @@
+#!/usr/bin/python
+# -*- coding: UTF-8 -*-
+
+import RPi.GPIO as GPIO
+import time
+
+#led灯的物理引脚
+channel=32
+
+GPIO.setmode(GPIO.BOARD)
+GPIO.setwarnings(False)
+GPIO.setup(channel, GPIO.OUT, initial=GPIO.HIGH)
+
+try:
+    while True:
+        #led灯GPIO置高-灭
+        GPIO.output(channel, GPIO.HIGH)
+        print("X")
+        time.sleep(1)
+
+        #led灯GPIO置低-亮
+        GPIO.output(channel, GPIO.LOW)
+        print("O")
+        time.sleep(1)
+except KeyboardInterrupt:
+    pass
+
+#GPIO资源清理
+GPIO.cleanup()
+

+ 34 - 0
example/python_led_fade.py

@@ -0,0 +1,34 @@
+#!/usr/bin/python
+# -*- coding: UTF-8 -*-
+
+import RPi.GPIO as GPIO
+import time
+
+#led灯的物理引脚
+channel=32
+
+GPIO.setmode(GPIO.BOARD)
+GPIO.setwarnings(False)
+GPIO.setup(channel, GPIO.OUT, initial=GPIO.LOW)
+
+pwm = GPIO.PWM(channel, 50)
+pwm.start(0)
+try:
+    while True:
+        #led灯慢慢变亮
+        for duty in range(100, 0, -4):
+            pwm.ChangeDutyCycle(duty)
+            time.sleep(0.1)
+
+        #led灯慢慢变暗
+        for duty in range(0, 100, 4):
+            pwm.ChangeDutyCycle(duty)
+            time.sleep(0.1)
+
+except KeyboardInterrupt:
+    pass
+
+#GPIO资源清理
+pwm.stop()
+GPIO.cleanup()
+

+ 27 - 0
example/wiringpi_led_blink.c

@@ -0,0 +1,27 @@
+#include <wiringPi.h>
+#include <stdio.h>
+
+#define LED_PIN  26
+#define DELY_MS  1000
+
+int main(void)
+{
+    wiringPiSetup();
+    pinMode(LED_PIN, OUTPUT);
+
+    while(1)
+    {
+        //led GPIO引脚置高电平,灯灭
+        digitalWrite(LED_PIN, HIGH);
+        printf("X\n");
+        delay(DELY_MS);
+
+        //led GPIO引脚置低电平,灯亮
+        digitalWrite(LED_PIN, LOW);
+        printf("O\n");
+        delay(DELY_MS);
+    }
+
+    return 0;
+}
+

+ 33 - 0
example/wiringpi_led_fade.c

@@ -0,0 +1,33 @@
+#include <wiringPi.h>
+#include <stdio.h>
+
+#define LED_PIN  26
+#define DELY_MS  10
+
+int main(void)
+{
+    int duty = 1024;
+
+    wiringPiSetup();
+    pinMode(LED_PIN, PWM_OUTPUT);
+
+    while(1)
+    {
+        //led 灭->亮
+        for(duty=1024; duty>=0; duty-=4)
+        {
+            pwmWrite(LED_PIN, duty);
+            delay(DELY_MS);
+        }
+
+        //led 亮-灭
+        for(duty=0; duty<=1024; duty+=4)
+        {
+            pwmWrite(LED_PIN, duty);
+            delay(DELY_MS);
+        }
+    }
+
+    return 0;
+}
+