질문게시판 > 아두캠 시리얼모니터

인기검색어 > 아두이노 센서 ATMEGA128

최신글 질문게시판 동영상강좌 가입하기

▼ BASIC4MCU 후원업체 신제품 정보 ▼

▲ BASIC4MCU 후원업체 신제품 정보 ▲

BASIC4MCU > 질문게시판

아두캠 시리얼모니터

페이지 정보

작성자 던질까 작성일20-06-10 21:23 조회3,853회 댓글1건

본문

bdd6da5bbc1232b4739fe118bcc0c091_1591791582_7353.jpg
안녕하세요 아두캠을 프로그램(arducam host _  v 2  )을 거치지 않고 사진을 찍어야되서 고민해보다가 시리얼 모니터로  조작할 수 있지 않을까 생각하게 되었습니다

아두캠 코드를 보는데 시리얼 모니터로 temp값을 내가 원하는 값으로 해서 입력했습니다.(사진을 찍게하는 값, '16' 넣으면 사진이 찍히는것같아 넣음) 

시리얼 모니터 상에는 ACK IMG END 가 뜨는거로 보아 사진촬영은 되는거 같은데 저장은 안되는것 같습니다. 어떻게 해야 저장을 시킬수가 있을까요?

아두이노 우노와 노트북 연결한 상태고 위에 쓴 프로그램으로는 노트북에 저장이 잘 되는 상황입니다. 캠은 arducam mini 2mp camera module이고 아래 코딩은 아두캠 코딩에 oled 코딩 일부(매우 적음) 적혀있습니다.

어떻게 해야 사진 저장을 시킬 수 있을까요? 아래 코딩에서 사진 저장위치 관한 부분이 있나요?

 

[code]

 

#include

#include

#include

#include "memorysaver.h"

#include "U8glib.h"

U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_NO_ACK|U8G_I2C_OPT_FAST);  // Fast I2C / TWI 

void draw(void) {

 

  u8g.setFont(u8g_font_timB14);

  //13font

  u8g.setPrintPos(7, 38); 

 

  u8g.print("Non Smoking !");

}

//This demo can only work on OV2640_MINI_2MP platform.

#if !(defined OV2640_MINI_2MP)

  #error Please select the hardware platform and camera module in the ../libraries/ArduCAM/memorysaver.h file

#endif

#define BMPIMAGEOFFSET 66

const char bmp_header[BMPIMAGEOFFSET] PROGMEM =

{

  0x42, 0x4D, 0x36, 0x58, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x00, 0x00, 0x00, 0x28, 0x00,

  0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x00, 0x01, 0x00, 0x10, 0x00, 0x03, 0x00,

  0x00, 0x00, 0x00, 0x58, 0x02, 0x00, 0xC4, 0x0E, 0x00, 0x00, 0xC4, 0x0E, 0x00, 0x00, 0x00, 0x00,

  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x00, 0x00, 0xE0, 0x07, 0x00, 0x00, 0x1F, 0x00,

  0x00, 0x00

};

// set pin 7 as the slave select for the digital pot:

const int CS = 7;

bool is_header = false;

int mode = 0;

uint8_t start_capture = 0;

#if defined (OV2640_MINI_2MP)

  ArduCAM myCAM( OV2640, CS );

 

#endif

uint8_t read_fifo_burst(ArduCAM myCAM);

