Arduino for Indian Languages

62
Aiaioo Labs (www.aiaioo.com) Bangalore, India Arduino for Indian Languages

Transcript of Arduino for Indian Languages

Page 1: Arduino for Indian Languages

Aiaioo Labs (www.aiaioo.com)Bangalore, India

Arduinofor Indian Languages

Page 2: Arduino for Indian Languages

Aiaioo Labs (www.aiaioo.com)Arduino in Indian Languages

What can you teach using Arduino?

Computers

Electronics

Students

Page 3: Arduino for Indian Languages

What do you mean by Computer Science Concepts?

Getting an understanding of1. how a computer works2. how it is programmed

Aiaioo Labs (www.aiaioo.com)Arduino in Indian Languages

Page 4: Arduino for Indian Languages

Computer Science Concepts

How do we teach computers now?

Aiaioo Labs (www.aiaioo.com)Arduino in Indian Languages

Page 5: Arduino for Indian Languages

Computer Science Concepts

PowerPoint

How do we teach computers now?

Word

Excel

Aiaioo Labs (www.aiaioo.com)Arduino in Indian Languages

Page 6: Arduino for Indian Languages

Computer Science Concepts

PowerPoint

What is the problem?

Word

Excel

Aiaioo Labs (www.aiaioo.com)Arduino in Indian Languages

Page 7: Arduino for Indian Languages

Computer Science Concepts

PowerPoint

What is the problem?

Word

Excel

Aiaioo Labs (www.aiaioo.com)Arduino in Indian Languages

1. These are boring

Page 8: Arduino for Indian Languages

Computer Science Concepts

PowerPoint

What is the problem?

Word

Excel

Aiaioo Labs (www.aiaioo.com)Arduino in Indian Languages

1. These are boring2. They were designed to be used

without knowing how a computer works

Page 9: Arduino for Indian Languages

Computer Science Concepts

So how do you learn computer science concepts?

Aiaioo Labs (www.aiaioo.com)Arduino in Indian Languages

1. Learn how a computer stores and processes information

2. Learn how to program a computer to do various things

Page 10: Arduino for Indian Languages

Aiaioo Labs (www.aiaioo.com)Arduino in Indian Languages

Computers Students

You can use Arduino to …

1. Demonstrate how a computer stores and processes information

2. Teach how to program a computer to do various things

Page 11: Arduino for Indian Languages

Aiaioo Labs (www.aiaioo.com)Arduino in Indian Languages

Computers Students

You can use Arduino to …

1. Demonstrate how a computer stores and processes information

2. Teach how to program a computer to do various things

And you can do it in Kannada

Page 12: Arduino for Indian Languages

Aiaioo Labs (www.aiaioo.com)Arduino in Indian Languages

ಕನ್ನಡದಲ್ಲಿ�‘ ’ಆರ್ಡ್ವೀ��ನೋ��ಕ್ರಮವಿಧಿಗಳನ್ನು್ನಬರೆಯಲ್ನುಕಲ್ಲಿಯಿರಿ

Page 13: Arduino for Indian Languages

Computer Concepts

Explaining the basic things a computer can do:1) Storing Information2) Arithmetic Operations3) Logical Operations4) Bitwise Operations5) Transfer of Control6) Repeating ActionsTeaching students to program a computer to do those things.

Aiaioo Labs (www.aiaioo.com)Arduino in Indian Languages

Page 14: Arduino for Indian Languages

Storing Information

A computer stores information as a series of 0s and 1s.

000 = 0001 = 1010 = 2011 = 3100 = 4101 = 5110 = 6111 = 7

Aiaioo Labs (www.aiaioo.com)Arduino in Indian Languages

Binary numbers

Decimal numbers

Memory location

Page 15: Arduino for Indian Languages

Writing a Program for Storing Information

Boxes where information is stored are called memory locations.

010 = 2

Aiaioo Labs (www.aiaioo.com)Arduino in Indian Languages

