This shows you the differences between two versions of the page.
|
iothings:laboratoare:lab5 [2022/04/06 16:37] cosmin.chenaru [Exerciții] |
iothings:laboratoare:lab5 [2022/04/06 19:35] (current) cosmin.chenaru [Exerciții] |
||
|---|---|---|---|
| Line 37: | Line 37: | ||
| Urmăriți [[https://randomnerdtutorials.com/esp32-esp8266-micropython-web-server|acest]] tutorial pentru a porni un server web. Testați conexiunea din browser și aprindeți led-ul din pagina web. | Urmăriți [[https://randomnerdtutorials.com/esp32-esp8266-micropython-web-server|acest]] tutorial pentru a porni un server web. Testați conexiunea din browser și aprindeți led-ul din pagina web. | ||
| - | {{:iothings:laboratoare:lab5-web-server.jpg?300|}} | + | <note> |
| + | Tutorialul din link-ul de mai sus folosește aplicația uPyCraft, dar noi vom folosi tot aplicația Tonny. | ||
| + | </note> | ||
| + | |||
| + | {{:iothings:laboratoare:lab5-web-server-2.png?300|}} | ||
| + | |||
| + | === Ex. 3 - Simularea unei intreruperi === | ||
| + | |||
| + | Folosiți programul de mai jos pentru a "asculta" interuperi pe PIN-ul 23. | ||
| + | |||
| + | <code> | ||
| + | from machine import Pin | ||
| + | from time import sleep | ||
| + | |||
| + | shortCircuit = False | ||
| + | |||
| + | def handle_interrupt(pin): | ||
| + | global shortCircuit | ||
| + | shortCircuit = True | ||
| + | print("Interrupt") | ||
| + | |||
| + | led = Pin(2, Pin.OUT) | ||
| + | |||
| + | # Setting a ping on 3.3 volts | ||
| + | highVoltagePin = Pin(22, Pin.OUT) | ||
| + | highVoltagePin.value(1) | ||
| + | |||
| + | # This pin should receive 3.3 volts to trigger an interrupt | ||
| + | pir = Pin(23, Pin.IN) | ||
| + | |||
| + | pir.irq(trigger=Pin.IRQ_RISING, handler=handle_interrupt) | ||
| + | |||
| + | while True: | ||
| + | if shortCircuit: | ||
| + | led.value(1) | ||
| + | sleep(1) | ||
| + | led.value(0) | ||
| + | print('Interrupt stopped!') | ||
| + | shortCircuit = False | ||
| + | </code> | ||
| + | |||
| + | Din cauza lipsei unui device fizic care să livreze o întrerupere, vom pune PIN-ul 22 pe 1 logic (3.3 volți) iar cu ajutorul unui pix vom scurt-circuita PIN-ul 23. | ||
| + | |||
| + | {{:iothings:laboratoare:lab5-scurt-circuit.jpg?300|}} | ||
| + | |||
| + | Dacă nu merge cu un pix, puteți încerca cu partea de grafit dintr-un creion mecanic. | ||
| + | |||
| + | {{:iothings:laboratoare:lab5-scurt-circuit-grafit.jpg|}} | ||
| + | |||
| + | Sau in cel mai ne-ingineresc caz, cu o furculiță :). | ||
| ===== Resurse ===== | ===== Resurse ===== | ||
| * https://randomnerdtutorials.com/getting-started-thonny-micropython-python-ide-esp32-esp8266/ | * https://randomnerdtutorials.com/getting-started-thonny-micropython-python-ide-esp32-esp8266/ | ||
| * https://randomnerdtutorials.com/micropython-programming-basics-esp32-esp8266/ | * https://randomnerdtutorials.com/micropython-programming-basics-esp32-esp8266/ | ||