void setup() {

// put your setup code here, to run once:

uint8_t vid, pid;

uint8_t temp;

#if defined(__SAM3X8E__)

  Wire1.begin();

  Serial.begin(115200);

#else

  Wire.begin();

  Serial.begin(115200);//921600

#endif

Serial.println(F("ACK CMD ArduCAM Start! END"));

// set the CS as an output:

pinMode(CS, OUTPUT);

digitalWrite(CS, HIGH);

// initialize SPI:

SPI.begin();

  //Reset the CPLD

myCAM.write_reg(0x07, 0x80);

delay(100);

myCAM.write_reg(0x07, 0x00);

delay(100);

while(1){

  //Check if the ArduCAM SPI bus is OK

  myCAM.write_reg(ARDUCHIP_TEST1, 0x55);

  temp = myCAM.read_reg(ARDUCHIP_TEST1);

  if (temp != 0x55){

    Serial.println(F("ACK CMD SPI interface Error! END"));

    delay(1000);continue;

  }else{

    Serial.println(F("ACK CMD SPI interface OK. END"));break;

  }

}

 

#if defined (OV2640_MINI_2MP)

  while(1){

    //Check if the camera module type is OV2640

    myCAM.wrSensorReg8_8(0xff, 0x01);

    myCAM.rdSensorReg8_8(OV2640_CHIPID_HIGH, &vid);

    myCAM.rdSensorReg8_8(OV2640_CHIPID_LOW, &pid);

    if ((vid != 0x26 ) && (( pid != 0x41 ) || ( pid != 0x42 ))){

      Serial.println(F("ACK CMD Can't find OV2640 module! END"));

      delay(1000);continue;

    }

    else{

      Serial.println(F("ACK CMD OV2640 detected. END"));break;

    } 

  }

 

#endif

//Change to JPEG capture mode 

myCAM.set_format(JPEG);

myCAM.InitCAM();

#if defined (OV2640_MINI_2MP)

  myCAM.OV2640_set_JPEG_size(OV2640_320x240);

 

#endif

delay(1000);

myCAM.clear_fifo_flag();

#if !(defined (OV2640_MINI_2MP))

myCAM.write_reg(ARDUCHIP_FRAMES,0x00);

#endif

}

