Не работает код поогите пожалуйста (змейка).

vo0ov
vo0ov аватар
Offline
Зарегистрирован: 04.01.2021

Не работает код змейки 

//      RST  - Pin 3
//      CE   - Pin 4
//      DC   - Pin 5
//      DIN  - Pin 6
//      CLK  - Pin 7
#include <Nokia5110.h>

#include <SPI.h>

#include <Adafruit_GFX.h>

#include <Adafruit_PCD8544.h>

Adafruit_PCD8544 display = Adafruit_PCD8544(7, 6, 5, 4, 3);

static const unsigned char PROGMEM tail [4] =

{B11 ,
 B11 };

 //Serial.println("GAME OVER");

void setup() 
{
  display.setContrast(30);
  
  display.begin();

  display.clearDisplay();

  Serial.begin(9600);

  }
void loop() 
{

  bool control_3_x =  false ; //                    1- вверх   2- вниз  3- влево   4- вправо

  bool control_4_x =  false ;

  bool control_1_x =  false ;

  bool control_2_x =  false ;
  
  int Joy_X = analogRead(A1);

  int Joy_y = analogRead(A0);

  if (Joy_X < 312){

    control_3_x = true;
    
    //control_3_x = false;
  }

   else{

    control_3_x = false;

    if (Joy_X > 720){
      
       control_4_x = true;
       
       //control_4_x = false;
       }
       else{
        
         control_4_x = false;
       }
       
       if (Joy_y > 720){
        
        control_1_x = true;
        
        //control_1_x = false;
       }
       
        else {
          
          if (Joy_y < 312){
            
          control_2_x = true;
           
          //control_2_x = false;
                 }
               }
             }

  if (control_3_x =  true){
    Serial.println("влево");
    control_3_x =  false ;
  }
  
  if (control_4_x =  true){
    Serial.println("вправо");
   control_4_x =  false ;
  }
  
  if (control_1_x =  true){
    Serial.println("вверх");
    control_1_x =  false ;
  }
  
  if (control_2_x =  true){
    Serial.println("вниз");
    control_2_x =  false ;
  } 
}

Серьял порт взбесиля

он выдаёт 

влево
вправо
вверх
вниз
влево
вправо
вверх
вниз
влево
вправо
вверх
вниз
влево
вправо
вверх
вниз
влево
вправо
вверх
вниз
влево
вправо
вверх
вниз
влево
вправо
вверх
вниз
влево
вправо
вверх
вниз
влево
вправо
вверх
вниз
влево
вправо
вверх
вниз
влево
вправо
вверх
вниз
влево
вправо
вверх
вниз
влево
вправо
вверх
вниз
влево
вправо
вверх
вниз
влево
вправо
вверх
вниз
влево
вправо
вверх
вниз
влево
вправо
вверх
вниз
влево
вправо
вверх
вниз
влево
вправо
вверх
вниз
влево
вправо
вверх
вниз
влево
вправо
вверх
вниз
влево
вправо
вверх
вниз
влево
вправо
вверх
вниз
влево
вправо
вверх
вниз
влево
вправо
вверх
вниз
влево
вправо
вверх
вниз
влево
вправо
вверх
вниз
влево
вправо
вверх
вниз
влево
вправо
вверх
вниз
влево
вправо
вверх
вниз
влево
вправо
вверх
вниз
влево
вправо
вверх
вниз
влево
вправо
вверх
вниз
влево
вправо
вверх
вниз
влево
вправо
вверх
вниз
влево
вправо
вверх
вниз
влево
вправо
вверх
вниз
влево
вправо
вверх
вниз
влево
вправо
вверх
вниз
влево
вправо
вверх
вниз
влево
вправо
вверх
вниз
влево
вправо
вверх
вниз
влево
вправо
вверх
вниз
влево
вправо
вверх
вниз
 
что делать
 

 

vo0ov
vo0ov аватар
Offline
Зарегистрирован: 04.01.2021

vo0ov пишет:

Не работает код змейки 

//      RST  - Pin 3
//      CE   - Pin 4
//      DC   - Pin 5
//      DIN  - Pin 6
//      CLK  - Pin 7
#include <Nokia5110.h>

#include <SPI.h>

#include <Adafruit_GFX.h>

#include <Adafruit_PCD8544.h>

Adafruit_PCD8544 display = Adafruit_PCD8544(7, 6, 5, 4, 3);

static const unsigned char PROGMEM tail [4] =

{B11 ,
 B11 };

 //Serial.println("GAME OVER");

void setup() 
{
  display.setContrast(30);
  
  display.begin();

  display.clearDisplay();

  Serial.begin(9600);

  }
void loop() 
{

  bool control_3_x =  false ; //                    1- вверх   2- вниз  3- влево   4- вправо

  bool control_4_x =  false ;

  bool control_1_x =  false ;

  bool control_2_x =  false ;
  
  int Joy_X = analogRead(A1);

  int Joy_y = analogRead(A0);

  if (Joy_X < 312){

    control_3_x = true;
    
    //control_3_x = false;
  }

   else{

    control_3_x = false;

    if (Joy_X > 720){
      
       control_4_x = true;
       
       //control_4_x = false;
       }
       else{
        
         control_4_x = false;
       }
       
       if (Joy_y > 720){
        
        control_1_x = true;
        
        //control_1_x = false;
       }
       
        else {
          
          if (Joy_y < 312){
            
          control_2_x = true;
           
          //control_2_x = false;
                 }
               }
             }

  if (control_3_x =  true){
    Serial.println("влево");
    control_3_x =  false ;
  }
  
  if (control_4_x =  true){
    Serial.println("вправо");
   control_4_x =  false ;
  }
  
  if (control_1_x =  true){
    Serial.println("вверх");
    control_1_x =  false ;
  }
  
  if (control_2_x =  true){
    Serial.println("вниз");
    control_2_x =  false ;
  } 
}

