Haberler

Kendyte K210 için Grove Arduino Kütüphanesi #Sipeed Maix BIT

#Sipeed Maix BIT

#Grove AI EDGE
COMPUTING

2008 yılında Seeeduino’nun piyasaya sürülmesinden bu yana, Seeed Arduino topluluğuna yazılım katkısında bulunmaktadır. Bugün yeni bir yazılım yayınladık: ArduinoCore-k210.

kendryte-standalone-sdk temel alınarak, Arduino IDE, Linux, Windows, Mac OS X ve diğer geliştirme ortamlarını desteklemek için tam ArduinoCore-API arayüzünü ekledik. ArduinoCore-k210 desteği ile, tüm k210 tabanlı geliştirme kartları Grove Arduino Kütüphanesi’ni ve Arduino topluluğundaki birçok mükemmel Arduino kütüphanesini çalıştırabilir.

ArduinoCore-k210’u nasıl kullanacağınız aşağıda açıklanmıştır:

Sipeed Maix Bit üzerinde WS2812 kullanın

Grove modülleri ile Grove AI EDGE COMPUTING (sadece mühendislik örnekleri) kullanın

ArduinoCore-k210, normal bir IDE olarak da desteklenmektedir. Örneğin, kendryte-standalone-sdk geliştirirken, Arduino Kütüphanesi WS2812FX’i de kullanabilirsiniz.

#include <WS2812FX.h>

#define LED_COUNT 32

#define LED_PIN 13

#define TIMER_MS 5000

// Parametre 1 = şeritteki piksel sayısı

// Parametre 2 = Arduino pin numarası (çoğu geçerli)

// Parametre 3 = piksel türü bayrakları, gerektiği gibi birleştirin:

//  
NEO_KHZ800  800 KHz bit akışı
(çoğu NeoPixel ürünü w/WS2812 LED’leri)

//  
NEO_KHZ400  400 KHz (klasik ‘v1’
(not v2) FLORA pikselleri, WS2811 sürücüleri)

//  
NEO_GRB     Pikseller GRB bit akışı için
bağlanmıştır (çoğu NeoPixel ürünü)

//  
NEO_RGB     Pikseller RGB
bit akışı için bağlanmıştır (v1 FLORA pikselleri, not v2)

//  
NEO_RGBW    Pikseller RGBW bit akışı için
bağlanmıştır (NeoPixel RGBW ürünleri)

WS2812FX ws2812fx = WS2812FX(LED_COUNT,
LED_PIN, NEO_RGB + NEO_KHZ800);

unsigned long last_change = 0;

unsigned long now = 0;

extern “C” {

#include <stdio.h>

#include <unistd.h>

#include “fpioa.h”

#include “gpiohs.h”

#include “sysctl.h”

uint32_t irq_flag;

#define PIN_LED 25

#define PIN_KEY 26

#define GPIO_LED 3

#define GPIO_KEY 2

uint32_t g_count;

int irq_gpiohs2(void* ctx)

{

   
irq_flag = gpiohs_get_pin(GPIO_KEY);

   
printf(“IRQ PIN %d’dir\n”, irq_flag);

   
uint32_t *tmp = (uint32_t *)(ctx);

   
printf(“count %d’dir\n”, (*tmp)++);

   
if (!irq_flag)

       
gpiohs_set_pin(GPIO_LED, GPIO_PV_LOW);

   
else

       
gpiohs_set_pin(GPIO_LED, GPIO_PV_HIGH);

   
return 0;

}

int main(){

#define NOFREERTOS 1

 
plic_init();

 
sysctl_enable_irq();

 
fpioa_set_function(PIN_LED, FUNC_GPIOHS3);

 
gpiohs_set_drive_mode(GPIO_LED, GPIO_DM_OUTPUT);

 
gpio_pin_value_t value = GPIO_PV_HIGH;

 
gpiohs_set_pin(GPIO_LED, value);

 
fpioa_set_function(PIN_KEY, FUNC_GPIOHS2);

 
gpiohs_set_drive_mode(GPIO_KEY, GPIO_DM_INPUT_PULL_UP);

 
gpiohs_set_pin_edge(GPIO_KEY, GPIO_PE_BOTH);

 
gpiohs_irq_register(GPIO_KEY, 1, irq_gpiohs2, &g_count);

 
ws2812fx.init();

 
ws2812fx.setBrightness(255);

 
ws2812fx.setSpeed(1000);

 
ws2812fx.setColor(0x007BFF);

 
ws2812fx.setMode(FX_MODE_STATIC);

 
ws2812fx.start();

 
while(1){

     
now = millis();

     
ws2812fx.service();

     
if(now – last_change > TIMER_MS) {

       
ws2812fx.setMode((ws2812fx.getMode() + 1) % ws2812fx.getModeCount());

       
last_change = now;

     
}   

   
}

 return 0;

 }

}

“`

ArduinoCore-k210, AI geliştirmenizi daha kolay hale getirmek için çok ilginç bir yazılım projesidir. Herhangi bir hata olmadığını garanti edemeyiz. Herhangi bir uyumluluk sorunu ile karşılaşırsanız veya yeni fikirleriniz varsa, bizimle iletişim kurmak için GitHub bağlantımızı ve forumumuzu kontrol etmekten çekinmeyin, karşılaştığınız sorunları çözmek için elimizden geleni yapacağız. Bu, ArduinoCore-k210, umarım herkes beğenir!

Leave a Reply

Your email address will not be published. Required fields are marked *