# arduino xor

If both buttons are pressed, then we turn on the LED. But what if there was a way to check these conditions at the same time that would save some code and look cleaner to do that. We need to introduce boolean logic. In the 1850s, the English mathematician and philosopher George Boole wrote a book colloquially known as the laws of thought in it. He attempts to quantify Aristotle’s logic in mathematical terms, while a lot was covered in Bulls book, the biggest take away, at least for electronics in programming, was what became known as boolean logic or boolean algebra. This is a type of math that follows slightly different rules than what you might be used to. The biggest rule to remember is that variables can only have two values, true or false. In computers this can be represented as a 1 or 0 or, as we learned in the conditional statement episode anything that’s not 0 is true. In the C language, there are four main operators that we should cover the first and probably easiest is negation or not. If a variable which we’ll call P is true, the not operation result is false. If the value is false, the operation returns true. When reading something with boolean logic, you might see several operators used to denote this negation operation when it comes to conditional statements. In C, the exclamation point in front of a variable means negation. With the variable P, this is often read as not P.

The next operator is conjunction or more informally known as the and operator for this two variables. We’Ll call them P and Q must both be true for the result to be true when it comes to conditional statements will want to focus on the ampersand ampersand operator, although you might find several different operator symbols for the and in boolean logic, this table shows what Happens with the and operator for the different possible values of P and Q notice that when P and Q are both true, the result is true. Otherwise the result is false, let’s say you’re at a diner and a server asks. Do you want coffee or tea in normal English? We understand this as an exclusive or meaning. You can really only have coffee or tea it’s rare. You find somebody who wants both now let’s say you order the coffee. The server may then ask: do you want cream or sugar. This, on the other hand, is an example of it’s, inclusive or meaning you can have sugar cream or both when it comes to boolean logic. We have both inclusive and exclusive ORS as operators. The first is the inclusive or operator which is known as disjunction or just or once again, you’ll see a number of operators used when it comes to or but we’ll be focused on. The double vertical bar in C, which means logical or this table, shows the result of a logical or operation from two variables, as you can see, only if both P and Q are false is the answer false.

Otherwise, the answer is true. Remember the tea versus coffee example when ordering both would be weird well, there’s, an operator for that and it’s called exclusive disjunction or just exclusive, or here only one of P or Q may be true. Otherwise the answer is false: exclusive or isn’t considered a basic logic operator, since you can get the same answer by using a combination of the first three but it’s prevalent enough in programming and electronics that I thought I should introduce it you’ll see it often with the Operator, X or or a plus, with a circle around it, this table shows the result of px or Q. You can see that if either P or Q is true, then the result is true. If both are false, or if both are true, then the answer is false exclusive or can be very useful, but we don’t have a logical operator for it when it comes to making compound conditional statements in C, so we’ll just have to ignore it. For now, let’s, look at some examples. In code start a new Arduino sketch in setup right serial dot, begin 9600 under that in a equals two in the equal sign and under that, if open parentheses, open parentheses, a equals equals two close parentheses, ampersand ampersand, open parentheses, be less than ten close parentheses, close Parentheses, open curly, brace serial dot println in quotes, true, close curly, brace else, open, curly, brace serial.println in quotes false close curly brace here we’re saying, if a is equal to two and B is less than ten print.

The word true otherwise print false then write if open parentheses, exclamation point open parentheses, a less than 1 close parenthesis vertical bar vertical bar open parenthesis, B, greater than equal to ten close parentheses, close parentheses, open, curly, brace serial.println in quotes. True, close curly, brace else open, curly brace serial.println in quotes false and close curly brace we’re using the logical or this time, if a is not less than 1 or B is greater than or equal to 10 print. True, what do you think the results will be when I run this, I urge you to pause the video and work it out. Let’S open the serial, monitor and see as it turns out, both are true in the first operation. A does equal two, so that part is true B, being nine is less than 10, so that part is true as well. So true and true is true, which makes the whole condition true in this second operation. A is two, so a is not less than 1. That part is false, however, the exclamation point means to take the opposite or negate that, so this part is actually true B is less than 10, so we get false. For this part, we have true inclusive or false, which is true, since at least one of the operands is true. Comparing constants is great, but let’s. Look at a real world example. Previously we saw how to push a button and turn on an LED.

Let’S say we want to flash an LED whenever button is pushed once, but do nothing so long as the button is held down to do. This we’ll need our code to look for a transition between button high and button low, which shows when the button was first pushed. We can make this happen by sampling. The state of the button at regular intervals when the button is not pressed Digital Reader will return high when it is pressed digital read, will return low, so we just need to figure out when the current state is low and the previous state is high. We’Ll need a button connected to pin 7 on the Arduino connect the other side of the button to ground in a new sketch at the top right. Constant button pin equals 7 under that constant led, pin equals 13 int button pre evil high in all capital letters. This will be our previous state variable, which will update at the end of the loop function and use on the next iteration under that int button state in setup, right, pin mode button, pin comma input, pull up in all capital letters, pin mode, led, pin, comma output In all capital letters and then digital right led pin comma low in all capital letters. This is to make sure that the LED starts off. Then in loop right button state equals digital read button. Pin this captures the current state of the button and stores it in the button state variable then right if open parentheses, open parentheses, button state, equal, equal low, closed parentheses and force and ampersand open parentheses, button previa legal high, closed parentheses, close parentheses, open, curly brace under That digital right, led, pin, comma high delay 500 digital right, led pin come a low, close curly brace.

Here we see if the current button state is pressed when it was not pressed on the previous iteration. If so, it means the button was just pressed and we can flash the LED once after that, right button, previoulsy button state to store the current state as the previous state, which we’ll use in the next iteration of the loop function upload this to your Arduino. Now, when you press the button, the LED should flash once briefly only when you let go and press the button again, will the LED flash again using compound conditional statements with logic operators like knot and an or is a great way to do things like execute a Piece of code, once whenever a button is pushed, if you want to challenge, try changing the previous code so that the LED flashes only when you let the button go instead. Good luck. End is always happy.

# arduino xor Social

official.arduino
2019-10-02T13:36:47+0000

Want to keep an eye on things? Design your own remote-controlled surveillance robot.
official.arduino
2019-10-02T13:28:58+0000

In Distrelec Group’s upcoming webinar, Arduino CISO Gianluca Varisco will provide a detailed understanding on why the future and success of the IoT is in the “security of things.” Register now!

🗓️ Thursday, October 10th
🕓 4pm CET
💻 http://bit.ly/2mWRsj5

Oh look, it’s a sine wave!

Duino Demo – Rotozoomer

Originally posted 2015-09-27 12:23:20.

(Visited 63 times, 1 visits today)

## Comment (9)

1. Ahmet Asantas says:

great video!

2. Legacy Goods says:

Really enjoying this video series. Putting a lot more context behind the curriculum. Please consider keeping it going.

3. e3d says:

Need more of these. 1 per day, thanks.

4. Steven Cypherd says:

Always Protect Your PORTS. Use a 220 to 330 resistor from the source to the Port

1. odinata says:

Why?

5. Dhawal Rsp says:

sir i needed ur help.
can u tell me that how can i play mp3 file with the help of mp3 shield interfaced with 4*4 keypad
i means to say that i wannn play 16 mp3 file with the help of 4*4 matrix keypad by using cytron easy mp3 shield. sir is it possible to play if yes then tell me.

how can i write code for it.
i am making talking calculator so i needed to play mp3 files..
i have made calculator with the help of Arduino UNO and now i am trying to make voice for talking calculator but i couldntt understand that how can i play mp3 file with the help of mp3 shield which is interfacing with 4*4 keypad