Diferència entre revisions de la pàgina «ASIX 2023-2024»

De binefa.com
Salta a la navegació Salta a la cerca
 
(Hi ha 106 revisions intermèdies del mateix usuari que no es mostren)
Línia 21: Línia 21:
  
 
[https://meet.google.com/xcy-pzph-huk Compartició de pantalla]
 
[https://meet.google.com/xcy-pzph-huk Compartició de pantalla]
<!--
+
<!--'''Data d'examen a confirmar: divendres 26/4/2024 de 19.10 a 21.00'''
 +
 
 
[[Fonaments de gestió de fitxers, estructures i gestió dinàmica de memòria]]
 
[[Fonaments de gestió de fitxers, estructures i gestió dinàmica de memòria]]
  
Línia 35: Línia 36:
  
 
[[Pràctiques amb el robot versió 6]]
 
[[Pràctiques amb el robot versió 6]]
 +
 
  https://docs.python.org/3/library/csv.html -->
 
  https://docs.python.org/3/library/csv.html -->
 +
 +
== 20240523 '''Examen fitxers, estructures i gestió dinàmica de memòria''' (2h) ==
 +
[https://drive.google.com/file/d/1NXqTyOE5jFbC7KqAG9vtukE-S140cqVw/view Vídeo SO]
 +
 +
[https://recull.binefa.cat/files/20240523ex/ Examen] usuari: ''asix'' / contrasenya: ''asix2324''
 +
 +
== 20240522 (1h) ==
 +
[https://recull.binefa.cat/files/20240522/ Codis comentats avui a classe] usuari: ''asix'' / contrasenya: ''asix2324''
 +
 +
* Dubtes
 +
 +
* Fitxers
 +
 +
* Estructures
 +
 +
* [[Fonaments de gestió de fitxers, estructures i gestió dinàmica de memòria]]
 +
 +
== 20240516 (3h) ==
 +
[https://recull.binefa.cat/files/20240516/ Codis comentats avui a classe] usuari: ''asix'' / contrasenya: ''asix2324''
 +
 +
* Dubtes
 +
 +
* Fitxers
 +
 +
* Estructures
 +
 +
* [[Fonaments de gestió de fitxers, estructures i gestió dinàmica de memòria]]
 +
 +
== 20240515 (1h) ==
 +
[https://recull.binefa.cat/files/20240515/ Codis comentats avui a classe] usuari: ''asix'' / contrasenya: ''asix2324''
 +
 +
* Dubtes
 +
 +
* Fitxers
 +
 +
* Estructures
 +
 +
* [[Fonaments de gestió de fitxers, estructures i gestió dinàmica de memòria]]
 +
 +
== 20240510 (1h) ==
 +
[https://recull.binefa.cat/files/20240510/ Codis comentats avui a classe] usuari: ''asix'' / contrasenya: ''asix2324''
 +
 +
* Dubtes
 +
 +
* Fitxers
 +
 +
* Estructures
 +
 +
* [[Fonaments de gestió de fitxers, estructures i gestió dinàmica de memòria]]
 +
 +
== 20240509 (3h) ==
 +
[https://recull.binefa.cat/files/20240509/ Codis comentats avui a classe] usuari: ''asix'' / contrasenya: ''asix2324''
 +
 +
* Dubtes
 +
 +
* Fitxers
 +
 +
* Estructures
 +
 +
* [[Fonaments de gestió de fitxers, estructures i gestió dinàmica de memòria]]
 +
 +
== 20240508 (1h) ==
 +
[https://recull.binefa.cat/files/20240508/ Codis comentats avui a classe] usuari: ''asix'' / contrasenya: ''asix2324''
 +
 +
* Dubtes
 +
 +
* Fitxers
 +
 +
* Estructures
 +
 +
* [[Fonaments de gestió de fitxers, estructures i gestió dinàmica de memòria]]
 +
 +
== 20240503 (1h) ==
 +
[https://recull.binefa.cat/files/20240503/ Codis comentats avui a classe] usuari: ''asix'' / contrasenya: ''asix2324''
 +
 +
* Dubtes
 +
 +
* Fitxers
 +
 +
* Estructures
 +
 +
* [[Fonaments de gestió de fitxers, estructures i gestió dinàmica de memòria]] (<-- Proper dia)
 +
 +
== 20240502 (3h) ==
 +
[https://recull.binefa.cat/files/20240502/ Codis comentats avui a classe] usuari: ''asix'' / contrasenya: ''asix2324''
 +
 +
* Dubtes
 +
 +
* Fitxers:
 +
 +
[http://www.xtec.cat/formaciotic/ateneu_historic/materials/td97/d97m8/d97m8te.htm Fitxers en C]
 +
 +
[https://www.w3schools.com/python/python_file_handling.asp Fitxers en Python]
 +
 +
== 20240426 (2h) ==
 +
[https://recull.binefa.cat/files/20240426/ Codis comentats avui a classe] usuari: ''asix'' / contrasenya: ''asix2324''
 +
 +
* Dubtes
 +
 +
* Exercicis d'exàmens anteriors
 +
 +
* [https://recull.binefa.cat/files/20240426ex/ Examen] usuari: ''asix'' / contrasenya: ''asix2324''
 +
== 20240425 (3h) ==
 +
[https://recull.binefa.cat/files/20240425/ Codis comentats avui a classe] usuari: ''asix'' / contrasenya: ''asix2324''
 +
 +
* Dubtes
 +
 +
* Exercicis d'exàmens anteriors
 +
 +
== 20240424 (1h) ==
 +
[https://recull.binefa.cat/files/20240424/ Codis comentats avui a classe] usuari: ''asix'' / contrasenya: ''asix2324''
 +
 +
* Dubtes
 +
 +
* Exercicis d'exàmens anteriors
 +
 +
== 20240419 (1h) ==
 +
[https://recull.binefa.cat/files/20240419/ Codis comentats avui a classe] usuari: ''asix'' / contrasenya: ''asix2324''
 +
 +
* Dubtes
 +
 +
* Exercicis d'exàmens anteriors
 +
 +
== 20240418 (3h) ==
 +
[https://recull.binefa.cat/files/20240418/ Codis comentats avui a classe] usuari: ''asix'' / contrasenya: ''asix2324''
 +
 +
* Dubtes
 +
 +
* Exercicis d'exàmens anteriors
 +
 +
== 20240417 (1h) ==
 +
[https://recull.binefa.cat/files/20240417/ Codis comentats avui a classe] usuari: ''asix'' / contrasenya: ''asix2324''
 +
 +
* Dubtes
 +
 +
* Exercicis d'exàmens anteriors
 +
 +
== 20240412 (1h) ==
 +
[https://recull.binefa.cat/files/20240412/ Codis comentats avui a classe] usuari: ''asix'' / contrasenya: ''asix2324''
 +
 +
* Dubtes
 +
 +
* Exercicis d'exàmens anteriors
 +
 +
== 20240410 (1h) ==
 +
[https://recull.binefa.cat/files/20240410/ Codis comentats avui a classe] usuari: ''asix'' / contrasenya: ''asix2324''
 +
 +
* Dubtes
 +
 +
* Exercicis d'exàmens anteriors
 +
 +
== 20240405 (1h) ==
 +
[https://recull.binefa.cat/files/20240405/ Codis comentats avui a classe] usuari: ''asix'' / contrasenya: ''asix2324''
 +
 +
* Exercicis d'exàmens anteriors
 +
 +
== 20240404 (3h) ==
 +
[https://recull.binefa.cat/files/20240404/ Codis comentats avui a classe] usuari: ''asix'' / contrasenya: ''asix2324''
 +
 +
* Repàs de l'algorisme d'ordenació de la bombolla
 +
 +
* Implementació de l'algorisme de la bombolla bidireccional en Python i C
 +
 +
* Introducció al '''tkinter'''
 +
 +
* Exercicis d'exàmens anteriors
 +
 +
== 20240403 (1h) ==
 +
[https://recull.binefa.cat/files/20240403/ Codis comentats avui a classe] usuari: ''asix'' / contrasenya: ''asix2324''
 +
 +
* [[Algorisme d'ordenació pel mètode de la bombolla bidireccional]] (''Cocktail Sort'').
 +
 +
- Implementeu les funcions en Python:
 +
n = int(input("nombre d'elements: "))
 +
a = []
 +
for x in range(n):
 +
    a.append(random.randint(-9,9))
 +
vilsualitzaLlista(a)
 +
a = '''ordenaBombollaBidireccional(a)'''
 +
vilsualitzaLlista(a)
 +
- Implementeu les funcions en C:
 +
int main(){
 +
    int nValors[N],nQ;
 +
   
 +
    vLlavorAleatorietat();
 +
    nQ = nPregunta("Nombre d'elements",N);
 +
    vEmplenavalorsAleatoris(nValors,nQ,VAL_MIN,VAL_MAX);
 +
    vVisualitzaLlista(nValors,nQ);
 +
    '''vOrdBombollaBidireccional(nValors,nQ);'''
 +
    vVisualitzaLlista(nValors,nQ);
 +
 +
    return 0;
 +
}
 +
* [[Algorisme d'ordenació pel mètode de la inserció]] (''Insertion Sort'')
 +
- Implementeu les funcions en Python:
 +
n = int(input("nombre d'elements: "))
 +
a = []
 +
for x in range(n):
 +
    a.append(random.randint(-9,9))
 +
vilsualitzaLlista(a)
 +
a = '''ordenaInsercio(a)'''
 +
vilsualitzaLlista(a)
 +
- Implementeu les funcions en C:
 +
int main(){
 +
    int nValors[N],nQ;
 +
   
 +
    vLlavorAleatorietat();
 +
    nQ = nPregunta("Nombre d'elements",N);
 +
    vEmplenavalorsAleatoris(nValors,nQ,VAL_MIN,VAL_MAX);
 +
    vVisualitzaLlista(nValors,nQ);
 +
    '''vOrdInsercio(nValors,nQ);'''
 +
    vVisualitzaLlista(nValors,nQ);
 +
 +
    return 0;
 +
}
 +
 +
== 20240322 ('''Concurs de robots''') ==
 +
'''Concurs de robots''' ASIX i DAW.
 +
 +
[[Image:Quadre2023-2024.png|center|Quadre 2023-2024]]
 +
 +
== 20240321 (1h+2h) ==
 +
[https://recull.binefa.cat/files/20240321/ Codis comentats avui a classe] usuari: ''asix'' / contrasenya: ''asix2324''
 +
 +
[[Algorisme d'ordenació pel mètode de la bombolla]] (''Bubble Sort'')
 +
 +
Implementeu les funcions per a fer funcionar aquest programa d'ordenació de la bombolla. (Traducció del programa fet en Python prèviament)
 +
int main(){
 +
    int nValors[N],nQ;
 +
   
 +
    vLlavorAleatorietat();
 +
    nQ = nPregunta("Nombre d'elements",N);
 +
    vEmplenavalorsAleatoris(nValors,nQ,VAL_MIN,VAL_MAX);
 +
    vVisualitzaLlista(nValors,nQ);
 +
    vOrdBombolla(nValors,nQ);
 +
    vVisualitzaLlista(nValors,nQ);
 +
 +
    return 0;
 +
}
 +
 +
== 20240320 (1h) ==
 +
[[Pràctiques amb el robot versió 6]]
 +
 +
== 20240315 (1h) ==
 +
Simulació al Wokwi d'un [https://wokwi.com/projects/391818722528195585 Arduino fent servir ''fils''] (per a ser exactes, quelcom semblant a fils)
 +
 +
[https://github.com/ivanseidel/ArduinoThread/ Biblioteca ArduinoThread]
 +
 +
Seguim amb les [[Pràctiques amb el robot versió 6]]
 +
 +
== 20240314 (3h) ==
 +
[https://recull.binefa.cat/files/20240314/ Codis comentats avui a classe] usuari: ''asix'' / contrasenya: ''asix2324''
 +
 +
Seguim amb teoria de programació.
 +
 +
I quan hi sigui en carles seguim amb les [[Pràctiques amb el robot versió 6]]
 +
 +
== 20240313 (1h) ==
 +
[[Pràctiques amb el robot versió 6]]
 +
 +
== 20240308 (1h) ==
 +
'''Diagrama d'estats per al sumo ''' --> [https://recull.binefa.cat/files/20240308/ Codis comentats avui a classe] usuari: ''asix'' / contrasenya: ''asix2324''
 +
 +
[[Pràctiques amb el robot versió 6]]
 +
 +
== 20240307 (3h) ==
 +
[https://recull.binefa.cat/files/20240307/ Codis comentats avui a classe] usuari: ''asix'' / contrasenya: ''asix2324''
 +
 +
[[Pràctiques amb el robot versió 6]]
 +
 +
== 20240301 (1h) ==
 +
[https://recull.binefa.cat/files/20240301/ Codis comentats avui a classe] usuari: ''asix'' / contrasenya: ''asix2324''
 +
 +
[[Pràctiques amb el robot versió 6]]
 +
 +
== 20240229 (3h) ==
 +
[https://recull.binefa.cat/files/20240229/ Codis comentats avui a classe] usuari: ''asix'' / contrasenya: ''asix2324''
 +
 +
[[Pràctiques amb el robot versió 6]]
 +
 +
== 20240228 (1h) ==
 +
[https://recull.binefa.cat/files/20240228/ Codis comentats avui a classe] usuari: ''asix'' / contrasenya: ''asix2324''
 +
 +
[[Pràctiques amb el robot versió 6]]
 +
 +
== 20240223 (1h) ==
 +
[https://recull.binefa.cat/files/20240223/ Codis comentats avui a classe] usuari: ''asix'' / contrasenya: ''asix2324''
 +
 +
[[Pràctiques amb el robot versió 6]
 +
 +
== 20240222 (3h) ==
 +
[https://recull.binefa.cat/files/20240222/ Codis comentats avui a classe] usuari: ''asix'' / contrasenya: ''asix2324''
 +
 +
[[Pràctiques amb el robot versió 6]]
 +
 +
== 20240221 (1h) ==
 +
[https://recull.binefa.cat/files/20240221/ Codis comentats avui a classe] usuari: ''asix'' / contrasenya: ''asix2324''
 +
 +
[[Pràctiques amb el robot versió 6]]
 +
 +
== 20240216 (1h) ==
 +
[https://recull.binefa.cat/files/20240215/ Codis comentats avui a classe] usuari: ''asix'' / contrasenya: ''asix2324''
 +
 +
[[Pràctiques amb el robot versió 6]]
 +
 +
== 20240215 (3h) ==
 +
[https://recull.binefa.cat/files/20240215/ Codis comentats avui a classe] usuari: ''asix'' / contrasenya: ''asix2324''
 +
 +
[[Pràctiques Arduino sobre placa S4A i Snap4Arduino - 1a part]]
 +
 +
[[Pràctiques Arduino sobre placa S4A i Snap4Arduino - 2a part]]
 +
 +
[[Pràctiques amb el robot versió 6]]
 +
 +
== 20240214 (1h) ==
 +
[https://recull.binefa.cat/files/20240214/ Codis comentats avui a classe] usuari: ''asix'' / contrasenya: ''asix2324''
 +
 +
[[Pràctiques Arduino sobre placa S4A i Snap4Arduino - 1a part]]
 +
 +
[[Pràctiques Arduino sobre placa S4A i Snap4Arduino - 2a part]]
 +
 +
[[Pràctiques amb el robot versió 6]]
 +
 +
== 20240209 (1h) ==
 +
[https://recull.binefa.cat/files/20240202/ Codis comentats avui a classe] usuari: ''asix'' / contrasenya: ''asix2324''
 +
 +
[[Pràctiques Arduino sobre placa S4A i Snap4Arduino - 1a part]]
 +
 +
[[Pràctiques Arduino sobre placa S4A i Snap4Arduino - 2a part]]
 +
 +
[[Pràctiques amb el robot versió 6]]
 +
 +
== 20240208 (1h + 2h) ==
 +
[https://recull.binefa.cat/files/20240202/ Codis comentats avui a classe] usuari: ''asix'' / contrasenya: ''asix2324''
 +
 +
[[Pràctiques Arduino sobre placa S4A i Snap4Arduino - 1a part]]
 +
 +
[[Pràctiques Arduino sobre placa S4A i Snap4Arduino - 2a part]]
 +
 +
[[Pràctiques amb el robot versió 6]]
 +
 +
== 20240207 (1h) ==
 +
[https://recull.binefa.cat/files/20240202/ Codis comentats avui a classe] usuari: ''asix'' / contrasenya: ''asix2324''
 +
 +
[[Pràctiques Arduino sobre placa S4A i Snap4Arduino - 1a part]]
 +
 +
[[Pràctiques Arduino sobre placa S4A i Snap4Arduino - 2a part]]
 +
 +
[[Pràctiques amb el robot versió 6]]
 +
 +
== 20240202 (1h) ==
 +
[https://recull.binefa.cat/files/20240202/ Codis comentats avui a classe] usuari: ''asix'' / contrasenya: ''asix2324''
 +
 +
[[Pràctiques Arduino sobre placa S4A i Snap4Arduino - 1a part]]
 +
 +
[[Pràctiques Arduino sobre placa S4A i Snap4Arduino - 2a part]]
 +
 +
[[Pràctiques amb el robot versió 6]]
 +
 +
== 20240201 (1h + 2h) ==
 +
[https://recull.binefa.cat/files/20240201/ Codis comentats avui a classe] usuari: ''asix'' / contrasenya: ''asix2324''
 +
 +
[[Pràctiques Arduino sobre placa S4A i Snap4Arduino - 1a part]]
 +
 +
[[Pràctiques Arduino sobre placa S4A i Snap4Arduino - 2a part]]
 +
 +
[[Pràctiques amb el robot versió 6]]
 +
 +
== 20240129 (1h) ==
 +
'''Pas per referència'''
 +
 +
== 20240126 (1h) ==
 +
[https://recull.binefa.cat/files/20240126/ Codis comentats avui a classe] usuari: ''asix'' / contrasenya: ''asix2324''
 +
 +
'''Pas per referència'''
 +
 +
[[Pràctiques Arduino sobre placa S4A i Snap4Arduino - 1a part]]
 +
 +
[[Pràctiques Arduino sobre placa S4A i Snap4Arduino - 2a part]]
 +
 +
[[Pràctiques amb el robot versió 6]]
 +
 +
== 20240125 (2h) ==
 +
[https://recull.binefa.cat/files/20240125/ Codis comentats avui a classe] usuari: ''asix'' / contrasenya: ''asix2324''
 +
 +
[[Pràctiques Arduino sobre placa S4A i Snap4Arduino - 1a part]]
 +
 +
[[Pràctiques Arduino sobre placa S4A i Snap4Arduino - 2a part]]
 +
 +
[[Pràctiques amb el robot versió 6]]
 +
 +
== 20240124 (1h) ==
 +
[https://recull.binefa.cat/files/20240124/ Codis comentats avui a classe] usuari: ''asix'' / contrasenya: ''asix2324''
 +
 +
[[Pràctiques Arduino sobre placa S4A i Snap4Arduino - 1a part]]
 +
 +
[[Pràctiques Arduino sobre placa S4A i Snap4Arduino - 2a part]]
 +
 +
[[Pràctiques amb el robot versió 6]]
 +
 +
== 20240119 (1h) ==
 +
[https://recull.binefa.cat/files/20240118/ Codis comentats avui a classe] usuari: ''asix'' / contrasenya: ''asix2324''
 +
 +
== 20240118 (1h + 2h) ==
 +
[https://recull.binefa.cat/files/20240118/ Codis comentats avui a classe] usuari: ''asix'' / contrasenya: ''asix2324''
 +
 +
* '''millis()'''
 +
 +
== 20240117 (1h) ==
 +
[https://recull.binefa.cat/files/20240117/ Codis comentats avui a classe] usuari: ''asix'' / contrasenya: ''asix2324''
 +
 +
Operadors: '''!''' (negació a nivell de variable), '''~''' (negació a nivell de bit), '''&''' (operació lògica '''i''') i '''|''' (operació lògica '''o''')
 +
 +
Visualització pel monitor sèrie de forma '''decimal''' (''Serial.println(n,'''DEC''')'') i '''hexadecimal'''  (''Serial.print(n,'''HEX''')'').
 +
 +
  '''byte by = 0x00;'''
 +
 +
  by '''|=''' (bBotoPremut(BOTO_A4))? 0x08:0x00;
 +
  by '''|=''' (bBotoPremut(BOTO_A5))? 0x04:0x00;
 +
  by '''|=''' (bBotoPremut(BOTO_3))? 0x02:0x00;
 +
  by '''|=''' (bBotoPremut(BOTO_2))? 0x01:0x00;
 +
  Serial.print("'''Hexadecimal''': '''0x'''0");
 +
  Serial.println(by,'''HEX''');
 +
  Serial.print("'''Binari''': '''0b'''");
 +
  Serial.println(by,'''BIN''');
 +
  Serial.print("'''Decimal''': ");
 +
  Serial.println(by,'''DEC''');
 +
 +
  Serial.print("'''Octal''': 0"); // 0 at the beginning: https://learn.adafruit.com/deciphering-strange-arduino-code/octal
 +
  Serial.println(by,'''OCT''');
 +
 +
  Serial.print("Binari '''negat bit a bit''': 0b");
 +
  Serial.println('''~'''by,BIN); // 4 bytes
 +
  Serial.print("Binari negat bit a bit: 0b");
 +
  Serial.println((byte)~by,BIN); // byte: limitem a 8 el nombre d'1s i 0s
 +
  Serial.print("Binari '''negat a nivell de byte''': 0b");
 +
  Serial.println((byte)'''!'''by,BIN); // byte: limitem a 8 el nombre d'1s i 0s
 +
 +
  Serial.print("Hexadecimal '''negat bit a bit''': 0x0");
 +
  Serial.println('''~'''by,HEX);
 +
  Serial.print("Hexadecimal '''negat a nivell de byte''': 0x");
 +
  Serial.println('''!'''by,HEX); // 4 bytes
 +
  Serial.println((byte)!by,HEX); // 1 byte
 +
[https://www.tinkercad.com/things/25JCoiBK02P Uns i zeros mitjançant selector] (Simulat emprant TinkerCad)
 +
 +
[[Pràctiques Arduino sobre placa S4A i Snap4Arduino - 1a part]]
 +
 +
[[Pràctiques Arduino sobre placa S4A i Snap4Arduino - 2a part]]
 +
 +
== 20240112 (1h) ==
 +
[https://recull.binefa.cat/files/20240112/ Codis comentats avui a classe] usuari: ''asix'' / contrasenya: ''asix2324''
 +
 +
[[Pràctiques Arduino sobre placa S4A i Snap4Arduino - 1a part]]
 +
 +
== 20240111 (1h + 2h) ==
 +
[https://recull.binefa.cat/files/20240111/ Codis comentats avui a classe] usuari: ''asix'' / contrasenya: ''asix2324''
 +
 +
* Monitor sèrie (''Serial Monitor'')
 +
 +
* Visualitzador graficat (''Serial Plotter''). Per exemple: [https://wokwi.com/projects/330035502407221843 dos potenciòmetres]
 +
 +
* Repàs del dia anterior:
 +
 +
- [https://www.arduino.cc/reference/en/language/functions/communication/serial/begin/ Serial.begin()]
 +
 +
- [https://www.arduino.cc/reference/en/language/functions/communication/serial/println/ Serial.println()]
 +
 +
Serial.println(__FILE__);
 +
 +
- [https://www.arduino.cc/reference/en/language/functions/communication/serial/print/ Serial.print()]
 +
 +
- [https://www.arduino.cc/reference/cs/language/functions/communication/serial/read/ Serial.read()]
 +
 +
* Alguns exemples:
 +
 +
[https://wokwi.com/arduino/libraries/Servo/Knob Potenciòmetre controlant la posició d'un servo emprant Arduino Uno]
 +
 +
[https://wokwi.com/projects/305336312628511297 Exemple de control de 31 servos]
 +
 +
[https://wokwi.com/projects/290056311044833800 Exemple emprant un mesurador d'ultrasons]
 +
 +
[https://wokwi.com/projects/290043622233997832 Un altre exemple emprant ultrasons]
 +
 +
[https://wokwi.com/projects/305937156771152449 Visualització gràfica d'inclinacions i acceleracions. Arduino Uno + MPU6050 al Wokwi]
 +
 +
[https://wokwi.com/projects/329848007382008404 Pantalla OLED]
 +
 +
* [[Pràctiques Arduino sobre placa S4A i Snap4Arduino - 1a part]]
  
 
== 20240110 (1h) ==
 
== 20240110 (1h) ==
 
[https://recull.binefa.cat/files/20240110/ Codis comentats avui a classe] usuari: ''asix'' / contrasenya: ''asix2324''
 
[https://recull.binefa.cat/files/20240110/ Codis comentats avui a classe] usuari: ''asix'' / contrasenya: ''asix2324''
* ''setup()'' i ''loop()''
+
 
 +
[[Introducció a Arduino]]
 +
 
 +
* [https://www.arduino.cc/reference/en/language/structure/sketch/setup/ ''setup()''] i [https://www.arduino.cc/reference/en/language/structure/sketch/loop/ ''loop()'']
  
 
* [https://www.arduino.cc/reference/en/language/functions/digital-io/pinmode/ pinMode()]
 
* [https://www.arduino.cc/reference/en/language/functions/digital-io/pinmode/ pinMode()]

Revisió de 14:05, 21 maig 2024

Quan tingueu les credencials d'accés a la NET heu de compartir-nos (als dos professors) una carpeta amb aquest nom: 2324-ASIX-SM3-1rCognom2nCognomNom (Per exemple, si el teu nom és Xavier López Pujol --> 2324-ASIX-SM3-LopezPujolXavier). A aquest enllaç podreu veure si ja hi sou a la llista:

Carpetes compartides del SM3 de 1r d'ASIX. Curs 2023-2024

Estructura de les carpetes:

SM1 (depenent del subgrup)
SM3
  examens
  exercicis
    C
    Python
    Encastats
  perDies
  • Dins de la vostra carpeta compartida, deseu els codis generats a la subcarpeta SM3/exercicis/C. Poseu-hi allà les vostres propostes de solució. Els noms dels arxius seran alg04.c, alg06.c i alg07.c (si hi pugeu versions diferents, les podeu anomenar alg04_00.c, alg04_01.c, ...). També hi pujareu un arxiu en pdf, anomenat alg04_06_07_c.pdf amb les captures de codi més significatives (al principi, potser, serà tot el codi. Però quan els codis es facin més grans tan sols farà falta indicar la part més representativa) i les captures de llur execució. A classe comentem com fer-ho. També cal afegir l'enunciat i una captura del codi en Snap!
  • Dins de la vostra carpeta compartida, deseu els codis generats a la subcarpeta SM3/exercicis/Python. Poseu-hi allà les vostres propostes de solució. Els noms dels arxius seran alg04.py, alg06.py, alg07.py i alg08.py (si hi pugeu versions diferents, les podeu anomenar alg04_00.py, alg04_01.py, ...). També hi pujareu un arxiu en pdf, anomenat alg04_06_07_08_py.pdf amb les captures de codi més significatives (al principi, potser, serà tot el codi. Però quan els codis es facin més grans tan sols farà falta indicar la part més representativa) i les captures de llur execució. A classe comentem com fer-ho. També cal afegir l'enunciat i una captura del codi en Snap!

Contingut

Algunes classes

Enllaços ràpids

Llista de 1r d'ASIX

Compartició de pantalla

20240523 Examen fitxers, estructures i gestió dinàmica de memòria (2h)

Vídeo SO

Examen usuari: asix / contrasenya: asix2324

20240522 (1h)

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

  • Dubtes
  • Fitxers
  • Estructures

20240516 (3h)

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

  • Dubtes
  • Fitxers
  • Estructures

20240515 (1h)

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

  • Dubtes
  • Fitxers
  • Estructures

20240510 (1h)

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

  • Dubtes
  • Fitxers
  • Estructures

20240509 (3h)

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

  • Dubtes
  • Fitxers
  • Estructures

20240508 (1h)

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

  • Dubtes
  • Fitxers
  • Estructures

20240503 (1h)

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

  • Dubtes
  • Fitxers
  • Estructures

20240502 (3h)

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

  • Dubtes
  • Fitxers:

Fitxers en C

Fitxers en Python

20240426 (2h)

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

  • Dubtes
  • Exercicis d'exàmens anteriors
  • Examen usuari: asix / contrasenya: asix2324

20240425 (3h)

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

  • Dubtes
  • Exercicis d'exàmens anteriors

20240424 (1h)

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

  • Dubtes
  • Exercicis d'exàmens anteriors

20240419 (1h)

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

  • Dubtes
  • Exercicis d'exàmens anteriors

20240418 (3h)

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

  • Dubtes
  • Exercicis d'exàmens anteriors

20240417 (1h)

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

  • Dubtes
  • Exercicis d'exàmens anteriors

20240412 (1h)

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

  • Dubtes
  • Exercicis d'exàmens anteriors

20240410 (1h)

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

  • Dubtes
  • Exercicis d'exàmens anteriors

20240405 (1h)

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

  • Exercicis d'exàmens anteriors

20240404 (3h)

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

  • Repàs de l'algorisme d'ordenació de la bombolla
  • Implementació de l'algorisme de la bombolla bidireccional en Python i C
  • Introducció al tkinter
  • Exercicis d'exàmens anteriors

20240403 (1h)

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

- Implementeu les funcions en Python:

n = int(input("nombre d'elements: "))
a = []
for x in range(n):
   a.append(random.randint(-9,9))
vilsualitzaLlista(a)
a = ordenaBombollaBidireccional(a)
vilsualitzaLlista(a)

- Implementeu les funcions en C:

int main(){
   int nValors[N],nQ;
   
   vLlavorAleatorietat();
   nQ = nPregunta("Nombre d'elements",N);
   vEmplenavalorsAleatoris(nValors,nQ,VAL_MIN,VAL_MAX);
   vVisualitzaLlista(nValors,nQ);
   vOrdBombollaBidireccional(nValors,nQ);
   vVisualitzaLlista(nValors,nQ);

   return 0;
}

- Implementeu les funcions en Python:

n = int(input("nombre d'elements: "))
a = []
for x in range(n):
   a.append(random.randint(-9,9))
vilsualitzaLlista(a)
a = ordenaInsercio(a)
vilsualitzaLlista(a)

- Implementeu les funcions en C:

int main(){
   int nValors[N],nQ;
   
   vLlavorAleatorietat();
   nQ = nPregunta("Nombre d'elements",N);
   vEmplenavalorsAleatoris(nValors,nQ,VAL_MIN,VAL_MAX);
   vVisualitzaLlista(nValors,nQ);
   vOrdInsercio(nValors,nQ);
   vVisualitzaLlista(nValors,nQ);

   return 0;
}

20240322 (Concurs de robots)

Concurs de robots ASIX i DAW.

Quadre 2023-2024

20240321 (1h+2h)

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

Algorisme d'ordenació pel mètode de la bombolla (Bubble Sort)

Implementeu les funcions per a fer funcionar aquest programa d'ordenació de la bombolla. (Traducció del programa fet en Python prèviament)

int main(){
   int nValors[N],nQ;
   
   vLlavorAleatorietat();
   nQ = nPregunta("Nombre d'elements",N);
   vEmplenavalorsAleatoris(nValors,nQ,VAL_MIN,VAL_MAX);
   vVisualitzaLlista(nValors,nQ);
   vOrdBombolla(nValors,nQ);
   vVisualitzaLlista(nValors,nQ);

   return 0;
}

20240320 (1h)

Pràctiques amb el robot versió 6

20240315 (1h)

Simulació al Wokwi d'un Arduino fent servir fils (per a ser exactes, quelcom semblant a fils)

Biblioteca ArduinoThread

Seguim amb les Pràctiques amb el robot versió 6

20240314 (3h)

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

Seguim amb teoria de programació.

I quan hi sigui en carles seguim amb les Pràctiques amb el robot versió 6

20240313 (1h)

Pràctiques amb el robot versió 6

20240308 (1h)

Diagrama d'estats per al sumo --> Codis comentats avui a classe usuari: asix / contrasenya: asix2324

Pràctiques amb el robot versió 6

20240307 (3h)

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

Pràctiques amb el robot versió 6

20240301 (1h)

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

Pràctiques amb el robot versió 6

20240229 (3h)

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

Pràctiques amb el robot versió 6

20240228 (1h)

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

Pràctiques amb el robot versió 6

20240223 (1h)

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

[[Pràctiques amb el robot versió 6]

20240222 (3h)

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

Pràctiques amb el robot versió 6

20240221 (1h)

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

Pràctiques amb el robot versió 6

20240216 (1h)

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

Pràctiques amb el robot versió 6

20240215 (3h)

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

Pràctiques Arduino sobre placa S4A i Snap4Arduino - 1a part

Pràctiques Arduino sobre placa S4A i Snap4Arduino - 2a part

Pràctiques amb el robot versió 6

20240214 (1h)

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

Pràctiques Arduino sobre placa S4A i Snap4Arduino - 1a part

Pràctiques Arduino sobre placa S4A i Snap4Arduino - 2a part

Pràctiques amb el robot versió 6

20240209 (1h)

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

Pràctiques Arduino sobre placa S4A i Snap4Arduino - 1a part

Pràctiques Arduino sobre placa S4A i Snap4Arduino - 2a part

Pràctiques amb el robot versió 6

20240208 (1h + 2h)

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

Pràctiques Arduino sobre placa S4A i Snap4Arduino - 1a part

Pràctiques Arduino sobre placa S4A i Snap4Arduino - 2a part

Pràctiques amb el robot versió 6

20240207 (1h)

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

Pràctiques Arduino sobre placa S4A i Snap4Arduino - 1a part

Pràctiques Arduino sobre placa S4A i Snap4Arduino - 2a part

Pràctiques amb el robot versió 6

20240202 (1h)

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

Pràctiques Arduino sobre placa S4A i Snap4Arduino - 1a part

Pràctiques Arduino sobre placa S4A i Snap4Arduino - 2a part

Pràctiques amb el robot versió 6

20240201 (1h + 2h)

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

Pràctiques Arduino sobre placa S4A i Snap4Arduino - 1a part

Pràctiques Arduino sobre placa S4A i Snap4Arduino - 2a part

Pràctiques amb el robot versió 6

20240129 (1h)

Pas per referència

20240126 (1h)

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

Pas per referència

Pràctiques Arduino sobre placa S4A i Snap4Arduino - 1a part

Pràctiques Arduino sobre placa S4A i Snap4Arduino - 2a part

Pràctiques amb el robot versió 6

20240125 (2h)

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

Pràctiques Arduino sobre placa S4A i Snap4Arduino - 1a part

Pràctiques Arduino sobre placa S4A i Snap4Arduino - 2a part

Pràctiques amb el robot versió 6

20240124 (1h)

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

Pràctiques Arduino sobre placa S4A i Snap4Arduino - 1a part

Pràctiques Arduino sobre placa S4A i Snap4Arduino - 2a part

Pràctiques amb el robot versió 6

20240119 (1h)

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

20240118 (1h + 2h)

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

  • millis()

20240117 (1h)

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

Operadors: ! (negació a nivell de variable), ~ (negació a nivell de bit), & (operació lògica i) i | (operació lògica o)

Visualització pel monitor sèrie de forma decimal (Serial.println(n,DEC)) i hexadecimal (Serial.print(n,HEX)).

 byte by = 0x00;

 by |= (bBotoPremut(BOTO_A4))? 0x08:0x00;
 by |= (bBotoPremut(BOTO_A5))? 0x04:0x00;
 by |= (bBotoPremut(BOTO_3))? 0x02:0x00;
 by |= (bBotoPremut(BOTO_2))? 0x01:0x00;
 Serial.print("Hexadecimal: 0x0");
 Serial.println(by,HEX);
 Serial.print("Binari: 0b");
 Serial.println(by,BIN);
 Serial.print("Decimal: ");
 Serial.println(by,DEC);
 Serial.print("Octal: 0"); // 0 at the beginning: https://learn.adafruit.com/deciphering-strange-arduino-code/octal
 Serial.println(by,OCT);
 Serial.print("Binari negat bit a bit: 0b");
 Serial.println(~by,BIN); // 4 bytes
 Serial.print("Binari negat bit a bit: 0b");
 Serial.println((byte)~by,BIN); // byte: limitem a 8 el nombre d'1s i 0s
 Serial.print("Binari negat a nivell de byte: 0b");
 Serial.println((byte)!by,BIN); // byte: limitem a 8 el nombre d'1s i 0s
 Serial.print("Hexadecimal negat bit a bit: 0x0");
 Serial.println(~by,HEX);
 Serial.print("Hexadecimal negat a nivell de byte: 0x");
 Serial.println(!by,HEX); // 4 bytes
 Serial.println((byte)!by,HEX); // 1 byte

Uns i zeros mitjançant selector (Simulat emprant TinkerCad)

Pràctiques Arduino sobre placa S4A i Snap4Arduino - 1a part

Pràctiques Arduino sobre placa S4A i Snap4Arduino - 2a part

20240112 (1h)

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

Pràctiques Arduino sobre placa S4A i Snap4Arduino - 1a part

20240111 (1h + 2h)

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

  • Monitor sèrie (Serial Monitor)
  • Repàs del dia anterior:

- Serial.begin()

- Serial.println()

Serial.println(__FILE__);

- Serial.print()

- Serial.read()

  • Alguns exemples:

Potenciòmetre controlant la posició d'un servo emprant Arduino Uno

Exemple de control de 31 servos

Exemple emprant un mesurador d'ultrasons

Un altre exemple emprant ultrasons

Visualització gràfica d'inclinacions i acceleracions. Arduino Uno + MPU6050 al Wokwi

Pantalla OLED

20240110 (1h)

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

Introducció a Arduino

Serial.println(__FILE__);


Pràctiques Arduino sobre placa S4A i Snap4Arduino - 1a part

20231220 (2h + 1h)

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

Introducció a Arduino

Simulació dels 4 leds i 4 botons de la placa S4A

Simulació dels 4 leds i 4 botons de la placa S4A, permetent prémer més d'un botó alhora

Pràctiques Arduino sobre placa S4A i Snap4Arduino - 1a part

20231215 (1h)

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

Seguim amb els temes pendents d'ahir.

20231214 (1h + 2h)

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

Exercicis de recursivitat. (m4p01.c, m4p02.c, m4e1.c, m4e2.c i m4e2.py)

La depuració en C emprant gdb

Separació d'arxius en Python

crida01.py:

# crida01.py

def nLaTevaEdat():
   return int(input("La teva edat: "))

if __name__ == "__main__":
   print("Dius tenir %d anys"%nLaTevaEdat())

principal.py:

# principal.py
import crida01

nEdat = crida01.nLaTevaEdat()
print("Heu dit que teniu %d anys"%nEdat)

principal02.py:

# principal02.py
from crida01 import nLaTevaEdat

nEdat = nLaTevaEdat()
print("Heu dit que teniu %d anys"%nEdat)

principal03.py:

# principal03.py
from crida01 import nLaTevaEdat as nIntroEdat

nEdat = nIntroEdat()
print("Heu dit que teniu %d anys"%nEdat)

Separació d'arxius en C

Exemple de separació d'arxius en C

20231213 (1h)

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

Exercicis d'algorísmica alg01 (en Python) i alg07 (en Python i C). (Exercicis bàsics de pesudocodi)

20231201 (1h)

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

Afegir elements a una llista en Python

20231124 (1h)

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

Seguim amb nombres aleatoris.

Exercicis d'estructures de control repetitives en Python

20231123 (1h + 2h)

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

Seguim amb nombres aleatoris.

20231122 (1h)

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

Nombres aleatoris.

20231117 (1h)

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

20231116 (1h + 2h)

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

20231115 (1h)

Codis comentats avui a classe usuari: daw / contrasenya: asix2324

20231110 (1h)

Codis comentats avui a classe usuari: daw / contrasenya: asix2324

20231109 (1h + 2h)

Codis comentats avui a classe usuari: daw / contrasenya: daw2324

El proceso de búsqueda de empleo | Flipped FOL: Búsqueda de empleo y relaciones laborales (Suplència Sandra)

20231108 (1h)

Codis comentats avui a classe usuari: daw / contrasenya: daw2324

Exercicis de condicions en Python

Exercicis d'estructures de control repetitives en Python

20231103 (1h)

Codis comentats avui a classe usuari: daw / contrasenya: daw2324

20231102 (1h + 2h)

Codis comentats avui a classe usuari: daw / contrasenya: daw2324

20231027 (1h)

Codis comentats avui a classe usuari: daw / contrasenya: daw2324

Condicionals amb Python

20231026 (1h + 2h)

Codis comentats avui a classe usuari: daw / contrasenya: daw2324

EAC02

Feu un programa en llenguatge C i Python que demani un valor en graus Fahrenheit i els converteixi a graus Kelvin.

K = (F − 32) × 5 ⁄ 9 + 273.15 (recordeu quan posavem 1./2)

Dins del programa, a la primera línia comentada posa el teu nom i cognoms.

El fitxer que m'enviaràs ( carles[punt]olive[arrova]fje[punt]edu) en C es dirà EAC02-ASIX-cognom_nom.c i en Python EAC02-ASIX-cognom_nom.py.txt.

20231025 (1h)

Codis comentats avui a classe usuari: daw / contrasenya: daw2324

  • Canvieu m2p08.c a un m2p08.c emprant l'estil fet servir classe.
  • Traduïu m2p08.c a m2p08.py

Seguim amb les funcions.

20231020 (1h)

Seguim amb la introducció a les funcions.

20231019 (1h + 2h)

Seguim amb la introducció a les funcions.

20231018 (1h)

Introducció a les funcions.

20231011 (1h)

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

Mirem la pràctica de generació de la lletra del DNI/NIF i seguim fent exercicis.

20231006 (1h)

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

20231005 (1h + 2h)

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

Fem m1e6 i m1e7 en Python i C.

20231004 (1h)

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

Hem fet m1e5.py i m1e5.c

20230929 (1h)

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

Explicació de com implementar potències (funció pow) per a poder resoldre l'exercici m1e5

20230928 (1h + 2h)

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

Fets els exercicis m1e3 i m1e4 en C i Python

20230927 (1h)

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

20230922 (1h)

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

20230921 (1h+2h)

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

20230920 (1h)

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

Compilador / intèrpret en línia onlinegdb.com

Snap!

Snap!

Python

Instal·lador de Python per a Windows

Convertidor de blocs a Python

Pràctiques d'introducció a Python

C

Instal·lador de C per a Windows

Using GCC with MinGW

Fonaments de programació en C

IDE

Visual Studio Code

Geany

Compilador / intèrpret en línia onlinegdb.com

Repositori de codis fet a classe durant el curs

Codis fets a les classes de 1r de DAW usuari: daw / contrasenya: daw2324

Algorísmica

Exercicis bàsics de pesudocodi - Ex01

Python

Pràctiques d'introducció a Python

Condicionals en Python

Condicionals amb Python

Exercicis de condicions en Python

Estructures repetitives, o bucles, en Python

Estructures repetitives, o bucles, en Python

Exercicis d'estructures de control repetitives en Python

Instal·lació del Jupyter Lab

Prova de Jupyter via web externa

Instal·lació de Jupyter Lab a la màquina virtual GNU/Linux. Des del terminal:

$ su -
# apt update
# apt install python3-pip
# exit
$ pip --version
$ pip install jupyterlab
$ pip install jupyter-c-kernel

Sortiu de la sessió i torneu-hi a entrar. Seguiu amb aquestes ordres:

$ install_c_kernel --user
$ jupyter kernelspec list

Un cop instal·lat s'executa des del terminal:

$ jupyter-lab

I apareix el navegador web amb el Jupyter Lab.

C

Fonaments de programació en C

Eines en línia

Recull de codis fets a classe usuari / contrasenya : asix / asix2122

Disseny de diagrames de flux en línia

Snap! o Snap! personalitzat

Compilador / intèrpret en línia onlinegdb.com

Arduino Blocks

MinGW - Compilador de C per a Windows

Vídeo de particions en línia d'ordres

EduBlocks