void loop() {

// put your main code here, to run repeatedly:

u8g.firstPage();  

  do {draw();

  } while( u8g.nextPage() );

  

  

  delay(500);

uint8_t temp = 0xff, temp_last = 0;

bool is_header = false;

if (Serial.available())

{

 // temp = Serial.read();

 long temp = Serial.parseInt();

  switch (temp)

  {

    case 0:

      myCAM.OV2640_set_JPEG_size(OV2640_160x120);delay(1000);

      Serial.println(F("ACK CMD switch to OV2640_160x120 END"));

     temp = 0xff;

    break;

    case 1:

      myCAM.OV2640_set_JPEG_size(OV2640_176x144);delay(1000);

      Serial.println(F("ACK CMD switch to OV2640_176x144 END"));

    temp = 0xff;

    break;

    case 2: 

      myCAM.OV2640_set_JPEG_size(OV2640_320x240);delay(1000);

      Serial.println(F("ACK CMD switch to OV2640_320x240 END"));

    temp = 0xff;

    break;

    case 3:

    myCAM.OV2640_set_JPEG_size(OV2640_352x288);delay(1000);

    Serial.println(F("ACK CMD switch to OV2640_352x288 END"));

   temp = 0xff;

    break;

    case 4:

      myCAM.OV2640_set_JPEG_size(OV2640_640x480);delay(1000);

      Serial.println(F("ACK CMD switch to OV2640_640x480 END"));

    temp = 0xff;

    break;

    case 5:

    myCAM.OV2640_set_JPEG_size(OV2640_800x600);delay(1000);

    Serial.println(F("ACK CMD switch to OV2640_800x600 END"));

    temp = 0xff;

    break;

    case 6:

     myCAM.OV2640_set_JPEG_size(OV2640_1024x768);delay(1000);

     Serial.println(F("ACK CMD switch to OV2640_1024x768 END"));

    temp = 0xff;

    break;

    case 7:

    myCAM.OV2640_set_JPEG_size(OV2640_1280x1024);delay(1000);

    Serial.println(F("ACK CMD switch to OV2640_1280x1024 END"));

    temp = 0xff;

    break;

    case 8:

    myCAM.OV2640_set_JPEG_size(OV2640_1600x1200);delay(1000);

    Serial.println(F("ACK CMD switch to OV2640_1600x1200 END"));

     temp = 0xff;

    break;

    case 0x10:

    mode = 1;

    temp = 0xff;

    start_capture = 1;

    Serial.println(F("ACK CMD CAM start single shoot. END"));

    break;

    case 0x11://11 

    temp = 0xff;

    myCAM.set_format(JPEG);

    myCAM.InitCAM();

    #if !(defined (OV2640_MINI_2MP))

    myCAM.set_bit(ARDUCHIP_TIM, VSYNC_LEVEL_MASK);

    #endif

    break;

    case 0x20://20

    mode = 2;

    temp = 0xff;

    start_capture = 2;

    Serial.println(F("ACK CMD CAM start video streaming. END"));

    break;

    case 0x30:

    mode = 3;

    temp = 0xff;

    start_capture = 3;

    Serial.println(F("ACK CMD CAM start single shoo5t. END"));

    break;

    case 0x31:

    temp = 0xff;

    myCAM.set_format(BMP);

    myCAM.InitCAM();

    #if !(defined (OV2640_MINI_2MP))        

    myCAM.clear_bit(ARDUCHIP_TIM, VSYNC_LEVEL_MASK);

    #endif

    myCAM.wrSensorReg16_8(0x3818, 0x81);

    myCAM.wrSensorReg16_8(0x3621, 0xA7);

    break;

    case 0x40:

    myCAM.OV2640_set_Light_Mode(Auto);temp = 0xff;

    Serial.println(F("ACK CMD Set to Auto END"));break;

     case 0x41:

    myCAM.OV2640_set_Light_Mode(Sunny);temp = 0xff;

    Serial.println(F("ACK CMD Set to Sunny END"));break;

     case 0x42:

    myCAM.OV2640_set_Light_Mode(Cloudy);temp = 0xff;

    Serial.println(F("ACK CMD Set to Cloudy END"));break;

     case 0x43:

    myCAM.OV2640_set_Light_Mode(Office);temp = 0xff;

    Serial.println(F("ACK CMD Set to Office END"));break;

   case 0x44:

    myCAM.OV2640_set_Light_Mode(Home);   temp = 0xff;

   Serial.println(F("ACK CMD Set to Home END"));break;

   case 0x50:

    myCAM.OV2640_set_Color_Saturation(Saturation2); temp = 0xff;

     Serial.println(F("ACK CMD Set to Saturation+2 END"));break;

   case 0x51:

     myCAM.OV2640_set_Color_Saturation(Saturation1); temp = 0xff;

     Serial.println(F("ACK CMD Set to Saturation+1 END"));break;

   case 0x52:

    myCAM.OV2640_set_Color_Saturation(Saturation0); temp = 0xff;

     Serial.println(F("ACK CMD Set to Saturation+0 END"));break;

    case 0x53:

    myCAM. OV2640_set_Color_Saturation(Saturation_1); temp = 0xff;

     Serial.println(F("ACK CMD Set to Saturation-1 END"));break;

    case 0x54:

     myCAM.OV2640_set_Color_Saturation(Saturation_2); temp = 0xff;

     Serial.println(F("ACK CMD Set to Saturation-2 END"));break; 

   case 0x60:

    myCAM.OV2640_set_Brightness(Brightness2); temp = 0xff;

     Serial.println(F("ACK CMD Set to Brightness+2 END"));break;

   case 0x61:

     myCAM.OV2640_set_Brightness(Brightness1); temp = 0xff;

     Serial.println(F("ACK CMD Set to Brightness+1 END"));break;

   case 0x62://62

    myCAM.OV2640_set_Brightness(Brightness0); temp = 0xff;

     Serial.println(F("ACK CMD Set to Brightness+0 END"));break;

    case 0x63://63

    myCAM. OV2640_set_Brightness(Brightness_1); temp = 0xff;

     Serial.println(F("ACK CMD Set to Brightness-1 END"));break;

    case 0x64:

     myCAM.OV2640_set_Brightness(Brightness_2); temp = 0xff;

     Serial.println(F("ACK CMD Set to Brightness-2 END"));break; 

    case 0x70:

      myCAM.OV2640_set_Contrast(Contrast2);temp = 0xff;

     Serial.println(F("ACK CMD Set to Contrast+2 END"));break; 

    case 0x71:

      myCAM.OV2640_set_Contrast(Contrast1);temp = 0xff;

     Serial.println(F("ACK CMD Set to Contrast+1 END"));break;

     case 0x72:

      myCAM.OV2640_set_Contrast(Contrast0);temp = 0xff;

     Serial.println(F("ACK CMD Set to Contrast+0 END"));break;

    case 0x73:

      myCAM.OV2640_set_Contrast(Contrast_1);temp = 0xff;

     Serial.println(F("ACK CMD Set to Contrast-1 END"));break;

   case 0x74:

      myCAM.OV2640_set_Contrast(Contrast_2);temp = 0xff;

     Serial.println(F("ACK CMD Set to Contrast-2 END"));break;

   case 0x80:

    myCAM.OV2640_set_Special_effects(Antique);temp = 0xff;

    Serial.println(F("ACK CMD Set to Antique END"));break;

   case 0x81:

    myCAM.OV2640_set_Special_effects(Bluish);temp = 0xff;

    Serial.println(F("ACK CMD Set to Bluish END"));break;

   case 0x82:

    myCAM.OV2640_set_Special_effects(Greenish);temp = 0xff;

    Serial.println(F("ACK CMD Set to Greenish END"));break;  

   case 0x83:

    myCAM.OV2640_set_Special_effects(Reddish);temp = 0xff;

    Serial.println(F("ACK CMD Set to Reddish END"));break;  

   case 0x84:

    myCAM.OV2640_set_Special_effects(BW);temp = 0xff;

    Serial.println(F("ACK CMD Set to BW END"));break; 

  case 0x85:

    myCAM.OV2640_set_Special_effects(Negative);temp = 0xff;

    Serial.println(F("ACK CMD Set to Negative END"));break; 

  case 0x86:

    myCAM.OV2640_set_Special_effects(BWnegative);temp = 0xff;

    Serial.println(F("ACK CMD Set to BWnegative END"));break;   

   case 0x87:

    myCAM.OV2640_set_Special_effects(Normal);temp = 0xff;

    Serial.println(F("ACK CMD Set to Normal END"));break;     

  }

}

if (mode == 1)

{

  if (start_capture == 1 )

  {

    myCAM.flush_fifo();

    myCAM.clear_fifo_flag();

    //Start capture

    myCAM.start_capture();

    start_capture = 0;

  }

  if (myCAM.get_bit(ARDUCHIP_TRIG, CAP_DONE_MASK))

  {

    Serial.println(F("ACK CMD CAM Capture Done. END"));delay(50);

    read_fifo_burst(myCAM);

    //Clear the capture done flag

    myCAM.clear_fifo_flag();

  }

}

else if (mode == 2)

{

  while (1)

  {

    temp = Serial.read();

    if (temp == 0x21)

    {

      start_capture = 0;

      mode = 0;

      Serial.println(F("ACK CMD CAM stop video streaming. END"));

      break;

    }

    switch (temp)

    {

       case 0x40:

    myCAM.OV2640_set_Light_Mode(Auto);temp = 0xff;

    Serial.println(F("ACK CMD Set to Auto END"));break;

     case 0x41:

    myCAM.OV2640_set_Light_Mode(Sunny);temp = 0xff;

    Serial.println(F("ACK CMD Set to Sunny END"));break;

     case 0x42:

    myCAM.OV2640_set_Light_Mode(Cloudy);temp = 0xff;

    Serial.println(F("ACK CMD Set to Cloudy END"));break;

     case 0x43:

    myCAM.OV2640_set_Light_Mode(Office);temp = 0xff;

    Serial.println(F("ACK CMD Set to Office END"));break;

   case 0x44:

    myCAM.OV2640_set_Light_Mode(Home);   temp = 0xff;

   Serial.println(F("ACK CMD Set to Home END"));break;

   case 0x50:

    myCAM.OV2640_set_Color_Saturation(Saturation2); temp = 0xff;

     Serial.println(F("ACK CMD Set to Saturation+2 END"));break;

   case 0x51:

     myCAM.OV2640_set_Color_Saturation(Saturation1); temp = 0xff;

     Serial.println(F("ACK CMD Set to Saturation+1 END"));break;

   case 0x52:

    myCAM.OV2640_set_Color_Saturation(Saturation0); temp = 0xff;

     Serial.println(F("ACK CMD Set to Saturation+0 END"));break;

    case 0x53:

    myCAM. OV2640_set_Color_Saturation(Saturation_1); temp = 0xff;

     Serial.println(F("ACK CMD Set to Saturation-1 END"));break;

    case 0x54:

     myCAM.OV2640_set_Color_Saturation(Saturation_2); temp = 0xff;

     Serial.println(F("ACK CMD Set to Saturation-2 END"));break; 

   case 0x60:

    myCAM.OV2640_set_Brightness(Brightness2); temp = 0xff;

     Serial.println(F("ACK CMD Set to Brightness+2 END"));break;

   case 0x61:

     myCAM.OV2640_set_Brightness(Brightness1); temp = 0xff;

     Serial.println(F("ACK CMD Set to Brightness+1 END"));break;

   case 0x62:

    myCAM.OV2640_set_Brightness(Brightness0); temp = 0xff;

     Serial.println(F("ACK CMD Set to Brightness+0 END"));break;

    case 0x63:

    myCAM. OV2640_set_Brightness(Brightness_1); temp = 0xff;

     Serial.println(F("ACK CMD Set to Brightness-1 END"));break;

    case 0x64:

     myCAM.OV2640_set_Brightness(Brightness_2); temp = 0xff;

     Serial.println(F("ACK CMD Set to Brightness-2 END"));break; 

    case 0x70:

      myCAM.OV2640_set_Contrast(Contrast2);temp = 0xff;

     Serial.println(F("ACK CMD Set to Contrast+2 END"));break; 

    case 0x71:

      myCAM.OV2640_set_Contrast(Contrast1);temp = 0xff;

     Serial.println(F("ACK CMD Set to Contrast+1 END"));break;

     case 0x72:

      myCAM.OV2640_set_Contrast(Contrast0);temp = 0xff;

     Serial.println(F("ACK CMD Set to Contrast+0 END"));break;

    case 0x73:

      myCAM.OV2640_set_Contrast(Contrast_1);temp = 0xff;

     Serial.println(F("ACK CMD Set to Contrast-1 END"));break;

   case 0x74:

      myCAM.OV2640_set_Contrast(Contrast_2);temp = 0xff;

     Serial.println(F("ACK CMD Set to Contrast-2 END"));break;

   case 0x80:

    myCAM.OV2640_set_Special_effects(Antique);temp = 0xff;

    Serial.println(F("ACK CMD Set to Antique END"));break;

   case 0x81:

    myCAM.OV2640_set_Special_effects(Bluish);temp = 0xff;

    Serial.println(F("ACK CMD Set to Bluish END"));break;

   case 0x82:

    myCAM.OV2640_set_Special_effects(Greenish);temp = 0xff;

    Serial.println(F("ACK CMD Set to Greenish END"));break;  

   case 0x83:

    myCAM.OV2640_set_Special_effects(Reddish);temp = 0xff;

    Serial.println(F("ACK CMD Set to Reddish END"));break;  

   case 0x84:

    myCAM.OV2640_set_Special_effects(BW);temp = 0xff;

    Serial.println(F("ACK CMD Set to BW END"));break; 

  case 0x85:

    myCAM.OV2640_set_Special_effects(Negative);temp = 0xff;

    Serial.println(F("ACK CMD Set to Negative END"));break; 

  case 0x86:

    myCAM.OV2640_set_Special_effects(BWnegative);temp = 0xff;

    Serial.println(F("ACK CMD Set to BWnegative END"));break;   

   case 0x87:

    myCAM.OV2640_set_Special_effects(Normal);temp = 0xff;

    Serial.println(F("ACK CMD Set to Normal END"));break;     

  }

    if (start_capture == 2)

    {

      myCAM.flush_fifo();

      myCAM.clear_fifo_flag();

      //Start capture

      myCAM.start_capture();

      start_capture = 0;

    }

    if (myCAM.get_bit(ARDUCHIP_TRIG, CAP_DONE_MASK))

    {

      uint32_t length = 0;

      length = myCAM.read_fifo_length();

      if ((length >= MAX_FIFO_SIZE) | (length == 0))

      {

        myCAM.clear_fifo_flag();

        start_capture = 2;

        continue;

      }

      myCAM.CS_LOW();

      myCAM.set_fifo_burst();//Set fifo burst mode

      temp =  SPI.transfer(0x00);

      length --;

      while ( length-- )

      {

        temp_last = temp;

        temp =  SPI.transfer(0x00);

        if (is_header == true)

        {

          Serial.write(temp);

        }

        else if ((temp == 0xD8) & (temp_last == 0xFF))

        {

          is_header = true;

          Serial.println(F("ACK IMG END"));

          Serial.write(temp_last);

          Serial.write(temp);

        }

        if ( (temp == 0xD9) && (temp_last == 0xFF) ) //If find the end ,break while,

        break;

        delayMicroseconds(15);

      }

      myCAM.CS_HIGH();

      myCAM.clear_fifo_flag();

      start_capture = 2;

      is_header = false;

    }

  }

}

else if (mode == 3)

{

  if (start_capture == 3)

  {

    //Flush the FIFO

    myCAM.flush_fifo();

    myCAM.clear_fifo_flag();

    //Start capture

    myCAM.start_capture();

    start_capture = 0;

  }

  if (myCAM.get_bit(ARDUCHIP_TRIG, CAP_DONE_MASK))

  {

    Serial.println(F("ACK CMD CAM Capture Done. END"));delay(50);

    uint8_t temp, temp_last;

    uint32_t length = 0;

    length = myCAM.read_fifo_length();

    if (length >= MAX_FIFO_SIZE ) 

    {

      Serial.println(F("ACK CMD Over size. END"));

      myCAM.clear_fifo_flag();

      return;

    }

    if (length == 0 ) //0 kb

    {

      Serial.println(F("ACK CMD Size is 0. END"));

      myCAM.clear_fifo_flag();

      return;

    }

    myCAM.CS_LOW();

    myCAM.set_fifo_burst();//Set fifo burst mode

    

    Serial.write(0xFF);

    Serial.write(0xAA);

    for (temp = 0; temp < BMPIMAGEOFFSET; temp++)

    {

      Serial.write(pgm_read_byte(&bmp_header[temp]));

    }

    //for old version, enable it else disable

   // SPI.transfer(0x00);

    char VH, VL;

    int i = 0, j = 0;

    for (i = 0; i < 240; i++)

    {

      for (j = 0; j < 320; j++)

      {

        VH = SPI.transfer(0x00);;

        VL = SPI.transfer(0x00);;

        Serial.write(VL);

        delayMicroseconds(12);

        Serial.write(VH);

        delayMicroseconds(12);

      }

    }

    Serial.write(0xBB);

    Serial.write(0xCC);

    myCAM.CS_HIGH();

    //Clear the capture done flag

    myCAM.clear_fifo_flag();

  }

}

}

