Nano Donma Sorunu

Muharrem Köse

Yeni Üye
Katılım
12 Ocak 2022
Mesajlar
7
Arkadaşlar merhaba yeni üye olarak ilk sorunumu iletiyorum. Arduino nanoya bir kayan yazı projesi yaptım (70 harften oluşan) programı yüklüyor, yazdırmaya geldiğinde yazdırıyor belli bir dakika sonra donuyor daha sonra tekrar kendi başına devam ediyor, tekrar donuyor ve böyle devam ediyor. Bu konuda yardımlarınızı bekler, iyi çalışmalar dilerim.
 
Arkadaşlar merhaba yeni üye olarak ilk sorunumu iletiyorum. Arduino nanoya bir kayan yazı projesi yaptım (70 harften oluşan) programı yüklüyor, yazdırmaya geldiğinde yazdırıyor belli bir dakika sonra donuyor daha sonra tekrar kendi başına devam ediyor, tekrar donuyor ve böyle devam ediyor. Bu konuda yardımlarınızı bekler, iyi çalışmalar dilerim.
şema,kod gibi şeyler vermeden nerden bilelim biz sorun nerde ne modül ne haberleşme ne çıkış kullanıyorsun
 
Editör menüsünden Kod butonunu kullanarak yazdığın programı ekle. Devrenin resimlerini de ekle onun üzerinden gidelim.

1641977180353.png
 
Editör menüsünden Kod butonunu kullanarak yazdığın programı ekle. Devrenin resimlerini de ekle onun üzerinden gidelim.

15284 eklentisine bak
Mrb. Taydin bey Öncelikle teşekkür ederim. Arduino Nano ya Arduino ide de yani kütüphanede kayıtlı Parola_Scrolling içindeki yazı ekleme bölümüne 50 harflik bir mesaj yazdığımda yükleme yapıyor yazdırıyor fakat 1 dk. sonra donuyor bu sorunu çözemedim ayarlarım tamam port görüyor nano seçili yükleme yapıyor sonra donuyor. Nanoya hiç bir işlem yapmadan yükleme yaptım. Yardımlarınızı bekler iyi çalışmalar dilerim. Reset atmayı bilemiyorum nasıl atacağım hk. bilgilendirme yaparsan birde onu deneyeyim. Googlede araştırdım bir türlü beceremedim.
 
Editör menüsünden Kod butonunu kullanarak yazdığın programı ekle. Devrenin resimlerini de ekle onun üzerinden gidelim.

15284 eklentisine bak

Kodu eklersen bakabiliriz.

C++:
// Use the Parola library to scroll text on the display
//
// Demonstrates the use of the scrolling function to display text received
// from the serial interface
//
// User can enter text on the serial monitor and this will display as a
// scrolling message on the display.
// Speed for the display is controlled by a pot on SPEED_IN analog in.
// Scrolling direction is controlled by a switch on DIRECTION_SET digital in.
// Invert ON/OFF is set by a switch on INVERT_SET digital in.
//
// UISwitch library can be found at https://github.com/MajicDesigns/MD_UISwitch
// MD_MAX72XX library can be found at https://github.com/MajicDesigns/MD_MAX72XX
//

#include <MD_Parola.h>
#include <MD_MAX72xx.h>
#include <SPI.h>

// set to 1 if we are implementing the user interface pot, switch, etc
#define USE_UI_CONTROL 0

#if USE_UI_CONTROL
#include <MD_UISwitch.h>
#endif

// Turn on debug statements to the serial output
#define DEBUG 0

#if DEBUG
#define PRINT(s, x) { Serial.print(F(s)); Serial.print(x); }
#define PRINTS(x) Serial.print(F(x))
#define PRINTX(x) Serial.println(x, HEX)
#else
#define PRINT(s, x)
#define PRINTS(x)
#define PRINTX(x)
#endif

// Define the number of devices we have in the chain and the hardware interface
// NOTE: These pin numbers will probably not work with your hardware and may
// need to be adapted
#define HARDWARE_TYPE MD_MAX72XX:AROLA_HW
#define MAX_DEVICES 11
#define CLK_PIN   13
#define DATA_PIN  11
#define CS_PIN    10


// HARDWARE SPI
MD_Parola P = MD_Parola(HARDWARE_TYPE, CS_PIN, MAX_DEVICES);

// SOFTWARE SPI
//MD_Parola P = MD_Parola(HARDWARE_TYPE, DATA_PIN, CLK_PIN, CS_PIN, MAX_DEVICES);

// Scrolling parameters
#if USE_UI_CONTROL
const uint8_t SPEED_IN = A5;
const uint8_t DIRECTION_SET = 8;  // change the effect
const uint8_t INVERT_SET = 9;     // change the invert
const uint8_t SPEED_DEADBAND = 5;
#endif // USE_UI_CONTROL


uint8_t scrollSpeed = 25;    // default frame delay value
textEffect_t scrollEffect = PA_SCROLL_LEFT;
textPosition_t scrollAlign = PA_LEFT;
uint16_t scrollPause = 2000; // in milliseconds


