Documentos de Académico
Documentos de Profesional
Documentos de Cultura
FACULTAD DE INGENIERIA
ACA3
DOCENTE
(ACA 3)
principales marcas
antiguas eran enormes ocupaban toda una habitación, el desarrollo del microprocesador
actualidad intel conserva la patente de 1971 gracias al Intel 4004 el que fue conocido
resultados en los registros del sistema todas estas etapas de procesamiento se hacen en
ciclos de cpu, la frecuencia de reloj asigna la duración de los ciclos que no pueden ser de
menor que loque necesita para hacer la operación individual. el procesador está
Partes:
800 MHz).
partes:
4
antiguamente estaba en el exterior en otro chip. Se considerada como una parte “lógica”
memoria caché: memoria ultrarrápida que emplea el micro para tener a mano
ciertos datos que pueden ser utilizados después sin tener que utilizar la memoria ram
reduciendo el tiempo de espera. la cache tiene diferentes niveles los cuales han
evolucionado con los micros pueden tener nivel 1,2,3 entre más bajo el nivel mas cerca
la placa madre.
Los registros: es un tipo de memoria pequeña con fines especiales que el micro
tiene disponible para algunos usos particulares. Hay varios grupos de registros en cada
Puertos:
antiguamente estaba en el exterior del micro en otro chip. esta parte está considerada
como una parte “lógica” junto con los registros, la unidad de control, memoria y bus de
unos) poseen cache interna de primer nivel o 1 lo que nos indica que está más cerca del
microprocesador, tanto que está encapsulada junto a el, el 4004 fue el primer
computadores son intel con sus core de diferentes generaciones y amd con los ryzen y
en el mundo de la telefonía celular donde también son mui utilizados tenemos a qualqon,
Referencia lingüística
constantes) y estructura.
Funciones
Sintaxis
digitalRead(pin)
.OUTPUTpinMode()HIGHLOW
INPUTdigitalWrite()HIGHLOWpinMode()INPUT_PULLUP
corriente.pinMode()OUTPUTdigitalWrite(HIGH)pinMode()digitalWrite()
6
Sintaxis
digitalWrite(pin, value)
pinMode()
salida. Consulte la página Pines digitales para obtener detalles sobre la funcionalidad de
los pines. A partir de Arduino 1.0.1, es posible habilitar las resistencias pullup internas con
internas.INPUT_PULLUPINPUT
Sintaxis
pinMode(pin, mode)
analógicas
reconoce el valor del pin analógico asignado las placas Arduino están provistas de
un convertidor analógico a digital multicanal de 10 bits esto quiere decir que asignará los
Sintaxis
analogRead(pin)
analogReference():
Sintaxis : analogReference(type)
7
analogWrite():
LED a diferentes brillos o accionar un motor a varias velocidades después de una llamada
a, el pin generará una onda rectangular constante del ciclo de trabajo especificado hasta
pin.analogWrite()analogWrite()digitalRead()digitalWrite()
Sintaxis : analogReadResolution(bits)
AVANZADAS
noTone()
Sintaxis
noTone(pin)
pulseIn()
8
espera a que el pin se vaya y detiene el tiempo devuelve la longitud del pulso en
rápido.
Sintaxis
pulseIn(pin, value)
pulseInLong()
Sintaxis
pulseInLong(pin, value)
shiftIn()
Cambia un byte de datos de uno en uno comienza desde el bit más significativo el
más cercano a la izquierda el primer pulso se toma alto, el siguiente bit se lee desde la
línea de datos y luego el siguiente pin se toma bajo es una implementación de Arduino
proporciona una biblioteca SPI que utiliza la implementación de hardware, que es más
Sintaxis
shiftOut()
significativo (es decir, el más a la izquierda) o el menos (a la derecha) cada bit se escribe
a su vez en un pin de datos, después de lo cual se pulsa un pin de reloj (tomado alto,
Sintaxis
tone() :
50%) en un pin Se puede especificar una duración, si no la onda continúa hasta una
llamada a noTone() el pin se puede conectar a un audible para producir tonos Solo se
puede generar un tono a la vez no es posible generar tonos inferiores a 31Hz. Para más
Sintaxis
tone(pin, frequency)
tiempo
delay()
Sintaxis
delay(ms)
delayMicroseconds()
por el parámetro los valores más grandes pueden producir un retraso extremadamente
corto.
Sintaxis
delayMicroseconds(us)
Sintaxis
time = micros()
de aproximadamente 50 días.
Sintaxis
time = millis()
11
Matemática:
Sintaxis
abs(x)
Sintaxis
constrain(x, a, b)
Descripción
intermedios, etc.
No restringe los valores dentro del rango, porque los valores fuera del rango a
veces son intencionados y útiles. La función se puede utilizar antes o después de esta
Tenga en cuenta que los "límites inferiores" de cualquiera de los rangos pueden
ser más grandes o más pequeños que los "límites superiores", por lo que la función se
La función también maneja bien los números negativos, por lo que este ejemplo
12
las matemáticas podrían indicar que debería hacerlo los restos fraccionarios se truncan y
no se redondean ni se promedian.map()
Sintaxis
máx()
Sintaxis
max(x, y)
min()
Sintaxis
min(x, y)
pow()
13
Calcula el valor de un número elevado a una potencia. se puede usar para elevar
valores o curvas.pow()
Sintaxis
pow(base, exponent)
sq()
Sintaxis
sq(x)
sqrt()
Sintaxis
sqrt(x)
Trigonometría:
cos()
Sintaxis
cos(rad)
SENO
14
Sintaxis
sin(rad)
TAN()
negativo e infinito.
Sintaxis
tan(rad)
Characters
isAlpha()
Analiza si un char es alfa (es decir, una letra). devuelve true si thisChar contiene
una letra.
Sintaxis
isAlpha(thisChar)
isAlphaNumeric()
Sintaxis
isAlphaNumeric(thisChar)
isAscii()
Sintaxis
isAscii(thisChar)
isControl()
control.
Sintaxis
isControl(thisChar)
isDigit():
Sintaxis
isDigit(thisChar)
isGraph()
Sintaxis
isGraph(thisChar)
isHexadecimalDigit()
16
Sintaxis
isHexadecimalDigit(thisChar)
isLowerCase()
Sintaxis
isLowerCase(thisChar)
isPrintable()
Sintaxis
isPrintable(thisChar)
isPunct()
Sintaxis
isPunct(thisChar)
isSpace()
Sintaxis
17
isSpace(thisChar)
isUpperCase()
Sintaxis
isUpperCase(thisChar)
Números aleatorios
aleatorio()
Sintaxis
random(max)
random(min, max)
randomSeed()
misma.
Sintaxis
randomSeed(seed)
18
Bits y bytes
bit()
Calcula el valor del bit especificado (el bit 0 es 1, el bit 1 es 2, el bit 2 es 4, etc.).
Sintaxis
bit(n)
bitClear()
Sintaxis
bitClear(x, n)
bitRead()
Sintaxis bitRead(x, n)
bitSet()
Sintaxis bitSet(x, n)
bitWrite()
Sintaxis bitWrite(x, n, b)
19
highByte()
Extrae un byte de orden alto de una palabra o el segundo byte más bajo de uno
más grande
Sintaxis highByte(x)
Interrupciones externas
attachInterrupt()
No recomendado esta sintaxis solo funciona en placas SAMD Arduino, Uno WiFi
noInterrupciones()
permiten que ciertas tareas importantes ocurran en segundo plano y están habilitadas de
forma predeterminada.
Sintaxis noInterrupts()
Comunicación
Serial
20
dispositivos
Stream
Keyboard
USB
Las funciones de teclado permiten que las placas basadas en micro 32u4 o samd
envíen pulsaciones de teclas a una computadora conectada a través del puerto usb nativo
de su micro.
Ratón
Las funciones del ratón permiten que las placas basadas en micro 32u4 o samd
controlen el movimiento del cursor en una computadora conectada a través del puerto usb
nativo de su micro
Variables
Constantes
constantes
leer los programas se clasifican en grupos, (constantes boleanas y enteras) las dos co
LED_BUILTIN
true | false
21
Descripción
Al igual que las constantes enteras, las constantes de punto flotante se utilizan
para hacer que el código sea más legible. Las constantes de coma flotante se
Código de ejemplo
Integer Constants
falso
falsees el más fácil de definir de los dos. falso se define como 0 (cero)
cierto
Al leer o escribir en un pin digital, solo hay dos valores posibles que un pin puede
serie con una resistencia. la constante led_builtines el número del pin al que está
conectado el led integrado. la mayoría de las placas tienen este led conectado al pin
digital 13.
22
Conversión
(unsigned int)
Sintaxis
(unsigned int)x
(unsigned long)
Sintaxis
(unsigned long)x
byte():
char()
Sintaxis
char(x)
float()
Sintaxis
float(x)
int()
Sintaxis
int(x)
long()
Sintaxis
long(x)
word()
Sintaxis
word(x)
word(h, l)
Tipos de datos :
24
Array:
Bool:
memoria.)booltruefalsebool
Sintaxis
byte:
Sintaxis
char:
double:
Sintaxis
float :
25
son datos para números de punto flotante, un número que tiene un punto decimal
los números de coma flotante se utilizan a menudo para aproximar valores analógicos y
Sintaxis
int
Sintaxis
long
short :
Sintaxis
26
size_t:
Sintaxis
string :
Sintaxis
char Str1[15];
char Str3[8] = {'a', 'r', 'd', 'u', 'i', 'n', 'o', '\0'};
String():
Crea una instancia de la clase String hay varias versiones que construyen
Sintaxis
String(val)
String(val, base)
String(val, decimalPlaces)
27
unsigned char :
Es un tipo de dato sin firmar que ocupa 1 byte de memoria codifica números del 0
al 255.
Sintaxis
unsigned int :
Esta basado en atmega, los enteros sin firmar son los mismos en los que se
almacena un valor de 2 bytes solo almacenan valores positivos, lo que produce un rango
útil.
Syntaxis
unsigned long:
Las variables largas sin signo son variables de tamaño extendido para el
negativos,
Sintaxis
void:
Código de ejemplo
28
void setup() {
// ...
void loop() {
// ...
word:
Una palabra que puede almacenar un número sin signo tiene al menos 16 bits
Sintaxis
const
haciendola una variable de solo lectura pero su valor no se puede cambiar tendremos un
float x;
// ....
scope:
Arduino,
ejemplo
float x;
// ....
for-loop.for
static:
se utiliza para crear variables que son visibles para una sola función las variables
estáticas persisten más allá de la llamada a la función, preservando sus datos entre las
llamadas a la función.static
volatile:
Es una palabra clave conocida como calificador de variables se utiliza antes del
tipo de dato de una variable para modificar la forma en que el compilador y el programa
Sintaxis
PROGMEM:
almacena los datos en la memoria flash existe una descripción de los distintos
que usar solo con los tipos de datos definidos en pgmspace.h. le dice al compilador
iría.
Sintaxis
sizeof():
Sintaxis
sizeof(variable)
Estructura:
Sketch
loop():
Código de ejemplo
int buttonPin = 3;
void setup() {
Serial.begin(9600);
31
pinMode(buttonPin, INPUT);
void loop() {
if (digitalRead(buttonPin) == HIGH) {
Serial.write('H');
else {
Serial.write('L');
delay(1000);
setup():
solo se ejecuta una vez, después de cada encendido o reinicio de la placa Arduino.
Código de ejemplo
int buttonPin = 3;
void setup() {
Serial.begin(9600);
pinMode(buttonPin, INPUT);
void loop() {
// ...
}
32
Control Structure
Break :
se utiliza para salir de un ciclo for, whileo do…whilede bucle, de una switch sin
Código de ejemplo
analogWrite(PWMpin, x);
sens = analogRead(sensorPin);
x = 0;
break;
delay(50);
Continue:
Pasa por encima del resto de la iteración actual de un bucle ( for, whileo do…
while). continúa verificando la expresión condicional del bucle y procediendo con las
iteraciones posteriores.
Código de ejemplo
continue;
}
33
analogWrite(PWMpin, x);
delay(50);
do...while:
El ciclo do…whilec funciona de la misma manera que el ciclo while, pero aqui la
condición se prueba al final del ciclo, por lo que el ciclo do siempre se ejecutará al menos
una vez.
Sintaxis
do {
// statement block
} while (condition);
else:
El ciclo if…else permite un mayor control sobre el código que el básico if, al
Sintaxis
if (condition1) {
// do Thing A
else if (condition2) {
// do Thing B
else {
34
// do Thing C
for:
el ciclo for se utiliza para repetir un bloque de declaraciones entre llaves. Por lo
Sintaxis
// statement(s);
goto:
Sintaxis
label:
if:
Sintaxis
if (condition) {
//statement(s)
}
35
return:
Sintaxis
return;
return value;
switch...case:
Sintaxis
switch (var) {
case label1:
// statements
break;
case label2:
// statements
break;
default:
// statements
break;
while:
falsa. algo debe cambiar la variable probada, o el ciclo while nunca terminara.
36
Sintaxis
while (condition) {
// statement(s)
Syntaxis adicional
#define (define):
errores
Sintaxis
#include (include):
Sintaxis
/* */ (block comment):
son líneas que se utilizan para informar a otras personas sobre la forma en que
funciona el programa
{} (curly braces):
Código de ejemplo
int a = 13;
Operadores aritméticos
% (resta):
calcula el resto cuando un entero se divide por otro. Es útil para mantener una
Sintaxis
* (multiplicación):
Sintaxis
+ (suma):
Sintaxis
opera sobre dos operandos para producir la diferencia entre el segundo y el primero.
Sintaxis
/ (división):
Sintaxis
= (operador de asignación:
expresión que esté al lado derecho del signo igual y lo almacene en la variable a la
ejemplo
SensVal
Operadores de comparación
Sintaxis
Sintaxis
Sintaxis
== (equal to):
Sintaxis
Sintaxis
Sintaxis
Operadores booleanos
! (no lógico):
ejemplo
// statements
Código de ejemplo
read HIGH
// statements
|| (lógico o):
Código de ejemplo
// statements
Código de ejemplo
int i = 5;
int result = 0;
result = *p; // 'result' gets the value at the address pointed by 'p'
* (dereference operator):
Código de ejemplo
int i = 5;
int result = 0;
result = *p; // 'result' gets the value at the address pointed by 'p'
Se utiliza en c++, entre otras dos expresiones enteras. Bit a bit AND, opera en
con esta regla si ambos bits de entrada son 1, la salida resultante es 1; de lo contrario, la
salida es 0
Sintaxis
hace que los bits del operando izquierdo se desplacen a la derecha el número de
Sintaxis
como XOR bit a bit. el operador XOR bit a bit se escribe usando el símbolo de
intercalación ^. una operación XOR bit a bit da como resultado un 1 solo si los bits de
independientemente de cada bit en sus dos expresiones enteras circundantes, pero lo que
hace es diferente OR bit a bit de dos bits es 1 si uno o ambos bits de entrada es 1; de lo
contrario, es 0.
en 0.
Operadores compuestos
% = (resto compuesto):
44
es un método abreviado para calcular el resto cuando un entero se divide por otro
Sintaxis
se usa con una variable y una constante para forzar bits particulares en una
variable al estado BAJO (a 0) esto se llama en las guías de programación como "borrar"
o "restablecer" bits.
* = (multiplicación compuesta):
Sintaxis
++ (incremento):
Descripción
Sintaxis
+ = (suma compuesta):
Sintaxis
- (disminución):
Descripción
Sintaxis
- = (resta compuesta):
Sintaxis
/ = (división compuesta):
otra constante
Sintaxis
se usa con una variable y una constante para alternar o invertir bits particulares
en una variable.
Sintaxis
x ^= y; // equivalent to x = x ^ y;
se usa con una variable y una constante para establecer en 1 bits particulares en
una variable.
Sintaxis
x |= y; // equivalent to x = x | y;
(arduino, 2021)