uint8_t read_fifo_burst(ArduCAM myCAM)

{

  uint8_t temp = 0, temp_last = 0;

  uint32_t length = 0;

  length = myCAM.read_fifo_length();

  Serial.println(length, DEC);

  if (length >= MAX_FIFO_SIZE) //512 kb

  {

    Serial.println(F("ACK CMD Over size. END"));

    return 0;

  }

  if (length == 0 ) //0 kb

  {

    Serial.println(F("ACK CMD Size is 0. END"));

    return 0;

  }

  myCAM.CS_LOW();

  myCAM.set_fifo_burst();//Set fifo burst mode

  temp =  SPI.transfer(0x00);

  length --;

  while ( length-- )

  {

    temp_last = temp;

    temp =  SPI.transfer(0x00);

    if (is_header == true)

    {

      Serial.write(temp);

    }

    else if ((temp == 0xD8) & (temp_last == 0xFF))

    {

      is_header = true;

      Serial.println(F("ACK IMG END"));

      Serial.write(temp_last);

      Serial.write(temp);

    }

    if ( (temp == 0xD9) && (temp_last == 0xFF) ) //If find the end ,break while,

    break;

    delayMicroseconds(15);

  }

  myCAM.CS_HIGH();

  is_header = false;

  return 1;

}