Memory location

You can give it a name

x

Page 16: Arduino for Indian Languages

Writing a Program for Storing Information

Boxes where information is stored are called memory locations.

010 = 2

Aiaioo Labs (www.aiaioo.com)Arduino in Indian Languages

Memory location

You can give it a name

x

int x = 2;

Page 17: Arduino for Indian Languages

Writing a Program for Storing Information in Kannada

Boxes where information is stored are called memory locations.

010 = 2

Aiaioo Labs (www.aiaioo.com)Arduino in Indian Languages

Memory location

You can give it a name

ತ್ನುಂಬಂಕೆ ಕ = ೨;

Page 18: Arduino for Indian Languages

A Program to Read Information

Boxes where information is stored are called memory locations.

010 = 2

Aiaioo Labs (www.aiaioo.com)Arduino in Indian Languages

Memory location

You have given the location a name

Serial.print(ಕ);Use that name to display the stored information

Page 19: Arduino for Indian Languages

A Program to Read Information in Kannada

Boxes where information is stored are called memory locations.

010 = 2

Aiaioo Labs (www.aiaioo.com)Arduino in Indian Languages

Memory location

You have given the location a name

ಅನ್ನುಕ್ರಮ.ಛಾಪಿಸ್ನು(ಕ);

Use that name to display the stored information

Page 20: Arduino for Indian Languages

Arithmetic Operations

A computer manipulates information stored as 0s and 1s.

000 = 0001 = 1010 = 2011 = 3100 = 4101 = 5110 = 6111 = 7

Aiaioo Labs (www.aiaioo.com)Arduino in Indian Languages

Memory location ಕ

Memory location ಕಿ

OperationsAddition, Subtraction, Multiplication, Division, Remainder

Page 21: Arduino for Indian Languages

Writing a Program for Adding Two Numbers

Boxes where information is stored are called memory locations.

010 = 2

101 = 5

Aiaioo Labs (www.aiaioo.com)Arduino in Indian Languages

Memory location x

x + y

Memory location y

Page 22: Arduino for Indian Languages

Adding Two Numbers (names in Kannada)

Boxes where information is stored are called memory locations.

010 = 2

101 = 5

Aiaioo Labs (www.aiaioo.com)Arduino in Indian Languages

Memory location ಕ

ಕ + ಕಿ

Memory location ಕಿ

Page 23: Arduino for Indian Languages

Subtracting Two Numbers

Boxes where information is stored are called memory locations.

010 = 2

101 = 5

Aiaioo Labs (www.aiaioo.com)Arduino in Indian Languages

Memory location ಕ

ಕ - ಕಿ

Memory location ಕಿ

Page 24: Arduino for Indian Languages

Multiplying Two Numbers

Boxes where information is stored are called memory locations.

010 = 2

101 = 5

Aiaioo Labs (www.aiaioo.com)Arduino in Indian Languages

Memory location ಕ

ಕ * ಕಿ

Memory location ಕಿ

Page 25: Arduino for Indian Languages

Dividing Two Numbers

Boxes where information is stored are called memory locations.

010 = 2

101 = 5

Aiaioo Labs (www.aiaioo.com)Arduino in Indian Languages

Memory location ಕ

ಕ / ಕಿ

Memory location ಕಿ

Page 26: Arduino for Indian Languages

Remainder from Dividing Two Numbers

Boxes where information is stored are called memory locations.

010 = 2

101 = 5

Aiaioo Labs (www.aiaioo.com)Arduino in Indian Languages

Memory location ಕ

ಕ % ಕಿ

Memory location ಕಿ

Page 27: Arduino for Indian Languages

Bitwise Operations

A computer manipulates information stored as 0s and 1s.

000 = 0001 = 1010 = 2011 = 3100 = 4101 = 5110 = 6111 = 7

Aiaioo Labs (www.aiaioo.com)Arduino in Indian Languages

