
Menggambarkan diagram logika kontrol berbasis ESP32 bernama "servo-kanan-kiri-lampu". Sistem ini dikembangkan dari versi sebelumnya dengan menambahkan fitur kontrol dua indikator lampu fisik via pin digital.
Komponen Tambahan & Perubahan Utama
Target Board: Menggunakan ESP32 DevKit (sebelumnya Arduino Nano).
Ukuran Langkah Counter (step: 180): Berbeda dari versi sebelumnya (45°), step diubah menjadi 180°. Servo akan bergerak langsung secara instant dari 0° ke 180° (sekali jepret/lompat).
Indikator Lampu LED (Digital Out Pin 32 & Pin 33):
Pin 32 (LED Arah Kanan): Menyala (HIGH) saat sakelar boolean bernilai 1/TRUE.
Pin 33 (LED Arah Kiri): Menyala (HIGH) saat sakelar boolean bernilai 0/FALSE (melalui gerbang logicNot).
Constant Node (value: true): Memberikan sinyal aktif terus-menerus ke gerbang logika jalur lampu.
Cara Kerja Sistem
Pengendalian Servo & Display:
Sakelar Boolean = TRUE: Pulsa dari Square Wave memicu pin UP pada Counter, melompatkan posisi servo (Pin 13), Gauge, dan Light Bulb langsung ke 180°.
Sakelar Boolean = FALSE: Pulsa dialirkan ke pin DOWN, mengembalikan posisi ke 0°.
Push Button: Berfungsi mereset nilai counter kembali ke titik dasar 0°.
Pengendalian Lampu Indikator:
Saat sakelar bergerak ke Kanan (TRUE), jalur logika bawah mengaktifkan Digital Out Pin 32 (Lampu Kanan ON) dan mematikan Pin 33.
Saat sakelar beralih ke Kiri (FALSE), logika kebalikannya berlaku sehingga Digital Out Pin 33 aktif (Lampu Kiri ON) dan Pin 32 mati.
jelaskan = > {
"name": "servo-kanan-kiri-lampu",
"board": "esp32",
"nodes": [
{
"id": "bulb-1778401238621",
"type": "bulb",
"position": {
"x": 793.4871240943944,
"y": 230.7222598872701
},
"data": {
"value": 180,
"pin": "0",
"minimized": false
},
"measured": {
"width": 160,
"height": 148
},
"selected": false,
"dragging": false
},
{
"id": "servo-1784567524990",
"type": "servo",
"position": {
"x": 797.9147949457339,
"y": 8.17791248217543
},
"data": {
"value": 180,
"pin": "13",
"lastWritten": 180
},
"measured": {
"width": 168,
"height": 161
},
"selected": false,
"dragging": false
},
{
"id": "counter-1784567531786",
"type": "counter",
"position": {
"x": 354.92924395947404,
"y": -73.39885845496778
},
"data": {
"value": 180,
"step": 180,
"resetVal": 0,
"minVal": 0,
"maxVal": 180,
"pin": "0",
"lastUp": false,
"lastDown": false,
"lastReset": false
},
"measured": {
"width": 334,
"height": 304
},
"selected": false,
"dragging": false
},
{
"id": "squareWave-1784567550529",
"type": "squareWave",
"position": {
"x": -425.64838515651775,
"y": -12.457182776514372
},
"data": {
"value": 0,
"pin": "0",
"frequency": 0.5
},
"measured": {
"width": 183,
"height": 176
},
"selected": false,
"dragging": false
},
{
"id": "logicAnd-1784567627934",
"type": "logicAnd",
"position": {
"x": -11.619241423633056,
"y": -28.704655494110973
},
"data": {
"value": false,
"pin": "0"
},
"measured": {
"width": 160,
"height": 165
},
"selected": false,
"dragging": false
},
{
"id": "boolean-1784567643246",
"type": "boolean",
"position": {
"x": -440.1753827651426,
"y": 224.51032514053523
},
"data": {
"value": 1,
"pin": "0",
"disabled": false
},
"measured": {
"width": 180,
"height": 119
},
"selected": false,
"dragging": false
},
{
"id": "logicAnd-1784567652206",
"type": "logicAnd",
"position": {
"x": 105.27692553771392,
"y": 207.7272045536731
},
"data": {
"value": false,
"pin": "0"
},
"measured": {
"width": 160,
"height": 165
},
"selected": false,
"dragging": false
},
{
"id": "logicNot-1784567711706",
"type": "logicNot",
"position": {
"x": -127.89356269449381,
"y": 290.07635623358306
},
"data": {
"value": false,
"pin": "0"
},
"measured": {
"width": 160,
"height": 129
},
"selected": false,
"dragging": false
},
{
"id": "serialLog-1784567735471",
"type": "serialLog",
"position": {
"x": 795.5940367584082,
"y": 425.53595044866324
},
"data": {
"value": 180,
"pin": "0"
},
"measured": {
"width": 172,
"height": 125
},
"selected": false,
"dragging": false
},
{
"id": "pushButton-1784567745606",
"type": "pushButton",
"position": {
"x": 47.5874445360199,
"y": 432.3747508273558
},
"data": {
"value": 0,
"pin": "0"
},
"measured": {
"width": 160,
"height": 164
},
"selected": false,
"dragging": false
},
{
"id": "gauge-1784568026042",
"type": "gauge",
"position": {
"x": 364.2780833655803,
"y": 296.0967045414188
},
"data": {
"value": 180,
"pin": "0",
"max": 180
},
"measured": {
"width": 326,
"height": 294
},
"selected": false
},
{
"id": "digitalWrite-1786161242680",
"type": "digitalWrite",
"position": {
"x": -448.2374464868661,
"y": 698.8609556358684
},
"data": {
"value": true,
"pin": "32",
"lastStateKey": "32-true-undefined"
},
"measured": {
"width": 167,
"height": 164
},
"selected": false,
"dragging": false
},
{
"id": "digitalWrite-1786161375328",
"type": "digitalWrite",
"position": {
"x": -192.34551242030278,
"y": 704.28901865217
},
"data": {
"value": false,
"pin": "33",
"lastStateKey": "33-false-undefined"
},
"measured": {
"width": 167,
"height": 164
},
"selected": false,
"dragging": false
},
{
"id": "logicAnd-1786161486394",
"type": "logicAnd",
"position": {
"x": -449.71552287273647,
"y": 491.840333753031
},
"data": {
"value": true,
"pin": "0"
},
"measured": {
"width": 160,
"height": 165
},
"selected": false,
"dragging": false
},
{
"id": "logicAnd-1786161502331",
"type": "logicAnd",
"position": {
"x": -201.75026842126596,
"y": 481.7121983158029
},
"data": {
"value": false,
"pin": "0"
},
"measured": {
"width": 160,
"height": 165
},
"selected": false,
"dragging": false
},
{
"id": "constant-1786161553081",
"type": "constant",
"position": {
"x": -711.0668780889038,
"y": 505.5566005980557
},
"data": {
"value": true,
"pin": "0"
},
"measured": {
"width": 160,
"height": 106
},
"selected": false,
"dragging": false
}
],
"edges": [
{
"source": "counter-1784567531786",
"sourceHandle": "default",
"target": "servo-1784567524990",
"targetHandle": "default",
"id": "xy-edge__counter-1784567531786default-servo-1784567524990default"
},
{
"source": "counter-1784567531786",
"sourceHandle": "default",
"target": "bulb-1778401238621",
"targetHandle": "default",
"id": "xy-edge__counter-1784567531786default-bulb-1778401238621default"
},
{
"source": "squareWave-1784567550529",
"sourceHandle": "default",
"target": "logicAnd-1784567627934",
"targetHandle": "in1",
"id": "xy-edge__squareWave-1784567550529default-logicAnd-1784567627934in1"
},
{
"source": "boolean-1784567643246",
"sourceHandle": "default",
"target": "logicAnd-1784567627934",
"targetHandle": "in2",
"id": "xy-edge__boolean-1784567643246default-logicAnd-1784567627934in2"
},
{
"source": "squareWave-1784567550529",
"sourceHandle": "default",
"target": "logicAnd-1784567652206",
"targetHandle": "in1",
"id": "xy-edge__squareWave-1784567550529default-logicAnd-1784567652206in1"
},
{
"source": "logicAnd-1784567627934",
"sourceHandle": "default",
"target": "counter-1784567531786",
"targetHandle": "up",
"id": "xy-edge__logicAnd-1784567627934default-counter-1784567531786up"
},
{
"source": "logicAnd-1784567652206",
"sourceHandle": "default",
"target": "counter-1784567531786",
"targetHandle": "down",
"id": "xy-edge__logicAnd-1784567652206default-counter-1784567531786down"
},
{
"source": "boolean-1784567643246",
"sourceHandle": "default",
"target": "logicNot-1784567711706",
"targetHandle": "in1",
"id": "xy-edge__boolean-1784567643246default-logicNot-1784567711706in1"
},
{
"source": "logicNot-1784567711706",
"sourceHandle": "default",
"target": "logicAnd-1784567652206",
"targetHandle": "in2",
"id": "xy-edge__logicNot-1784567711706default-logicAnd-1784567652206in2"
},
{
"source": "counter-1784567531786",
"sourceHandle": "default",
"target": "serialLog-1784567735471",
"targetHandle": "default",
"id": "xy-edge__counter-1784567531786default-serialLog-1784567735471default"
},
{
"source": "pushButton-1784567745606",
"sourceHandle": "default",
"target": "counter-1784567531786",
"targetHandle": "reset",
"id": "xy-edge__pushButton-1784567745606default-counter-1784567531786reset"
},
{
"source": "counter-1784567531786",
"sourceHandle": "default",
"target": "gauge-1784568026042",
"targetHandle": "default",
"id": "xy-edge__counter-1784567531786default-gauge-1784568026042default"
},
{
"source": "logicAnd-1786161486394",
"sourceHandle": "default",
"target": "digitalWrite-1786161242680",
"targetHandle": "default",
"id": "xy-edge__logicAnd-1786161486394default-digitalWrite-1786161242680default"
},
{
"source": "logicAnd-1786161502331",
"sourceHandle": "default",
"target": "digitalWrite-1786161375328",
"targetHandle": "default",
"id": "xy-edge__logicAnd-1786161502331default-digitalWrite-1786161375328default"
},
{
"source": "boolean-1784567643246",
"sourceHandle": "default",
"target": "logicAnd-1786161486394",
"targetHandle": "in1",
"id": "xy-edge__boolean-1784567643246default-logicAnd-1786161486394in1"
},
{
"source": "logicNot-1784567711706",
"sourceHandle": "default",
"target": "logicAnd-1786161502331",
"targetHandle": "in1",
"id": "xy-edge__logicNot-1784567711706default-logicAnd-1786161502331in1"
},
{
"source": "constant-1786161553081",
"sourceHandle": "default",
"target": "logicAnd-1786161486394",
"targetHandle": "in2",
"id": "xy-edge__constant-1786161553081default-logicAnd-1786161486394in2"
},
{
"source": "constant-1786161553081",
"sourceHandle": "default",
"target": "logicAnd-1786161502331",
"targetHandle": "in2",
"id": "xy-edge__constant-1786161553081default-logicAnd-1786161502331in2"
}
]
}
Buka Arduflow IDE sekarang dan implementasikan logika program di atas tanpa ribet!