how to make real time changes in simulation ??

hi guys !
i need your help , i just working with arduino mega project with proteus simulation ,
the goal of my project is to use push buttons to print alphabet letters in LCD and what i actually need is just give 5v for certain pins to give output on LCD (letters display) so once the letter displayed i can give another 5v for another certain pins to print another letter but in simulation i can’t make real time changes in wires (the reason is to print another letter) so can this possible in some different ways ?? , another big problem if i just set one connection to certain pins it’s just going to print the letter but continuouslly !! even i just push the button once and also write code to return the pins to zero (low) to stop printing the letter(i need to print it just once) but that doesn’t make any effect at all !! :confused:

any Suggestions please ??

#include<LiquidCrystal.h>
LiquidCrystal lcd(13,12,11,10,9,8);

int b1=7;
int b2=6;
int b3=5;
int b4=4;
int b5=3;
int b6=2;

void setup()
{
lcd.begin(16 , 2);
lcd.clear();
  pinMode(b1,INPUT);
  pinMode(b2,INPUT);
  pinMode(b3,INPUT);
  pinMode(b4,INPUT);
  pinMode(b5,INPUT);
  pinMode(b6,INPUT);
  
  }
void loop()
{
  if ((digitalRead(b1)==1) && (digitalRead(b2)==0) && (digitalRead(b3)==0) && (digitalRead(b4)==0) && (digitalRead(b5)==0) && (digitalRead(b6)==0) )
  {
    delay(1000);lcd.print('a');  delay(500); digitalWrite(b1,LOW); 

  }
  
  else if ((digitalRead(b1)==1) && (digitalRead(b2)==1) && (digitalRead(b3)==0) && (digitalRead(b4)==0) && (digitalRead(b5)==0) && (digitalRead(b6)==0) )
  {
    delay(1000);lcd.print('b'); delay(500); digitalWrite(b1,LOW); digitalWrite(b2,LOW);
  } 
  
  else if ((digitalRead(b1)==1) && (digitalRead(b2)==0) && (digitalRead(b3)==0) && (digitalRead(b4)==1) && (digitalRead(b5)==0) && (digitalRead(b6)==0) )
  {
    delay(1000);lcd.print('c'); digitalWrite(b1,LOW); digitalWrite(b4,LOW);
  }  
  
}

any Suggestions please ??

The Arduino doesn't DO simulation. It does the real thing. Your whole post has NOTHING to do with the Arduino.

sorry i don't understand you can you explain more !

this is the simulation

PaulS:
The Arduino doesn't DO simulation. It does the real thing. Your whole post has NOTHING to do with the Arduino.

"The Arduino doesn't DO simulation " but proteus does , you need firstly understand what i need to do not writing fast rude comment !

but proteus does

This is NOT the proteus forum.

PaulS:
This is NOT the proteus forum.

if the discussions about " proteus simulator " here is forbidden or what ??

if the damn arduino proved simulator for us why i need to deal with proteus thing , i need to make simulation for my project so i don't need to buy the component for non reason , and by saying "Your whole post has NOTHING to do with the Arduino " NO i have something to do with arduino !! is to find solve for repeating letter issue by change the value of b1 , b4 to zero to not execute the if statement and print the letter every damn time !!

Ok then. Just keep asking here where people know very little about this proteus crap and keep waiting for someone who does know to come by and answer if that's what you want to do. But be forewarned, you're going to be hard pressed to find anyone here who knows anything about proteus so it will probably be a very long wait.

Or you could try asking somewhere that they have people with a clue about what you're asking like Paul suggested. It's entirely up to you. But you certainly do have the right to ask that question here and never get any answer if that's what you want. Seems stupid to me but it's your decision.

No, but your chances of getting a solution on this forum are very slim because there are no or very few people here that are knowledgeable when it comes to proteus.

You are far better of asking the people in the know (proteus).

Discuss proteus all you want, I would wager not many here use it, when it's so easy to just connect up some hardware and run it for real. I've never simulated anything using Proteus or any other simulator.
You could replace your lcd.prints with serial.prints and test your code with some buttons and LEDs for example.
As these are all on one port:
int b1=7;
int b2=6;
int b3=5;
int b4=4;
int b5=3;
int b6=2;
I would replace these statements with a port read and then a value comparison:

replace these
  if ((digitalRead(b1)==1) && (digitalRead(b2)==0) && (digitalRead(b3)==0) && (digitalRead(b4)==0) && (digitalRead(b5)==0) && (digitalRead(b6)==0) )

with this
portDvalue = PORTD;
if ( ( (portDvalue & 0xFC) >>2) == 0b00100000){ // read 8 bit port, shift away 2 unused bits, compare the rest

On the input pins, I would suggest using INPUT_PULLUP so the pins are at a known high level unless a button is pressed to connect them to Gnd for a low.

Maybe a kinder response would be to say that most of the people who provide advice here have real Arduinos and don't bother with simulating them.

The whole purpose of the Arduino IDE is to make it quicker to do a test on the real thing rather than in a simulation that may or may not accurately reflect the real thing.

...R

thanks guys , i only know this proteus crap ! can you suggest for me some other simulator for arduino chips how people have dealing and knowledgeable with ? , or this fourm is have no any kinds of discussions about simulations ??

You seem hung up on the use of a simulator. We are hung up on using the real thing.

This is not the place to discuss hangups or simulators.

I'm also hung up with real thing -_- , for your knowing the benefit of simulators is to not waste your time if your project concept not possible so , i'm Electronics Engineer and when we need start projects we not jump randomly to implementations "in real things" this is kind stupid specially in big electronic projects, we firstly made the concepts >> coding >> test in simulators >> finally implementation , this is basics dude try to learn it !!!

P!ease take this to the Proteus forum.
Thread locked.

i'm Electronics Engineer

if ((digitalRead(b1)==1) && (digitalRead(b2)==0) && (digitalRead(b3)==0) && (digitalRead(b4)==0) && (digitalRead(b5)==0) && (digitalRead(b6)==0) )
  {

It's clear you're not a software engineer- why bother switching off a pullup that wasn't switched on in the first place?