Memory location ಕ

Memory location ಕಿ

OperationsXOR, Shifting

Page 28: Arduino for Indian Languages

XOR of Two Numbers

Boxes where information is stored are called memory locations.

010 = 2

101 = 5

Aiaioo Labs (www.aiaioo.com)Arduino in Indian Languages

Memory location ಕ

ಕ ^ ಕಿ

Memory location ಕಿ

Page 29: Arduino for Indian Languages

Shifting a Number

Boxes where information is stored are called memory locations.

010 = 2

Aiaioo Labs (www.aiaioo.com)Arduino in Indian Languages

Memory location ಕ

ಕ >> 1

Page 30: Arduino for Indian Languages

Logical Operations

A computer manipulates information stored as 0s and 1s.

000 = 0001 = 1010 = 2011 = 3100 = 4101 = 5110 = 6111 = 7

Aiaioo Labs (www.aiaioo.com)Arduino in Indian Languages

Memory location ಕ

Memory location ಕಿ

OperationsEqual, Not Equal, Greater, Lesser, And, Or, Not

Page 31: Arduino for Indian Languages

Two Numbers Being Equal

Boxes where information is stored are called memory locations.

010 = 2

101 = 5

Aiaioo Labs (www.aiaioo.com)Arduino in Indian Languages

Memory location ಕ

ಕ == ಕಿ

Memory location ಕಿ

Page 32: Arduino for Indian Languages

Two Numbers Being Unequal

Boxes where information is stored are called memory locations.

010 = 2

101 = 5

Aiaioo Labs (www.aiaioo.com)Arduino in Indian Languages

Memory location ಕ

ಕ != ಕಿ

Memory location ಕಿ

Page 33: Arduino for Indian Languages

One Number Being Less Than Another

Boxes where information is stored are called memory locations.

010 = 2

101 = 5

Aiaioo Labs (www.aiaioo.com)Arduino in Indian Languages

Memory location ಕ

ಕ < ಕಿ

Memory location ಕಿ

Page 34: Arduino for Indian Languages

One Number Being Less Than or Equal to Another

Boxes where information is stored are called memory locations.

010 = 2

101 = 5

Aiaioo Labs (www.aiaioo.com)Arduino in Indian Languages

Memory location ಕ

ಕ <= ಕಿ

Memory location ಕಿ

Page 35: Arduino for Indian Languages

One Number Being Greater Than Another

Boxes where information is stored are called memory locations.

010 = 2

101 = 5

Aiaioo Labs (www.aiaioo.com)Arduino in Indian Languages

Memory location ಕ

ಕ > ಕಿ

Memory location ಕಿ

Page 36: Arduino for Indian Languages

One Number Being Greater Than or Equal to Another

Boxes where information is stored are called memory locations.

010 = 2

101 = 5

Aiaioo Labs (www.aiaioo.com)Arduino in Indian Languages

Memory location ಕ

ಕ >= ಕಿ

Memory location ಕಿ

Page 37: Arduino for Indian Languages

And

Boxes where information is stored are called memory locations.

010 = 2

101 = 5

011 = 3

100 = 4

Aiaioo Labs (www.aiaioo.com)Arduino in Indian Languages

Memory location ಕ

ಕ >= ಕಿ && ಕ್ನು > ಕೆ

Memory location ಕಿMemory location ಕುMemory location ಕೆ

Page 38: Arduino for Indian Languages

Or

Boxes where information is stored are called memory locations.

010 = 2

101 = 5

011 = 3

100 = 4

Aiaioo Labs (www.aiaioo.com)Arduino in Indian Languages

Memory location ಕ

ಕ >= ಕಿ || ಕ್ನು > ಕೆ

Memory location ಕಿMemory location ಕುMemory location ಕೆ

Page 39: Arduino for Indian Languages

Not

Boxes where information is stored are called memory locations.

010 = 2

101 = 5