Серьял порт взбесиля

он выдаёт 

влево
вправо
вверх
вниз
влево
вправо
вверх
вниз...
 
что делать
 

 

Код не до конца закончен.

vo0ov
vo0ov аватар
Offline
Зарегистрирован: 04.01.2021

ошибка сервера 500 :(

Rumata
Rumata аватар
Offline
Зарегистрирован: 29.03.2019

vo0ov пишет:

что делать

Объективно, мало даных с сериал сюда запостили. Для адекватного анализа проблемы надо хотя-бы 10000 строк. 

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

vo0ov пишет:

он выдаёт

А что должен выдавать?

В чём вообще задача? Вы уверены, что все знают что именно Вы хотите сделать и что там у Вас не получается?

vo0ov пишет:

что делать

Научиться, наконец, задавать вопросы так, чтобы люди понимали в чём Ваша проблема и что Вам нужно.

А ещё лучше писать код самому, а не тырить всё подряд из интернета без понимания что там и как.

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

 

Если

vo0ov пишет:

Серьял порт взбесиля

нужно "окропить его святой водой"! Истино говорю. И ордуину бесовскую в купель окунуть! Однозначно!

BOOM
BOOM аватар
Offline
Зарегистрирован: 14.11.2018

http://arduino.ru/Reference/AnalogRead

A0 и A1, скорее всего, просто болтаются в воздухе (гадаю по свежему снегу :-D)

b707
Offline
Зарегистрирован: 26.05.2017

vo0ov пишет:

что делать?

Читать учебник.

Условия в строках 89, 94, 99 и 104 ВСЕГДА выдают true, поэтому Сериал бесконечно перечисляет все направления.

Исправляйте ошибки в написании условий в этих строчках

BOOM
BOOM аватар
Offline
Зарегистрирован: 14.11.2018

Да, как это я пропустил - вместо сравнения присвоение. ))

vo0ov
vo0ov аватар
Offline
Зарегистрирован: 04.01.2021

Тебе что 10000 строк из серьяла скопировать :-0

vo0ov
vo0ov аватар
Offline
Зарегистрирован: 04.01.2021

ЕвгенийП пишет:

vo0ov пишет:

он выдаёт

А что должен выдавать?

В чём вообще задача? Вы уверены, что все знают что именно Вы хотите сделать и что там у Вас не получается?

vo0ov пишет:

что делать

Научиться, наконец, задавать вопросы так, чтобы люди понимали в чём Ваша проблема и что Вам нужно.

А ещё лучше писать код самому, а не тырить всё подряд из интернета без понимания что там и как.

Я сам этот код писал?!?

vo0ov
vo0ov аватар
Offline
Зарегистрирован: 04.01.2021

b707 пишет:

vo0ov пишет:

что делать?

Читать учебник.

Условия в строках 89, 94, 99 и 104 ВСЕГДА выдают true, поэтому Сериал бесконечно перечисляет все направления.

Исправляйте ошибки в написании условий в этих строчках

Да а как?

vo0ov
vo0ov аватар
Offline
Зарегистрирован: 04.01.2021

BOOM пишет:

http://arduino.ru/Reference/AnalogRead

A0 и A1, скорее всего, просто болтаются в воздухе (гадаю по свежему снегу :-D)

нет к джостику подключины)))

vo0ov
vo0ov аватар
Offline
Зарегистрирован: 04.01.2021

BOOM пишет:

Да, как это я пропустил - вместо сравнения присвоение. ))

что "сравнения присвоение"

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

vo0ov пишет:

нет к джостику подключины)))

Значит, скорее всего, болтаются в воздухе. Рисуйте и выкладывайте схему подключения.

vo0ov пишет:

что "сравнения присвоение"

Так, вечер перестаёт быть томным.

Мальчик. Вам уже ВСЁ СКАЗАЛИ! Гуглите операции присваивания и сравнения и перестаньте хамить взрослым, если не хотите отправиться в бан!

vo0ov
vo0ov аватар
Offline
Зарегистрирован: 04.01.2021

BOOM пишет:

http://arduino.ru/Reference/AnalogRead

A0 и A1, скорее всего, просто болтаются в воздухе (гадаю по свежему снегу :-D)

а что у тебя за окном снег...а у нас нет снега:(

vo0ov
vo0ov аватар
Offline
Зарегистрирован: 04.01.2021

я знаю что это не бесись плиз!

vo0ov
vo0ov аватар
Offline
Зарегистрирован: 04.01.2021

и вообще я лучше пойду C# программировать

b707
Offline
Зарегистрирован: 26.05.2017

vo0ov пишет:

и вообще я лучше пойду C# программировать

и это правиьно. до С++ еще дорасти надо

Green
Offline
Зарегистрирован: 01.10.2015

Ой, та какой там С#. Бейсик попроще, либо Scratch.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Green пишет:

Ой, та какой там С#. Бейсик попроще, либо Scratch.

Брейнфак - наше усё!