Премини към съдържанието
Форумът в приложение

По-лесно сърфиране. Научи повече.

Kaldata.com - Форуми

Приложение на форума на цял екран с push известия, значки и други.

За да инсталирате това приложение на iOS и iPadOS
  1. Докоснете Иконата за споделяне в Safari
  2. Превъртете менюто и докоснете Добавяне към началния екран.
  3. Докоснете Добавяне в горния десен ъгъл.
За да инсталирате това приложение на Android
  1. Докоснете менюто с 3 точки (⋮) в горния десен ъгъл на браузъра.
  2. Докоснете Добавяне към началния екран или Инсталиране на приложение.
  3. Потвърдете, като докоснете Инсталиране.

Добре дошли!

Добре дошли в нашите форуми, пълни с полезна информация. Имате проблем с компютъра или телефона си? Публикувайте нова тема и ще намерите решение на всичките си проблеми. Общувайте свободно и открийте безброй нови приятели.

Моля, регистрирайте се за да публикувате тема и да получите пълен достъп до всички функции.

 

Проблем при код в Tinkercad

Featured Replies

Здравейте!от скоро се занимавам с онлайн симулатор на ардуино "Tinkercad" ,но имам някой проблеми с логическото изпълнение на кодовете.

ето и част от първият 

 if (digitalRead(Zaqvka2) == HIGH)
{
switch (i){

case 0:
digitalWrite(Up,HIGH);
digitalWrite(Fast,HIGH);}
}                                                     тук проблема идва от това, че без да е изпълнено условието за If (zaqvka da e HIGH)   се изпълнява оператора switch ?!?

друг проблем който срещнах е  ,че когато не е изпълнено условие за if  не се изпълнява else частта. 

Ще се радвам ако някой сподели дали е имал проблем с средата и да каже този код дали върви нормално в реални условия с контролер и др-те физически елементи.

Започвам да си мисля, че средата е боза ?!?

 

sheme.PNG

А ти изобщо имаш ли някакви познания по програмиране? Така като гледам, май клонят към "минус". За да не се изпълнява дадено условие, значи се изпълнява друго или условието не е зададено правилно. Дай целия код. Къде е това "else"?

  • Автор

int Up=13;
int Sensor=2;
int Fast=12;
int Slow=11;
int Zaqvka2=1;
int i=0;
int y=1;
void setup() {
  Serial.begin(9600);
   pinMode(Sensor, INPUT);
   pinMode(Zaqvka2, INPUT);
   pinMode(Up, OUTPUT);
   pinMode(Fast, OUTPUT);
   pinMode(Slow, OUTPUT);
  Serial.println(i);
}

void loop() {
 if (digitalRead(Zaqvka2) == HIGH)
 {  
     switch (i){
     case 0:
     digitalWrite(Up,HIGH);
     digitalWrite(Fast,HIGH);  }
 } 
}

Ето колега по изказването ти разбирам, че си голям специалист дано решиш проблема :)

преди 18 минути, martin stoqnov написа:

int Up=13;
int Sensor=2;
int Fast=12;
int Slow=11;
int Zaqvka2=1;
int i=0;
int y=1;
void setup() {
  Serial.begin(9600);
   pinMode(Sensor, INPUT);
   pinMode(Zaqvka2, INPUT);
   pinMode(Up, OUTPUT);
   pinMode(Fast, OUTPUT);
   pinMode(Slow, OUTPUT);
  Serial.println(i);
}

void loop() {
 if (digitalRead(Zaqvka2) == HIGH)
 {  
     switch (i){
     case 0:
     digitalWrite(Up,HIGH);
     digitalWrite(Fast,HIGH);  }
 } 
}

Ето колега по изказването ти разбирам, че си голям специалист дано решиш проблема :)

Аз тук "else" условие не виждам, само едно "if", при което, ако е изпълнено, се сменя една позиция на това "i", което само ако е "0" се изпълнява кода. В противен случай - ако не са изпълнени всички условия - нищо не се случва, поне според този код.

  • Автор
преди 7 минути, Raze написа:

Аз тук "else" условие не виждам, само едно "if", при което, ако е изпълнено, се сменя една позиция на това "i", което само ако е "0" се изпълнява кода. В противен случай - ако не са изпълнени всички условия - нищо не се случва, поне според този код.

много гледаш ама не виждаш... човека с големите познания!Ясно съм написал, че проблема идва от това, че заявка2 се установява в ХАЙ още при стартирането на кода.В логиката else не е нужен заядливко.Така или иначе аз разбрах къде е проблема благодаря все пак.

Ти като си много умен си го оправи сам тогава, не да питаш по форуми. Хем иска безплатна помощ, хем недоволен. Не стига, че му вадиш думите с ченгел, ами и мрънка.

Като не разбирате въпроса, защо отговаряте?

----

Щом симулаторът ти казва, че нивото е високо, значи е такова. До колкото си спомням, ниско ниво (нула) се гарантира само ако подадеш маса. Ако проблемът не ти е в статичното електричество, може би бутоните са ти свързани погрешно (намери схема на тия бутони и виж какво си натворил, че нещо това свързване ме съмнява сериозно).

Архивирана тема

Темата е твърде стара и е архивирана. Не можете да добавяте нови отговори в нея, но винаги можете да публикувате нова тема, в която да продължи дискусията. Регистрирайте се или влезте във вашия профил за да публикувате нова тема.

Разглеждащи това в момента 0

  • Няма регистрирани потребители разглеждащи тази страница.

Дарение

  • Подкрепи съществуването на форума - направи дарение
    25%
    Дарени 252.69 EUR от нужните 1,000.00 EUR

Бюлетин

Получавайте известие, когато има важна промяна или новина свързана с форума.

Профил

Навигация

Търсене

Търсене

Конфигуриране на push известия в браузъра

Chrome (Android)
  1. Докоснете иконата на катинар до адресната лента.
  2. Докоснете Разрешения → Известия.
  3. Променете предпочитанията си.
Chrome (Desktop)
  1. Кликнете върху иконата на катинар в адресната лента.
  2. Изберете Настройки на сайта.
  3. Намерете Известия и коригирайте предпочитанията си.