Aiaioo Labs (www.aiaioo.com)Arduino in Indian Languages

Memory location ಕ

! ( ಕ >= ಕಿ )

Memory location ಕಿ

Page 40: Arduino for Indian Languages

Not

Boxes where information is stored are called memory locations.

010 = 2

101 = 5

Aiaioo Labs (www.aiaioo.com)Arduino in Indian Languages

Memory location ಕ

! ( ಕ >= ಕಿ )

Memory location ಕಿ

Page 41: Arduino for Indian Languages

Transfer of Control

A computer manipulates information stored as 0s and 1s using instructions stored as 0s and 1s.

000 = 0 000 = assign001 = 1 000 = assign010 = 2 010 = +011 = 3 011 = -100 = 4 100 = >101 = 5 111 = jump110 = 6 001 = print111 = 7 001 = print

Aiaioo Labs (www.aiaioo.com)Arduino in Indian Languages

Memory Instructions

Page 42: Arduino for Indian Languages

Transfer of Control

A computer manipulates information stored as 0s and 1s using instructions stored as 0s and 1s.

000 = 0 int a = 1 000 = assign001 = 1 int b = 2 000 = assign010 = 2 a = a + b 010 = +011 = 3 b = a - b 011 = -100 = 4 a = a - b 100 = -101 = 5 (a > b) 100 = >110 = 6 if (a > b) 111 = jump111 = 7 print a 001 = print

Aiaioo Labs (www.aiaioo.com)Arduino in Indian Languages

Memory Instructions

Page 43: Arduino for Indian Languages

If

Boxes where information is stored are called memory locations.

010 = 2

101 = 5

Aiaioo Labs (www.aiaioo.com)Arduino in Indian Languages

Memory location a

if ( a < b )

Memory location b

Page 44: Arduino for Indian Languages

If ( ಆದರೆ in Kannada)

Boxes where information is stored are called memory locations.

010 = 2

101 = 5

Aiaioo Labs (www.aiaioo.com)Arduino in Indian Languages

Memory location ಕ

ಆದರೆ ( ಕ < ಕಿ )

Memory location ಕಿ

Page 45: Arduino for Indian Languages

Repeating Actions

You can repeat actions by jumping backwards.

000 = 0 int i = 0 000 = assign001 = 1 (i >= 10) 100 = >010 = 2 if (i >= 10) 111 = jump011 = 3 sum + a 010 = +100 = 4 sum = sum+a 000 = assign101 = 5 (i < 10) 100 = >110 = 6 if (i < 10) 111 = jump111 = 7 print sum 001 = print

Aiaioo Labs (www.aiaioo.com)Arduino in Indian Languages

Memory Instructions

Page 46: Arduino for Indian Languages

For

Boxes where information is stored are called memory locations.

000 = 0

000 = 0

Aiaioo Labs (www.aiaioo.com)Arduino in Indian Languages

Memory location sum

int sum = 0, i = 0;for (; i<10; ++i) {

sum = sum + i; }

Memory location i

Page 47: Arduino for Indian Languages

For ( ಕ್ರಮವಾಗಿ in Kannada)

Boxes where information is stored are called memory locations.

000 = 0

000 = 0

Aiaioo Labs (www.aiaioo.com)Arduino in Indian Languages

Memory location ಒಂಟಿಗೆ

ತ್ನುಂಬಂಕೆ ಒಟಿ+ಗೆ=0,ಐ=0; ಕ್ರಮವಾಗಿ (;ಐ<೧೦;++ಐ)

{ ಒಟಿ+ಗೆ = ಒಟಿ+ಗೆ+ಐ; }

Memory location ಐ

Page 48: Arduino for Indian Languages

While

Boxes where information is stored are called memory locations.

010 = 2101 = 5000 = 0

Aiaioo Labs (www.aiaioo.com)Arduino in Indian Languages

Memory location a

int sum = 0;while (sum+a < b) {

sum = sum + a; }