[/code]

  • BASIC4MCU 작성글 SNS에 공유하기
  • 페이스북으로 보내기
  • 트위터로 보내기
  • 구글플러스로 보내기
  • 카카오톡으로 보내기

댓글 : 1

조회수 : 3,853

master님의 댓글

master 작성일

제가 경험해보지 않은 것이라서 도움을 드릴만한 것이 없는 것 같습니다.

게시물 검색

BASIC4MCU > 질문게시판 목록

제목 날짜
공지 MCU, AVR, 아두이노 등 전자공학에 관련된 질문은… 스태프  19-01-15
공지 사이트 이용 안내 댓글[25] master  17-10-29
질문 PIC 블루투스 연결 댓글[17] 픽공부 새글 10:28
질문 PIC18F452 블루투스 연결 댓글[4] 마이컴 새글 22-08-08
질문 아두이노 코드 해석을 못하겠습니다... 댓글[2] 김가헌 새글 22-08-08
질문 아두이노 코드를 avr로 변환해 주세요 ...ㅠ 댓글[3] 옹냥냥 새글 22-08-08
질문 아두이노 녹음-스피커모듈 관련 질문있습니다 ㅠㅠ 댓글[2] 방귀뿡뿡 새글 22-08-08
질문 Serial EEPROM 실수값 저장.. 댓글[2] 첨부파일광이 새글 22-08-07
질문 STM32 Live Expression 값들이 깜빡이는… 댓글[3] 둠둠  22-08-05
질문 아두이노 ESP32 wifi module 댓글[1] Yoon  22-08-03
질문 atmega128과 dht11, lcd를 연결했는데 0… 댓글[1] 고양이33  22-08-02
질문 ATMEGA 128 코드를 합치려고 하는데 어렵네요 댓글[2] 고양이33  22-08-02
질문 서보모터 제어에 대해 질문있습니다. 댓글[2] 첨부파일뉴비에오  22-07-30
질문 적외선 통신 알려주실분있나요 ㅠㅠ 댓글[1] hkjsj10  22-07-30
질문 아두이노 관련 궁금합니다. 댓글[1] 뱝뱝  22-07-28
질문 아두이노 우노 MCP4725 댓글[3] opqr  22-07-27
질문 레오나르도 인체감지센서 알림 안옴 면지지  22-07-24
답변 답변 : 레오나르도 인체감지센서 알림 안옴 master  22-07-25
질문 Uno에서 엔코더값 놓치는 이유가 뭘까요... 댓글[3] MAKTUB  22-07-24
질문 아두이노 압력센서 연동 질문 댓글[4] dbice  22-07-23
질문 아두이노 버튼 누르기 문의 댓글[1] 김형근  22-07-23
질문 HM10 다중페어링 댓글[1] ㅎㅋㅎㅋㅎ  22-07-22
질문 모터드라이브 선정 댓글[6] 조숩인  22-07-22
질문 ad9850 sin파 2 댓글[6] 첨부파일opqr  22-07-21
질문 ad9850 sin파 합성 댓글[7] 첨부파일opqr  22-07-20
질문 특정값이 n초이상,n번 이상 연속될경우를 감지하는 함수… 댓글[4] 우수  22-07-17
질문 delay를 millis함수로 바꾸는데 질문있습니다. 댓글[12] 첨부파일뉴비에오  22-07-16
질문 피에조 부저로 맬로디 만들기인대 코딩 까지 했는데 아두… 댓글[2] 첨부파일mingu123  22-07-15
질문 블루투스와 안드로이드 연동관련 질문입니다! ㅎㅇㅎㅇ  22-07-14
질문 아두이노간 블루투스 통신에 대해서 질문있습니다 첨부파일뉴비에오  22-07-13
게시물 검색


Privacy Policy
MCU BASIC ⓒ 2017
PC버전