// Global message buffers shared by Serial and Scrolling functions

#define    BUF_SIZE    75
char curMessage[BUF_SIZE] = { "" };
char newMessage[BUF_SIZE] = { "Hello! Enter new message?" };
bool newMessageAvailable = true;


#if USE_UI_CONTROL
MD_UISwitch_Digital uiDirection(DIRECTION_SET);
MD_UISwitch_Digital uiInvert(INVERT_SET);

void doUI(void)
{
   // set the speed if it has changed
   {
      int16_t speed = map(analogRead(SPEED_IN), 0, 1023, 10, 150);

      if ((speed >= ((int16_t)P.getSpeed() + SPEED_DEADBAND)) ||
          (speed <= ((int16_t)P.getSpeed() - SPEED_DEADBAND)))
      {
         P.setSpeed(speed);
         scrollSpeed = speed;
         PRINT("\nChanged speed to ", P.getSpeed());
      }
   }

   if (uiDirection.read() == MD_UISwitch::KEY_PRESS) // SCROLL DIRECTION
   {
      PRINTS("\nChanging scroll direction");
      scrollEffect = (scrollEffect == PA_SCROLL_LEFT ? PA_SCROLL_RIGHT : PA_SCROLL_LEFT);
      P.setTextEffect(scrollEffect, scrollEffect);
      P.displayClear();
      P.displayReset();
   }

   if (uiInvert.read() == MD_UISwitch::KEY_PRESS)  // INVERT MODE
   {
      PRINTS("\nChanging invert mode");
      P.setInvert(!P.getInvert());
   }
}
#endif // USE_UI_CONTROL

void readSerial(void)
{
   static char *cp = newMessage;

   while (Serial.available())
   {
      *cp = (char)Serial.read();
      if ((*cp == '\n') || (cp - newMessage >= BUF_SIZE-2)) // end of message character or full buffer
      {
         *cp = '\0'; // end the string

         // restart the index for next filling spree and flag we have a message waiting
         cp = newMessage;
         newMessageAvailable = true;
      }
      else  // move char pointer to next position
         cp++;
   }
}

void setup()
{
   Serial.begin(57600);
   Serial.print("\n[Parola Scrolling Display]\nType a message for the scrolling display\nEnd message line with a newline");

#if USE_UI_CONTROL
   uiDirection.begin();
   uiInvert.begin();
   pinMode(SPEED_IN, INPUT);

   doUI();
#endif // USE_UI_CONTROL

   P.begin();
   P.displayText(curMessage, scrollAlign, scrollSpeed, scrollPause, scrollEffect, scrollEffect);
}


void loop()
{
#if USE_UI_CONTROL
   doUI();
#endif // USE_UI_CONTROL

   if (P.displayAnimate())
   {
      if (newMessageAvailable)
      {
         strcpy(curMessage, newMessage);
         newMessageAvailable = false;
      }

      P.displayReset();
   }

   readSerial();
}
 
Bu programda takılabilecek bir yer göremiyorum. Muhtemelen kütüphanenin kendisinde bir bug var.
 
Serial.begin(57600);

Serial hızını düşük dene. 9600

Ayrıca arduno'y basit standart blink kodu veya tek mesajlı standart serial kodu yükleyip donanımı test et.

USE_UI_CONTROL tanımlı değil, DEBUG da tanımlı değil. Bunlarla ilgili kod çıkarılınca çok basit bir program kalıyor. Seri port da program bir kere döngüye girdikten sonra kullanılmıyor. O yüzden problem onunla ilgili değildir bence.
 
Çok teşekkür ederim

Rica ederim de, burada sana yardım etmemin sebebi senin yaşadığın sorundan belki benim de birşeyler öğrenebilmem. O yüzden teşekkür yerine problem ile ilgili daha ayrıntılı bilgi vermen, devrenin resimlerini ve aklına gelen başka ayrıntıları vermen daha makbule geçer :)
 

Çevrimiçi personel

Forum istatistikleri

Konular
6,968
Mesajlar
119,032
Üyeler
2,828
Son üye
beysperi

Son kaynaklar

Son profil mesajları

hakan8470 wrote on Dede's profile.
1717172721760.png
Dedecim bu gul mu karanfil mi? Gerci ne farkeder onu da anlamam. Gerci bunun anlamini da bilmem :gulus2:
Lyewor_ wrote on hakan8470's profile.
Takip edilmeye başlanmışım :D ❤️
Merhaba elektronik tutsakları...
Lyewor_ wrote on taydin's profile.
Merhabalar. Elektrik laboratuvarınız varsa bunun hakkında bir konunuz var mı acaba? Sizin laboratuvarınızı merak ettim de :)
Lyewor_ wrote on taydin's profile.
Merhabalar forumda yeniyim! Bir sorum olacaktı lcr meterler hakkında. Hem bobini ölçen hemde bobin direnci ölçen bir lcr meter var mı acaba?
Back
Top