Memory location bMemory location sum

Page 49: Arduino for Indian Languages

While ( ಆಗ್ನುವಾಗ in Kannada)

Boxes where information is stored are called memory locations.

010 = 2101 = 5000 = 0

Aiaioo Labs (www.aiaioo.com)Arduino in Indian Languages

Memory location a

ತ್ನುಂಬಂಕೆ ಒ = 0; ಆಗ್ನುವಾಗ (ಒ+ಕ<ಕಿ) {

ಒ = ಒ + ಕ; }

Memory location bMemory location sum

Page 50: Arduino for Indian Languages

Aiaioo Labs (www.aiaioo.com)Arduino in Indian Languages

What can you teach using Arduino?

Computers

Electronics

Students

Page 51: Arduino for Indian Languages

Aiaioo Labs (www.aiaioo.com)Arduino in Indian Languages

What can you teach using Arduino?

Electronics

Analog Electronics Digital Electronics

Page 52: Arduino for Indian Languages

Aiaioo Labs (www.aiaioo.com)Arduino in Indian Languages

Analog Electronics

Image from http://www.arduino.org/products/boards/4-arduino-boards/arduino-uno-wifi

Analog Pins

Page 53: Arduino for Indian Languages

Aiaioo Labs (www.aiaioo.com)Arduino in Indian Languages

Writing Analog Values

int pin=3;analogWrite(pin, 255);

Image from http://www.simplelabs.co.in/content/induino-r5-arduino-r3-usb-clone-board

Page 54: Arduino for Indian Languages

Aiaioo Labs (www.aiaioo.com)Arduino in Indian Languages

Writing Analog Values

ತ್ನುಂಬಂಕೆ ತಂತಿ=೩;ಮೌಲ್ಯವನ್ನು್ನ_ಬರೆ(ತಂತಿ, ೨೫೫);

Page 55: Arduino for Indian Languages

Aiaioo Labs (www.aiaioo.com)Arduino in Indian Languages

Reading Analog Values

int pin=3;int value = analogRead(pin);

Page 56: Arduino for Indian Languages

Aiaioo Labs (www.aiaioo.com)Arduino in Indian Languages

Reading Analog Values

ತ್ನುಂಬಂಕೆ ತಂತಿ=೩; ತ್ನುಂಬಂಕೆ ಮೌಲ್ಯ=

ಮೌಲ್ಯವನ್ನು್ನ_ಓದ್ನು(ತಂತಿ);

Page 57: Arduino for Indian Languages

Aiaioo Labs (www.aiaioo.com)Arduino in Indian Languages

Digital Electronics Digital Pins

Page 58: Arduino for Indian Languages

Aiaioo Labs (www.aiaioo.com)Arduino in Indian Languages

Writing Digital Values

int pin=13;digitalWrite(pin, HIGH);

Page 59: Arduino for Indian Languages

Aiaioo Labs (www.aiaioo.com)Arduino in Indian Languages

Writing Digital Values

ತ್ನುಂಬಂಕೆ ತಂತಿ=೧೩;ಅಂಕೆಯನ್ನು್ನ_ಬರೆ(ತಂತಿ, ಹೆಚ್ನು9);

Page 60: Arduino for Indian Languages

Aiaioo Labs (www.aiaioo.com)Arduino in Indian Languages

Reading Digital Values

int pin=13;int value = digitalRead(pin);

Page 61: Arduino for Indian Languages

Aiaioo Labs (www.aiaioo.com)Arduino in Indian Languages

Reading Digital Values

ತ್ನುಂಬಂಕೆ ತಂತಿ=೧೩; ತ್ನುಂಬಂಕೆ ಮೌಲ್ಯ=

ಅಂಕೆಯನ್ನು್ನ_ಓದ್ನು(ತಂತಿ);

Page 62: Arduino for Indian Languages

Bangalore, IndiaSpeaker: [email protected]

The End